xuMengqi's Blog

运行时数据区有哪些部分组成?


目录


  1. 1. 堆
    1. 1.1. 堆中存放的是什么?
    2. 1.2. 堆内存是如何划分的?
    3. 1.3. 什么是内存泄漏和内存溢出?
    4. 1.4. 堆可能会发生的异常?
  2. 2. 方法区
    1. 2.1. 方法区中存放的是什么?
    2. 2.2. 永久代和元空间有什么区别?
    3. 2.3. 方法区可能会发生的异常?
    4. 2.4. 运行时常量池和字符串常量池有什么区别?
  3. 3. Java虚拟机栈
    1. 3.1. Java虚拟机栈中存放的是什么?
    2. 3.2. Java虚拟机栈可能会发生的异常?
  4. 4. 本地方法栈
  5. 5. 程序计数器
  6. 6. 直接内存
    1. 6.1. 什么是直接内存?
    2. 6.2. 直接内存和堆内存有什么区别?
  7. 7. JDK工具
    1. 7.1. 如何查看当前系统中有哪些正在运行的Java进程?
    2. 7.2. 如何查看Java进程的虚拟机参数?
    3. 7.3. 如何查看Java进程的堆和方法区的内存信息?
    4. 7.4. 如何为堆创建快照?
    5. 7.5. 如何查看Java进程的堆栈信息?
    6. 7.6. 如何查看Java进程的gc信息?
    7. 7.7. 可视化工具有哪些?
  8. 8. 参考文档