jvm运行机制
来源:互联网 发布:4维旋转矩阵 编辑:程序博客网 时间:2024/04/28 22:10
JVM启动流程:
JVM基本结构:
PC寄存器
每个线程拥有一个PC寄存器
在线程创建时 创建
指向下一条指令的地址
执行本地方法时,PC的值为undefined
方法区
保存装载的类信息
• 类型的常量池
• 字段,方法信息
• 方法字节码
通常和永久区(Perm)关联在一起
Java堆(new,进行堆上分配,每次需要清理空间; )
和程序开发密切相关
应用系统对象都保存在Java堆中
所有线程共享Java堆
对分代GC来说,堆也是分代的
GC的主要工作区间
Java栈(先进后出,栈上分配,函数调用完成自动清理)
线程私有
栈由一系列帧组成(因此Java栈也叫做帧栈)
帧保存一个方法的局部变量、操作数栈、常量池指针
每一次方法调用创建一个帧,并压栈
每次方法调用,就有一个帧进行压栈操作;
方法调用结束,那么这个帧就移出。
有序性
在本线程内,操作都是有序的
在线程外观察,操作都是无序的。(指令重排 或 主内存同步延时)
指令重排
线程内串行语义
写后读 a = 1;b = a; 写一个变量之后,再读这个位置。
写后写 a = 1;a = 2; 写一个变量之后,再写这个变量。
读后写 a = b;b = 1; 读一个变量之后,再写这个变量。
以上语句不可重排
编译器不考虑多线程间的语义
可重排: a=1;b=2;
有时候我们希望线程间的执行顺序是有序的,synchronized----同步(锁);
0 0
- JVM运行机制
- jvm运行机制
- JVM运行机制
- JVM运行机制
- JVM运行机制
- jvm运行机制
- jvm运行机制
- Jvm运行机制
- JVM运行机制
- JVM运行机制
- 初识JVM-JVM运行机制(1)
- 初识JVM-JVM运行机制(2)
- JVM 基础 VM运行机制
- Java基础:JVM运行机制
- 一、jvm运行机制
- Java运行机制及JVM
- Java Jvm运行机制原理
- JVM运行机制及原理
- Java空字符串与null区别
- python搭建
- PowerDesigner 设置Table表的颜色(例如:PK(主键),FK(外键),字体大小等)
- 大数据学习——Sqoop入门使用
- C++ vector对象的学习与整理
- jvm运行机制
- Android studio快速取得app的SHA1值
- struts2中constant参数设置
- JavaScript中的变量声明
- git 总结
- 2017年2月大数据精华文章集锦
- 【学习Android NDK开发】native code通过JNI调用Java方法
- tensorflow13《TensorFlow实战Google深度学习框架》笔记-06-02mnist LeNet5卷积神经网络 code
- 安卓加密壳(dexcrypt) , 防止apktool,dex2jar 等工具逆向你的apk,附上下载地址