JVM内存分区
来源:互联网 发布:数据恢复论坛 编辑:程序博客网 时间:2024/05/29 15:10
jvm体系结构
jvm内存分区
1 程序计数器
程序计数器是当前线程所执行字节码的行号指示器,所以它是私有的。
如果线程执行的是非native方法,则程序计数器中保存的是当前需要执行的指令的地址;如果线程执行的是native方法,则程序计数器中的值是undefined。
程序计数器是不会发生内存溢出现象(OutOfMemory)的。
2 Java栈(Java虚拟机栈)
Java栈与线程的生命周期相同,java栈中存放的是一个个栈帧。栈帧中存放的是局部变量表、操作数栈、指向运行时常量池的引用、方法返回值地址和附加信息。也就是当jvm创建一个线程时,Java栈也随之创建(因此它也是线程私有),线程执行一个方法时就会创建一个栈与之对应的帧并压入栈中,方法执行结束,栈帧出栈。
局部变量表:这里面存放的是方法中的局部变量(方法中声明的非静态变量以及形参和returnAddress类型)。局部变量表的大小在编译时期就完成分配,方法运行期间大小不会改变。
3 本地方法栈
为Native方法服务。
4 Java堆
虚拟机启动时创建,线程共享,用于存储数组以及对象。
(-Xmx和-Xms控制)
5 方法区(非堆)
存储常量、静态变量、已经被虚拟机加载的类信息(包括类的名称、方法信息、字段信息)等。
(对应JVM内存配置中的-PermSize等)
0 0
- JVM内存分区
- JVM内存分区
- java-jvm-内存分区
- jvm内存分区
- JVM内存模型及分区
- JVM中的内存分区简介
- 【JVM】jvm内存模型及分区
- JVM内存分区和内存分配回收
- JVM内存区域分区及OOM分析
- JAVA虚拟机:JVM内存分区及用途
- JVM内存分区和GC回收算法
- JVM内存区域分区及OOM分析
- JVM系列(二)内存分区
- 浅谈JAVA虚拟机 JVM内存分区
- JVM(1)——JVM内存分区
- JVM 分区
- Java虚拟机JVM内存分区及代码执行机制
- Java虚拟机JVM内存分区及代码执行机制
- Android如何防止apk程序被反编译
- UINavigation导航控制器的使用
- 【特种兵PPT教程】如何用美图秀秀批量加水印?
- Loss function
- Android listView 设置分割线问题
- JVM内存分区
- P1035. 插入与归并(25)
- Android APK反编译就这么简单 详解(附图)
- HDU 1024 Max Sum Plus Plus
- 重新认识自己
- eclipse调用两个控制台进行调试
- 《学习OpenCV》第五章课后题3
- Win32 贪吃蛇游戏
- Eclipse IDE开发工具使用小技巧