![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
KISSING_MONSTER
朱元璋曾说,一个人最宝贵的能力,就是低谷时的涅槃重生。雪压枝头低,虽低不着泥。一朝红日出,依旧与天齐。
展开
-
JVM中的垃圾回收机制
垃圾回收机制是什么我就不多说了。确定垃圾的方式有两种:引用计数法:引用计数法是给每个对象设置计数器。有一个地方引用他,那么这个计数器+1,引用失效计数器-1,当计数器为0,说明对象变成了‘垃圾’,在下次扫描标记的时候会进行回收。 该算法有一个缺陷,就是循环引用问题,也可以说是相互引用,这时GC无法进行回收。 可达性算法:怎么来分析每个对象的可达性呢?原因在于程序中new对象的时候,GC就开始监控对象的地址和大小。他采用的是有向图的方式来管理对象,那么就可以通过图的连通性来分析对象是否可达。图的起始原创 2020-10-12 16:34:21 · 71 阅读 · 0 评论 -
JVM内存区域
首先从GC角度来分: 新生代、老年代和永久代。从私有和共享来分: 共享:堆、方法区 私有:虚拟机栈、本地方法栈和程序计数器(寄存器)。堆中存放数组和对象,是GC的回收重要区域。 方法区中存放类信息、常量、静态变量和即时编译器编译后的代码。以及运行时常量池:编译期生成的字面量和符号引用。 虚拟机栈中每一个栈帧代表一个方法,一个方法的开始和结束则等同于着入栈和出栈。 其中栈帧中包含了这个方法的局部变量表、操作数栈、动态链接和方法出口。 程序计数器是当前线程所执...原创 2020-10-12 13:45:05 · 66 阅读 · 0 评论