JVM
Java虚拟机技术
SvenAugustus
路漫漫其修远兮,吾将上下而求索。
展开
-
JVM 对象分配过程
对象分配过程1)依据逃逸分析,判断是否能栈上分配?如果可以,使用标量替换方式,把对象分配到VM Stack中。如果 线程销毁或方法调用结束后,自动销毁,不需要 GC 回收器 介入。否则,继续下一步。2)判断是否大对象?如果是,直接分配到堆上 Old Generation 老年代上。如果对象变为垃圾后,由老年代GC 收集器(比如 Parallel Old, CMS, G1)回收。...原创 2020-05-03 20:04:35 · 1098 阅读 · 0 评论 -
JVM G1(Garbage-First Garbage Collector)收集器全过程剖析
G1垃圾收集器的设计原则是“首先收集尽可能多的垃圾(Garbage First)”,目标是为了尽量缩短处理超大堆(超过4GB)产生的停顿。因此,G1并不会等内存耗尽(比如Serial 串行收集器、Parallel并行收集器 )者快耗尽(CMS)的时候才开始垃圾回收,而是在内部采用了启发式算法,在老年代中找出具有高收集收益的分区(Region)进行收集。同时 G1 可以根据用户设置的STW(S...原创 2020-05-03 18:19:42 · 697 阅读 · 0 评论