《深入理解Java虚拟机》笔记

自动内存分配管理机制
  • Java虚拟机栈
    • 这里面存储的是Java方法的内存模型
    • 这里会有两种异常情况
      • StackOverFlowError
      • OutOfMemoryError
  • 本地方法栈
    • 存储的是Native方法服务
    • Native方法根据系统环境的不同而不同
    • 这里也会有这两种异常情况
      • StackOverFlowError
      • OutOfMemoryError
  • Java堆
    • 存放对象实例的空间,几乎所有的对象实例都在这里分配,所以也被称为GC堆。
    • 是java虚拟机管理的最大的一块空间,跟随虚拟机启动而创建。
    • 划分
      • 新生代
      • 老生代
      • 元空间
        • 它分配在物理内存,1.8以前叫“永久代”,永久代在堆内存中分配,功能基本相同
        • 这是为了兼容HotSpot和JRockit诞生的,这两个虚拟机都被Oracle收购,故要兼容
    • 细分