JVM
「已注销」
这个作者很懒,什么都没留下…
展开
-
类加载和类的实例化
首先举个例子 public class Test { public static void main(String[] args) { Son son = new Son(); Son son1 = new Son(); System.out.println("end"); } } Son类中的构造器大家就随便写。很好奇为什么我会写这样一份代码。 在第三行和第四行分别打上断点,然后在idea中使用force step into,看看在两个ne原创 2020-11-18 21:30:09 · 243 阅读 · 0 评论 -
JVM 中一次完整的 GC 流程是什么样子的,对象如何晋升到老年代,
一次完整的gc过程 gc的通过垃圾收集器来实现的,现代垃圾收集器大部分都是基于分代收集理论设计的,也就是将对象划分为新生代,老年代。其中新生代分为Eden区和两块Survivor区,比例为8:1:1。 每次分配内存都只会使用Eden区和一块Survivor区,对象默认是放在Eden区,但是如果对象太大了,Eden区放不下,那么就会放入到老年代中,当发生gc时,就会把存活对象放到另一块Survivor上,如果这块survivor区不够,那么依赖老年代进行担保,假设这块为s0区,另一块是s1区。下一次Eden区原创 2020-11-14 11:27:21 · 22940 阅读 · 0 评论