首页 > 编程语言 > 详细

Java基础知识

时间:2019-10-16 19:40:21      阅读:58      评论:0      收藏:0      [点我收藏+]

一、Java基础

1. HashMap和Hashtable有什么区别

 

二、JVM

1. GC的回收策略,一般什么时候会发生GC?如何处理?

频繁收集年轻代(Eden区 Survivor From区 Survivor To区),Minor GC

较少收集老年代,Full GC

基本不动元空间(jdk 1.8)

Java中的GC回有两种回收:年轻代的Minor GC,老年代的Full GC;新对象创建时如果Eden区不足会触MinorGC如果老年代的内存空间不足会触发FullGC,如果空间都不足抛出OutOfMemoryError 

2. GC的三种收集方法:标记清除、标记整理、复制算法的原理特点

内存效率:复制算法>标记清除算法>标记整理算法
内存整齐度:复制算法=标记整理算法>标记清除算法
内存利用率:标记整理算法=标记清除算法>复制算法

3. Minor GC运行的很频繁可能是什么原因引起的?Minor GC运行的很慢有可能是什么原因引起的?

1、 产生了太多朝生夕灭的对象导致需要频繁Minor GC

2、 新生代空间设置的比较小

 

1、 新生代空间设置过大

2、 对象引用链较长,进行可达性分析时间较长

3、 新生代survivor区设置的比较小,清理后剩余的对象不能装进去需要移动到老年代,造成移动开销

4、 内存分配担保失败,由Minor GC转化为Full GC

5、 采用的垃圾收集器效率较低,比如新生代使用serial收集器



Java基础知识

原文:https://www.cnblogs.com/ningff/p/11687749.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!