浅谈Java GC机制
来源:互联网 发布:无间道天台对白 知乎 编辑:程序博客网 时间:2024/05/21 14:54
Java不像C语言那样需要开发者自己去控制内存的释放,主要是因为Java 的GC 机制,先来了解下什么是gc.
Java GC机制:垃圾回收机制,主要是jvm对堆的管理,jvm将堆内存分为两个区域。
一个是young区:包括 一个endon区,两个survivor区(其中一个永远为空)。另一个是old区。生成对象时,先存入young区(容量=endon+一个survivor),满着存入old,发生GC时先扫描endon,将存活的对象放入其中的一个survivor区中,若这个survivor区满,则将对象放到另一个survivor区内,然后扫描满的survivor将存活的复制到另一个survivor区,然后将这个满的清空,保证一个survivor为空的状态。如果一个对象经过多次扫面依然存活则放入old区,至于这个多次为多少,我记得好像是16次,并不是固定的,可以更改。
发生 GC 的时机:jvm是通过引用计数的方式进行可达性分析,若不可达则清空。
1.当没有线程访问实例
Such: Object a= new Object(); 1次
Object b = a; 2次
b=null; 1次
a=null; 0次此时jvm可以清除这个实例的内存
2.实例循环引用
Such :class Node {
Node next;
}
Node a = new Node();
Node b = new Node();
a. next = b;
b. next = a;
放生循环引用也可以清除该内存
0 0
- 浅谈Java GC机制
- 浅谈Jvm GC机制
- Java GC浅谈
- Java的GC机制
- java GC机制
- java GC机制2
- Java的GC机制
- Java的GC机制
- Java gc机制
- Java的GC机制
- Java gc机制
- JAVA中的GC机制
- Java的GC机制
- Java GC机制
- JAVA GC机制
- Java中GC机制
- Java的GC机制
- java回收机制gc
- MYSQL查询优化:管理员的优化措施
- js之DOM操作中获取属性方法
- cf C. A Problem about Polyline (数学题)
- (八) HTTP/2的各种帧定义
- 解决maven不能打包的问题
- 浅谈Java GC机制
- jquery中$.cookie用法详细解析【转】
- Js 生成条形码(一维码)
- Andoird编译系统分析(一)
- uboot makefile 之make
- 【经典算法】:判断一个字符串是不是标志符的算法实现
- 我也提一个关于递归的问题,代码简单,不绕,希望一起讨论一下~
- 火云开发课堂 - 《Shader从入门到精通》系列 第一节:Shader介绍与工程搭建
- 学习ios第八天 番外篇 《c语言小游戏 推箱子的实现》