JVM内存分区
来源:互联网 发布:ubuntu ssh有安装包吗 编辑:程序博客网 时间:2024/06/14 01:02
jvm体系结构
jvm内存分区
1.1 程序计数器
程序计数器是当前线程所执行字节码的行号指示器,所以它是私有的。
如果线程执行的是非native方法,则程序计数器中保存的是当前需要执行的指令的地址;如果线程执行的是native方法,则程序计数器中的值是undefined。
程序计数器是不会发生内存溢出现象(OutOfMemory)的。
1.2 Java栈(Java虚拟机栈)
Java栈与线程的生命周期相同,java栈中存放的是一个个栈帧。栈帧中存放的是局部变量表、操作数栈、指向运行时常量池的引用、方法返回值地址和附加信息。也就是当jvm创建一个线程时,Java栈也随之创建(因此它也是线程私有),线程执行一个方法时就会创建一个栈与之对应的帧并压入栈中,方法执行结束,栈帧出栈。
局部变量表:这里面存放的是方法中的局部变量(方法中声明的非静态变量以及形参和returnAddress类型)。局部变量表的大小在编译时期就完成分配,方法运行期间大小不会改变。
1.3 本地方法栈
为Native方法服务。
1.4 Java堆
虚拟机启动时创建,线程共享,用于存储数组以及对象。
(-Xmx和-Xms控制)
1.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内存分区及代码执行机制
- web测试入门该学习哪些内容?
- linux下如何以某个用户的身份运行程序
- 今天开始为2015年架构师考试准备,给自己加油!
- 简易版学生成绩管理系统(c++)
- 多线程改写筛选域名程序
- JVM内存分区
- Protocol Buffers的基础说明和使用
- 6、输入捕获实验
- DATABASE LINK 的查看、创建与删除
- 从设置窗体背景图片细谈JFrame
- 文本编码格式总结
- python 用numpy生成多维随机数组
- Android Dialog详解
- [hdoj]2012