JVM运行时是什么样子
来源:互联网 发布:轴承查询软件下载 编辑:程序博客网 时间:2024/04/27 15:20
Java是在JVM上运行的,那么JVM运行时是什么样子?
对于JVM运行时的数据区的理解用一个图来显示很形象,下面的图显示JVM运行时的数据区。
每个线程的数据区
从图中可以看出,每个线程有program counter register(程序计数器),JVM Stack(JVM栈),和Native Method Stack(本地方法栈)。 这三个区域都是基于每一个线程的,当一个线程创建的时候生成。
程序计数器: 每一条JVM线程都有自己的PC寄存器,用来控制线程的执行。
JVM Stack(JVM栈): Stack里存放的是Frame(帧)(如下图所示)。
Native Method Stack(本地方法栈): 用来支持native methods (非Java语言method)。
所有的线程共享数据区
所有的线程共享数据区有Heap和Method Area.
Heap(堆)是与我们平时编程最直接打交道的区域。它存放所有的对象和数组。在JVM启动时划分生成。常说的Garbage Collector垃圾回收器就是对这个区域工作的。
Method Area(方法区)存储类的结构信息,包括 run-time constant pool, field and method data, 和methods and constructors代码。
Runtime Constant Pool(运行时常量池)存放编译时可知的数值字面量和运行期解析后才能获得的method或field的引用。
Stack中的包含一些Frame, 这些Frame在method调动的时候生成。每一个Frame包括:local variable array, Operand Stack, Reference to Constant Pool.
转载自:http://www.programcreek.com/2013/04/jvm%E8%BF%90%E8%A1%8C%E6%97%B6%E6%95%B0%E6%8D%AE%E5%8C%BA/
- JVM运行时是什么样子?
- JVM运行时是什么样子
- JVM运行时是什么样子?
- 运行时java对象在内存中是什么样子的?
- Linux办公室是什么样子?
- 未来软件是什么样子?
- 青春是什么样子的
- 爱情是什么样子
- DNA大分子是什么样子?
- 网页正面是什么样子的,反面是什么样子的?
- 毕业了,将来是什么样子?
- 未来的电视是什么样子?
- 看看日本政府机关是什么样子
- linux 中的分区是什么样子
- 新的互联网是什么样子?
- 理想的程序员是什么样子
- 喜欢到底是什么样子呢
- 成熟--到底是什么样子的?
- GIT: 第二步:提交项目至GitHub
- 【MySQL】MySql定时更改数据库字段
- STL - miltimap(可重映射)
- 24.二叉搜索树的后序遍历序列
- Oracle RMAN两种备份方式 – 备份集备份与镜像复制备份
- JVM运行时是什么样子
- android笔记
- Canvas绘制图形(一)
- 南阳oj 题目57 6174问题
- STL - 容器共性机制研究
- 单元测试,集成测试概念与各种工具介绍
- VB.net 使用变量代替控件名
- 检查网络失败hint
- LeetCode之Longest Valid Parentheses