jvm内存
来源:互联网 发布:andreja pejic 知乎 编辑:程序博客网 时间:2024/05/22 01:26
所想:
加上static关键字后成员变量、成员方法在内存中变化?
对象实例化时对于类的成员变量和成员方法,堆中会产生哪些东西?
方法进栈过程?
【存的是什么东西?】
jvm内存中堆和方法区是共享的,而栈、本地方法区、寄存器是每个线程单独的。
1.Heap 分配内存来保存对象实例
实际有实例对象的属性值、属性类型、实例对象本身的类型的标记。
以上分配完成后要在Stack中,保存占4Byte的实例对象的Heap内存地址。
2.方法区:
类定义数据、常量、静态变量、字节码
1)常量池RCP(Runtime Constant Pool)存编译器产生的字面量和符号引用,也可存运行时产生的新常量。
2)静态域
...
--
1.vm stack 提供java方法服务
stack frame 是有关方法和运行期数据的数据集,当方法被调用就产生一个stack frame并压栈,先进后出。
包含:局部变量表、操作栈、动态链接、方法出口,其中局部变量表:基本类型、引用指针或句柄。
Method Index \ Parameters \ Local vars \ Class File \ Return Frame \ Next Frame..
2.native method stack 提供native方法服务
3.寄存器指示当前类字节码位置
完成分支、循环、跳转、异常、恢复等功能。
【怎么运行起来?】
实例化对象会在堆创建实例也会在栈产生引用
1.方法进栈后会在栈中为局部变量分配内存,如果是个基本类型就存它的值,是个引用类型就存地址值。
2.执行某个带参数的方法,方法进栈后会为型参分配内存,情况考虑如同局部变量。
加上static关键字后成员变量、成员方法在内存中变化?
对象实例化时对于类的成员变量和成员方法,堆中会产生哪些东西?
方法进栈过程?
【存的是什么东西?】
jvm内存中堆和方法区是共享的,而栈、本地方法区、寄存器是每个线程单独的。
1.Heap 分配内存来保存对象实例
实际有实例对象的属性值、属性类型、实例对象本身的类型的标记。
以上分配完成后要在Stack中,保存占4Byte的实例对象的Heap内存地址。
2.方法区:
类定义数据、常量、静态变量、字节码
1)常量池RCP(Runtime Constant Pool)存编译器产生的字面量和符号引用,也可存运行时产生的新常量。
2)静态域
...
--
1.vm stack 提供java方法服务
stack frame 是有关方法和运行期数据的数据集,当方法被调用就产生一个stack frame并压栈,先进后出。
包含:局部变量表、操作栈、动态链接、方法出口,其中局部变量表:基本类型、引用指针或句柄。
Method Index \ Parameters \ Local vars \ Class File \ Return Frame \ Next Frame..
2.native method stack 提供native方法服务
3.寄存器指示当前类字节码位置
完成分支、循环、跳转、异常、恢复等功能。
【怎么运行起来?】
实例化对象会在堆创建实例也会在栈产生引用
1.方法进栈后会在栈中为局部变量分配内存,如果是个基本类型就存它的值,是个引用类型就存地址值。
2.执行某个带参数的方法,方法进栈后会为型参分配内存,情况考虑如同局部变量。
3.栈中的局部变量随方法弹线而销毁。
http://www.cnblogs.com/wangjzh/p/5258254.html
阅读全文
0 0
- 【JVM】配置jvm内存
- [jvm]JVM内存模型
- 【JVM】JVM内存区域
- JVM 内存
- JVM内存
- jvm内存
- jvm内存
- jvm 内存
- JVM内存
- JVM内存
- JVM---内存
- jvm内存
- JVM内存
- JVM 内存
- jvm 内存
- JVM内存
- jvm内存
- JVM内存
- (转)别只盯着比特币!“野蛮生长”的ICO江湖:2年30倍只是寻常
- 关于函数(二)数组指针和指针数组
- 7.18
- Discuz!教程之通过后台词语过滤功能的简单设置挡住绝大部分垃圾内容
- 区间dp
- jvm内存
- 自定义按钮实现标签栏切换
- PAT a1024题解
- 07、MySQL事务、变量以及触发器
- 两个List集合中不相等的值
- 深度学习笔记(二)
- 基于机器学习的NLP情感分析(二)---- 分类问题
- jquery-easyUI第二篇【综合案例】
- poj3318 (随机化验证)