【JVM】JVM进阶之JVM运行机制
来源:互联网 发布:mac照片导入iphone 编辑:程序博客网 时间:2024/05/22 03:22
JVM的启动流程:
JVM的基本结构:
PC寄存器:
§每个线程拥有一个PC寄存器,(每个线程起来的时候都会创建一个PC寄存器)
- PC寄存器总是会指向下一条指令的地址(这样程序在执行过程中,就知道下一步需要做什么)
- 在执行本地方法的时候,PC寄存器的值就是未定义的
§ 在每个线程创建时创建
§ 指向下一条指令的地址
方法区:(方法区是用来保存类的源信息的,对类进行描述)
§ 保存装载的类信息:
- 类型的常量池
- 字段、方法信息
- 方法字节码
§ 通常和永久区(Perm)关联在一起,永久区保存一些相对静止的数据
Java堆:
通过new出来的对象基本上都是保存在Java堆中的,堆是全局共享的,所有线程都共享Java堆(也就是你分配了一个对象,所有线程都是共享的),Java堆的结构和GC算法是有关系的,不同的GC方式就需要不同的堆
§ 和程序开发密切相关
§ 应用系统对象都保存在Java堆中
§ 所有线程共享Java堆
§ 对分代GC来说,堆也是分代的
§ GC的主要工作区间
Java栈:
§ 线程私有
§ 栈由一系列帧组成(因此Java栈也叫帧栈)
§ 帧保存一个方法的局部变量、操作数栈、常量池指针
§ 每一次方法调用创建一个帧,并压栈
对比:栈、堆、方法区对比:
- 类的实例以及对象本身存在于堆中,而对象的引用存在于栈中。
- 类信息的描述包括类方法的实际的字节码是不在堆当中的,是在方法区中的。
- 栈会指向堆,堆的一些信息会去方法区存储和读取
阅读全文
0 0
- 【JVM】JVM进阶之JVM运行机制
- JVM运行机制
- jvm运行机制
- JVM运行机制
- JVM运行机制
- JVM运行机制
- jvm运行机制
- jvm运行机制
- Jvm运行机制
- JVM运行机制
- JVM运行机制
- java之Jvm学习--JVM运行机制
- Java基础之JVM运行机制
- 初识JVM-JVM运行机制(1)
- 初识JVM-JVM运行机制(2)
- 【JVM】JVM进阶之JVM算法及种类
- JVM 基础 VM运行机制
- Java基础:JVM运行机制
- Spring学习之Spring的整体架构
- 如何利用微博引流精准加粉?
- 关于测试
- Go 基础讲解笔记
- 常用正则表达式总结
- 【JVM】JVM进阶之JVM运行机制
- 一致性哈希算法及其在分布式系统中的应用
- SDUT 1294
- ACE Editor在线代码编辑器简介及使用引导
- php 多进程实用小结
- Mac上Java开发环境配置
- JS变量的类型
- 构造函数模式
- 提高安卓系统启动速度之(1)-BLCR