jvm运行时数据区简单介绍

  1. 方法区:最重要的内存区域,多线程共享,保存了类的信息(名称,成员,接口,父类),反射机制是重要的组成部分,动态进行类操作的实现
  2. 堆内存(heap space):保存对象的真实信息,该内存牵扯到内存释放问题,GC
  3. 栈内存(stack space):线程的私有空间,在每进行一次方法调用时,都存在栈帧,采用先进后出的设计原则
    1. 本地变量表:局部参数或形参,允许保存有32位的插槽(slot),如果超过了32位的长度就需要开辟两个连续性的插槽(long,double),volatile关键字问题
    2. 操作数栈:执行所有方法的计算操作
    3. 常量池引用:String类实例 ,Integer类实例
    4. 返回地址:方法执行后返回的点
  4. 程序计数器:执行指令的一个顺序编码,该区域的所占比率可以忽略
  5. 本地方法栈:与栈功能类似,区别在于为本地方法服务
原文地址:https://www.cnblogs.com/kiwi-deng/p/11821177.html