随笔分类 - JVM
摘要:1.7中有永久代,1.8中取消了永久代,取而代之的是元数据区。
阅读全文
posted @ 2021-04-07 17:06
gaopengpy
摘要:对老年代触发垃圾回收的时机,一般就是两个: 要不然是在Minor GC之前,一通检查发现很可能Minor GC之后要进入老年代的对象太多了,老年代放不下,此时需要提前触发Full GC然后再带着进行Minor GC; 要不然是在Minor GC之后,发现剩余对象太多放入老年代都放不下了。 那么对老年
阅读全文
posted @ 2020-07-07 11:37
gaopengpy
摘要:Young GC的触发时机:Young GC其实一般就是在新生代的Eden区域满了之后就会触发,采用复制算法来回收新生代的垃圾。 Full GC的触发时机如下: (1)发生Young GC之前进行检查,如果“老年代可用的连续内存空间” < “新生代历次Young GC后升入老年代的对象总和的平均大小
阅读全文
posted @ 2020-04-03 17:45
gaopengpy
摘要:为什么JVM要采用双亲委派机制加载类呢? 任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间。 也就是说,判断2个类是否“相等”,只有在这2个类是由同一个类加载器加载的前提下才有意义,否则即使这2个类来源于同一个Class
阅读全文
posted @ 2020-01-16 21:32
gaopengpy
摘要:堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 JVM中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。 这样划分的目的是为了使
阅读全文
posted @ 2020-01-11 17:50
gaopengpy
摘要:备注: 1.超大对象是指对象大小大于Eden+S0 2.新生代采用复制算法进行垃圾回收 3.老年代采用标记压缩算法进行垃圾回收
阅读全文
posted @ 2020-01-11 16:51
gaopengpy
摘要:JAVA虚拟机加载类是采用双亲委派加载机制加载。 双亲委派模型 模型如下图: 双亲委派模型中除了启动类加载器之外其余都需要有自己的父类加载器。 当一个类收到了类加载请求时: 自己不会首先加载,而是委派给父加载器进行加载,每个层次的加载器都是这样。 所以最终每个加载请求都会经过启动类加载器。只有当父类
阅读全文
posted @ 2020-01-06 11:38
gaopengpy

浙公网安备 33010602011771号