首先要知道 Stop the world的含义(网易面试):不管选择哪种GC算法,stop-the-world都是不可避免的.Stop-the-world意味着从应用中停下来并进入到GC执行过程中去.一旦Stop-the-world发生,除了GC所需的线程外,其他线程都将停止工作,中断了的线程直到GC任务结束才继续它们的任务.GC调优通常就是为了改善stop-the-world的时间 CMS收集器是一种以获取最短回收停顿时间为目标的收集器,CMS收集器是基于“”标记--清除”(Mark-Swee…
堆中存放着几乎所有的对象实例,垃圾收集器在堆堆进行回收前,首先要确定这些对象哪些还“活着”,哪些已经“死去”.方法有如下两种: (1)引用计数法 算法思想:为对象添加一个引用计数器,每当有一个地方引用该对象时,则该引用计数器值加1,:当引用失效时,则该引用计数器值减1:最后,计数器为0的对象就是不可能再被使用的,也即所谓的“死去”的对象. Java中并没有使用这种算法进行GC,最主要的原因是很难解决对象之间的相互循环引用的问题.如下代码: public class TestReferenceCo…
1.对象的创建 A a = new A() A:引用的类型 a::引用的名称 new A():创建一个A类对象 当创建一个对象时,具体创建过程是什么呢? (1)JVM遇到new的字节码指令后,检查类是否被加载,否,进行类加载 (2)检查加载通过后,对新创建的对象在堆中分配内存 (3)将分配的内存空间进行初始化为0值 (4)设置对象头的信息,将对象的所属类(即类的元数据信息).对象的HashCode.对象的GC信息.锁信息等数据存储在对象头中 (5)调用对象的构造方法进行初始化 2.对象内存的分…