JVM 学习笔记

JVM 内存区域

Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。

运行时数据区域

  • 堆 (Heap):对象实例,GC 主要工作区域
  • 方法区 (Method Area):类信息、常量池
  • 虚拟机栈 (JVM Stack):栈帧、局部变量
  • 本地方法栈 (Native Stack):Native 方法
  • 程序计数器 (PC Register):当前执行的字节码行号

垃圾回收算法

算法优点缺点
标记-清除简单内存碎片
标记-整理无碎片移动对象成本高
复制算法无碎片浪费空间

持续更新中…