深入理解java虚拟机(二)
来源:互联网 发布:sqoop mysql导入hbase 编辑:程序博客网 时间:2024/05/18 03:58
垃圾收集器与内存分配策略
哪些内存需要回收?
1、判断对象是否存活的算法
引用计数器算法、可达性分析算法
2、垃圾收集算法
a、标记清楚法
b、复制算法
c、标记整理算法
d、分代收集算法
什么时候回收?
如果对象在进行可行性分析后发现没有与GC ROOTS相连接的引用链,那它将会被第一次标记并筛选是否有必要进行finalize()方法,如果没有被finalize()覆盖或者已经被调用过一次,则可进进去等待回收队列F-Queue,由Finalizer线程执行。
如何回收?
垃圾收集器
主要CMS和G1垃圾收集器
内存分配与回收策略
1、对象优先在新生代Eden分配,当Eden没有空间时虚拟机将进行一次Minor GC。(新生代Minor GC比老年代 Major GC频繁,因为一般新生代的对象存在时间不长)
2、大对象直接分配在老年代。(大对象的大小由参数设置)
3、长期存活的对象将进入老年代。(时间由参数控制)
0 0
- 深入理解Java虚拟机读书笔记(二)
- 深入理解java虚拟机(二)
- 深入理解Java虚拟机(二)
- 深入理解Java虚拟机(二)
- 深入理解java虚拟机(二):java内存溢出实战
- 深入理解java虚拟机(二):java内存溢出实战
- 深入理解Java虚拟机(二)-----垃圾回收(GC)
- 《深入理解Java虚拟机》学习笔记(二)
- 深入理解Android(二):Java虚拟机Dalvik
- 深入理解Android(二):Java虚拟机Dalvik
- 深入理解Android(二):Java虚拟机Dalvik
- 深入理解java虚拟机读书笔记(二)-内存管理机制
- 深入理解Android(二):Java虚拟机Dalvik
- 深入理解Java虚拟机读书笔记二
- 《深入理解java虚拟机》读书笔记二 【OutOfMemoryError】
- 深入理解java虚拟机学习笔记(二)
- 深入java虚拟机(二)
- 深入java虚拟机(二)
- exports 和 module.exports 的区别
- pat-a1032. Sharing (25)
- 3.4、#pragma预处理分析
- POJ1190_生日蛋糕_深搜
- react-core-image-upload:轻量级的图片上传裁剪组件
- 深入理解java虚拟机(二)
- caffe中出现这种错误:由于/usr/bin 不在PATH 环境变量中,故无法找到该命令。
- 状态模式
- 复杂的整数划分
- 前端开发工具Sublime Text3的使用配置
- 最短路径(Dijkstra)
- C#调用PB写的com组件dll
- Android走进Framework之AppCompatActivity.setContentView
- 序列化和反序列化