JVM
来源:互联网 发布:sublimetext3 mac 编辑:程序博客网 时间:2024/05/22 13:18
JVM内幕:java虚拟机详解
这篇文章解释了java虚拟机(JVM的内部架构),下图显示了遵守java SE 7规范的典型的JVM核心内部组建
stack -----------Non Heap---------------Heap
上图显示的组件分两个章节解释。
第一章讨论针对每个线程创建的组件,第二个章节讨论了线程无关组件
线程:
JVM系统线程
每个线程相关的
程序计数器
(((((((((((((((((((((((((((((((((((((((((((((((
1,程序存储器:
在计算机的主存储器中专门用来存放程序,子程序的一个区域
2,指令寄存器(IR):用来保存当前正在执行的一条指令。当执行一条指令时,先把他从内存读到数据集村器(DR)
中,然后再传送到IR。指令划分为操作码和地址码地段,由二进制数字组成。
通常一条指令包含两方面的内容:操作码和操作数
操作码决定要完成的操作
操作数指参加运算的数据以及所在的单元地址
3,程序计数器。
为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址
4,地址寄存器
保存当前CPU所访问的内存单元的地址。
)))))))))))))))))))))))))))))))))))))))))))))0
- 线程
- JVM 系统线程
- 每个线程相关的
- 程序计数器
- 栈
- 本地栈
- 栈限制
- 栈帧
- 局部变量数组
- 操作数栈
- 动态链接
- 线程共享
- 堆
- 内存管理
- 非堆内存
- 即时编译
- 方法区
- 类文件结构
- 类加载器
- 更快的类加载
- 方法区在哪里
- 类加载器参考
- 运行时常量池
- 异常表
- 符号表
- Interned 字符串
线程::::::::::::::::::::::
我们所说的线程指程序执行过程中的一个线程实体。JVM允许一个应用并发执行
多个线程。Hotspot JVM中的java线程与原生操作系统有直接的映射关系。
当线程本地存储,缓冲区分配,同步对象,栈,程序计数器等准备好以后,
就会创建一个操作系统原生线程。
线程本地存储
我们知道在一个进程中,所有线程是共享同一个地址空间的。
所以,如果一个变量是全局的或是静态的,那么所有线程访问的是同一分
=============================================================》》》》》
每一个java虚拟机都由一个类加载器子系统,负责加载程序中的类型(类和接口),并赋予唯一的名字。
每一个java虚拟机都有一个执行引擎,负责执行被加载类中包含的指令
程序的执行需要一定的内存空间,如字节码,被加载类的额外信息,程序中的对象,方法的参数,
返回值,本地变量,处理的中间变量等等
- JVM
- jvm
- JVM
- JVM
- JVM
- JVM
- jvm
- jvm
- jvm
- JVM
- JVM
- jvm
- JVM
- JVM
- jvm
- jvm
- jvm
- JVM
- tomcat目录结构及配置文件说明
- R Notes
- 快速排序算法
- 前端基础练习题
- Django查询数据
- JVM
- Sum All Numbers in a Range
- ExtJs内的Ext.form.Panel中datefield控件选择日期过后的事件监听select以及比较两个时间的大小
- 用enum代替int常量。
- 腾讯云服务器安装jdk和tomcat(ubuntu系统)
- wamp环境下MySQL配置主从复制
- Java学习入门
- mysql创建新用户并给授权指定的数据库权限
- Object