首页
关于
留言
归档
动态
友链
推荐
虫洞
开往
憶夣
累计撰写
57
篇文章
累计创建
11
个标签
累计收到
2
条评论
栏目
首页
关于
留言
归档
动态
友链
推荐
虫洞
开往
目 录
CONTENT
深入理解Java虚拟机-憶夣
以下是
深入理解Java虚拟机
相关的文章
2023-04-04
3、圾收集器与内存分配策略
**摘要** 本文系统介绍了Java虚拟机的垃圾收集机制与内存分配策略,核心内容涵盖以下方面: 1. **GC三大问题**:明确哪些内存需回收(堆和方法区的动态分配区域)、何时回收、如何回收。 2. **对象存活判定**:虚拟机采用可达性分析算法(以GC Roots为起点搜索引用链),而非引用计数法。引用分为强、软、弱、虚四种,强度依次递减。对象死亡需经两次标记,方法区还回收废弃常量和无用类。 3. **收集算法**:包括标记-清除、复制、标记-整理及分代收集算法。新生代对象"朝生夕死",适合复制算法(Eden+Survivor,默认8:1);老年代存活率高,适合标记-整理或标记-清除算法。 4. **HotSpot实现**:通过OopMap在安全点记录引用信息,配合主动式中断和安全区域机制保证GC停顿的准确性。 5. **垃圾收集器**:涵盖Serial、ParNew、Parallel Scavenge(吞吐量优先+自适应调节)、CMS(低停顿但存在CPU敏感、浮动垃圾和碎片问题)及G1(Region化分区、可预测停顿、空间整合)等多种收集器,各有适用场景。 6. **内存分配策略**:对象优先在Eden区分配,大对象直接进老年代,长期存活对象按年龄晋升(默认阈值15),并支持动态年龄判定和空间分配担保机制。 文章强调,没有万能的收集器组合,需根据实际应用需求选择最优方案。
2023-04-04
60
0
0
Java
2023-04-04
2、自动内存管理机制
第二章 自动内存管理机制2.1 概述Java 程序员把内存控制的权力交给了Java 虚拟机,一且出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项异常艰难的丁作。2.2 运行时数据区域Java_虚拟机所管理的内存将会包括以下几个运行时数据区域程序计数器 程序诈数
2023-04-04
60
0
0
Java
1
2