JVM 内存区域
Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。
运行时数据区域
- 堆 (Heap):对象实例,GC 主要工作区域
- 方法区 (Method Area):类信息、常量池
- 虚拟机栈 (JVM Stack):栈帧、局部变量
- 本地方法栈 (Native Stack):Native 方法
- 程序计数器 (PC Register):当前执行的字节码行号
垃圾回收算法
| 算法 | 优点 | 缺点 |
|---|---|---|
| 标记-清除 | 简单 | 内存碎片 |
| 标记-整理 | 无碎片 | 移动对象成本高 |
| 复制算法 | 无碎片 | 浪费空间 |
持续更新中…