JVM Run-Time Data Areas--reference
http://www.programcreek.com/2013/04/jvm-run-time-data-areas/
This is my note of reading JVM specification. I draw a diagram which helps me understand.
1. Data Areas for Each Individual Thread (not shared)
Data Areas for each individual thread include program counter register, JVM Stack, and Native Method Stack. They are all created when a new thread is created.
Program Counter Register: it is used to control each execution of each thread.
JVM Stack: It contains frames which is demonstrated in the diagram below.
Native Method Stack: it is used to support native methods, i.e., non-Java language methods.
2. Data Areas Shared by All Threads
All threads share Heap and Method Area.
Heap: it is the area that we most frequently deal with. It stores
arrays and objects, created when JVM starts up. Garbage Collection works
in this area.
Method Area: it stores run-time constant pool, field and method data, and methods and constructors code。
Runtime Constant Pool: It is a per-class or per-interface run-time
representation of the constant_pool table in a class file. It contains
several kinds of constants, ranging from numeric literals known at
compile-time to method and field references that must be resolved at
run-time.
Stack contains Frames, and a frame is pushed to the stack when a
method is invoked. A frame contains local variable array, Operand Stack,
Reference to Constant Pool.
For more information, please go to the offical JVM specification site.
References:
1. JVM Specification – Run-Time Data Areas
2. Java Bytecode Fundamentals
JVM Run-Time Data Areas--reference的更多相关文章
- JVM Run-Time Data Areas.
Ref: JVM Run-Time Data Areas class SimpleThread extends Thread { public SimpleThread(String name) { ...
- Java Run-Time Data Areas
前言 本文主要介绍JVM的运行时数据区 来自Oracle文档 Java Virtual Machine Specification -- Chapter 2. The Structure of the ...
- Recover data from reference electrode via EEGLab 用EEGLab恢复参考电极数据
The data of scanning reference electrode will not show initially. Here is a summary of recovering it ...
- Java-JVM 运行时内存结构(Run-Time Data Areas)
Java 虚拟机定义了在程序执行期间使用的各种运行时数据区域. 其中一些数据区域所有线程共享,在 Java 虚拟机(JVM)启动时创建,仅在 Java 虚拟机退出时销毁. 还有一些数据区域是每个线程的 ...
- 深入理解JVM内幕(转)
转自:http://blog.csdn.net/zhoudaxia/article/details/26454421/ 每个Java开发者都知道Java字节码是执行在JRE((Java Runtime ...
- 深入理解JVM内幕:从基本结构到Java 7新特性
转自:http://www.importnew.com/1486.html 每个Java开发者都知道Java字节码是执行在JRE((Java Runtime Environment Java运行时环境 ...
- JVM 内部原理(二)— 基本概念之字节码
JVM 内部原理(二)- 基本概念之字节码 介绍 版本:Java SE 7 每位使用 Java 的程序员都知道 Java 字节码在 Java 运行时(JRE - Java Runtime Enviro ...
- JVM 内部原理(一)— 概述
JVM 内部原理(一)- 概述 介绍 版本:Java SE 7 图中显示组件将会从两个方面分别解释.第一部分涵盖线程独有的组件,第二部分涵盖独立于线程的组件(即线程共享组件). 目录 线程独享(Thr ...
- Understanding JVM Internals---不得不转载呀
http://www.cubrid.org/blog/dev-platform/understanding-jvm-internals/ http://architects.dzone.com/art ...
随机推荐
- CS0012 类型“DbContext”在未引用的程序集中定义。必须添加对程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。 Repository E:\项目\wx\Repository\DbContextFac
严重性 代码 说明 项目 文件 行 禁止显示状态错误 CS0012 类型“DbContext”在未引用的程序集中定义.必须添加对程序集“EntityFramework, Version=6.0.0.0 ...
- Get MAC address using POSIX APIs
#include <stdio.h>#include <unistd.h>#include <netdb.h>#include <arpa/inet.h> ...
- C语言程序设计
从 大一下 开始写博客,记录自己的学习. 而作为一个强迫症(比如我)是不允许做事缺头少尾的. 想了想还是得大一所学的C语言也搬上来,虽然结构老师经常嘲讽 (也不算嘲讽,算是絮叨吧)我的C语言,但是我还 ...
- Eclipse中mvn install 报错error in opening zip file
报错信息 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (de ...
- 514. Freedom Trail
In the video game Fallout 4, the quest "Road to Freedom" requires players to reach a metal ...
- 深入了解java虚拟机(JVM) 第四章 对象的创建
一.对象的创建过程 对象的创建过程大致可以分为六步,其中对象的分配尤为重要: 二.对象分配内存 一般来说对象分配内存有两种方式: 第一种是指针碰撞,这是一种比较理想的方式:如果Java堆是绝对规整的: ...
- Codeforces Round #549 (Div. 2)B. Nirvana
B. Nirvana time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- drf序列化器serializers.SerializerMethodField()的用法
问题描述: 为什么DRF中有时候返回的json中图片是带域名的,有时候是不带域名的呢? 解析: 带域名的结果是在view中对模型类序列化的,DRF在序列化图片的时候 会检查上下文有没有request, ...
- 洛谷P5264 【模板】多项式三角函数
题面 传送门 题解 据说有一个叫做欧拉公式的东西 \[e^{ix}=\cos(x)+i\sin(x)\] 别问我为啥我今天第一次看到它 那么显然也有 \[e^{-ix}=\cos(x)-i\sin(x ...
- [Java] 编写第一个java程序
1)先不用myEclipse编写,用txt编写,新建Test.txt:修改扩展名变为Test.java; 2)编辑,手写输入代码,保存(以保存在E盘下为例): public class Test{ p ...