脚本宝典收集整理的这篇文章主要介绍了运行时数据区,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
程序计数器是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器
虚拟机栈描述的是Java方法执行的线程内存模型:每个方法被执行的时候,Java虚拟机会同步创建一个栈帧用于存储局部变量表、操作数栈、动态连接、方法出口等信息
虚拟机栈是线程私有的,它的生命周期和线程相同
局部变量表中存放了编译器可知的各种Java虚拟机基本数据类型、对象引用、returnAddress类型【指向一条字节码指令的地址】
这些数据类型在局部变量表中的存储空间以局部变量槽(slot)来表示,64位长度的long和double类型的数据占用两个变量槽,其余数据类型只占用一个。
局部变量表所需的内存空间在编译期间完成分配,当进入一个方法时,这个方法需要在栈帧中分配多大的局部变量空间是完全确定的,在方法运行期间不会改变局部变量表的大小【大小指的是变量槽的数量】。
本地方法栈发挥的作用与虚拟机栈类似,本地方法栈为虚拟机使用到的本地方法服务。
堆是虚拟机管理的最大的内存,被所有线程所共享,在虚拟机启动时创建。
方法区用于存储已经被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据
以上是脚本宝典为你收集整理的运行时数据区全部内容,希望文章能够帮你解决运行时数据区所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。