Jvm知识点1

1、JVM运行时数据区

在这里插入图片描述
程序计时器:是一块较小的内存空间,可以看成是当前所执行的字节码的行号指示器。是线程私有的。

Java虚拟机栈:是线程私有的,他的生命周期和线程一致,他描述着Java方法所执行的内模型,每执行一个方法就创建一个栈桢,用来存方法,局部变量表、操作数桢,动态链接、方法出口等信息。局部变量表用来存放编译器可知的各种数据类型,对象的引用类型·。

本地方法区:本地方法区的功能和虚拟机栈类似,不同的是,虚拟机栈为了Java方法(字节码)服务,而本地方是为了虚拟机使用到的native方法服务。是线程私有的。

java堆:是线程共享的,是Java虚拟机管理的内存的最大的一块,是所有线程共享的一块内存区域,在虚拟机启动的时候创建的,此区域的目的是为了存放对象的实例,几乎所有的对象的实例都是存放在这里,也是垃圾回收的主要区域,

方法区:是线程共享的,是用来使用存放虚拟机加载的类信息,常量,静态常量,及时编译器编译的后的代码等数据,

运行时常量池:是方法区的一部分,class文件中除了有类的版本、字段、方法接口等信息,还有常量池,用来存放编译期生成的各种字面量和符号引用。这部分的内容就是存放在运行时常量区。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章