1、 非共享数据区
① 程序计数器:用于记录每个线程执行到哪个地方了(可以认为程序是指令的序列,PC记录着下一条(或本条)应该执行的指令的地址).
② java虚拟机栈:每个方法被执行的时候都会创建一个栈桢,用于存放局部变量、操作栈、方法出口等信息。八种基本数据类型,和变量的声明就存放在该区
③本地方法栈: 英文为 Native Method Stack,顾名思义,适用于供 native方法使用的内存空间,本地方法(native method)指不用Java语言开发的方法,如 C,C++,PB等编译型语言所开发的动态链接库(中的方法).sun hotspot将java虚拟机栈和本地方法栈合二为一实现的
2、共享数据区
①java堆:虚拟机启动时创建,被所有线程共享的一块内存区域,该区域存放对象实例,java堆是垃圾收集器管理的主要区域。
②方法区:存储被java虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
运行时常量池: Runtime Constant Pool,运行时常量池时方法区的一部分。 每一个类或者接口,在其编译后生成的 .class文件中,有一个部分叫做 常量表(constant_pool_table),JVM将class文件加载以后,就解析常量表的内容到运行时常量池. 包括编译时方法中就明确可知的数字值,String值, 以及必须在运行时解析的属性域引用(field reference).
分享到:
相关推荐
1.1 对象声明 1.2 相关方法 1.3 系统知识 1.3.1 虚拟内存 1.3.1.1 物理和虚拟寻址 1.3.1.1.1 物理寻址 1.3.1.1.2 虚
JVM性学习笔记-基本原理,内存模型,JVM参数设置,类加载器原理,JDK自带工具
一份JVM学习的笔记,含查看JVM运行时信息\JVM垃圾收集信息\JVM锁信息等
java之jvm学习笔记十一(访问控制器)-源码
JVM学习笔记.docx
jVM学习笔记.ppt
java之jvm学习笔记五(实践写自己的类装载器)
JVM学习笔记(一)--------基本结构 JVM学习笔记(二)----java代码编译和执行的整个过程 JVM学习笔记(三)---------内存管理和垃圾回收 JVM学习笔记(四)------内存调优
JVM学习笔记(缓慢更新).md
jvm经典笔记
JVM学习笔记核心知识点整理,包含类文件加载机制,运行时数据,JVM内存模型,GC算法,垃圾收集器分类等
买的JVM学习资料(深入JVM内核—原理、诊断与优化),给大家分享还有自己整理的学习笔记
JVM 学习笔记(Java虚拟机)
Java分布式应用学习笔记-谈JVM
JVM笔记------------------------------------------
虚拟机学习笔记--周志明老师第三版
JVM学习笔记
JVM工作原理学习笔记,感兴趣的小伙伴们可以下载来看看。
java之jvm学习笔记八(实践对jar包的代码签名)