JVM体系架构---学习笔记
2015-09-16 15:00
375 查看
JVM的架构基本由4个部分组成:
1.类加载器:在JVM启动时或者在类运行时将需要的class加载到JVM中
2.执行引擎:执行引擎的任务是负责执行CLASS文件中包含的字节码指令,相当于CPU
3.内存区:将内存划分为若干个区以模拟实际机器上的存储,记录和调度功能模块,
4.本地方法调用:调用C或C++实现的本地方法 的代码返回结果
JVM为何基于栈的架构
一般操作运算指令都是以栈或寄存器进行存取,但寄存器在机器上是没有规律的,很难针对某一款机器设计通用的基于寄存器的指令,所以基于寄存器的架构很难做到通用。
1.跨平台
2.传输效率,指令的紧凑性
java内存管理
一个jvm实例会有一个方法区、Java堆、Java栈、PC寄存器和本地方法区。
其中方法区和Java堆是所有线程共享的,也就是被所有执行引擎访问。每个执行引擎实例被创建时会为这个引擎实例创建一个Java栈和一个PC寄存器,如果当前正在执行一个Java方法,那么当前这个Java栈中保存的是 参数,方法局部变量,方法的返回值等。而PC寄存器会指向即将执行的下一条指令。
1.类加载器:在JVM启动时或者在类运行时将需要的class加载到JVM中
2.执行引擎:执行引擎的任务是负责执行CLASS文件中包含的字节码指令,相当于CPU
3.内存区:将内存划分为若干个区以模拟实际机器上的存储,记录和调度功能模块,
4.本地方法调用:调用C或C++实现的本地方法 的代码返回结果
JVM为何基于栈的架构
一般操作运算指令都是以栈或寄存器进行存取,但寄存器在机器上是没有规律的,很难针对某一款机器设计通用的基于寄存器的指令,所以基于寄存器的架构很难做到通用。
1.跨平台
2.传输效率,指令的紧凑性
java内存管理
一个jvm实例会有一个方法区、Java堆、Java栈、PC寄存器和本地方法区。
其中方法区和Java堆是所有线程共享的,也就是被所有执行引擎访问。每个执行引擎实例被创建时会为这个引擎实例创建一个Java栈和一个PC寄存器,如果当前正在执行一个Java方法,那么当前这个Java栈中保存的是 参数,方法局部变量,方法的返回值等。而PC寄存器会指向即将执行的下一条指令。
相关文章推荐
- 从LiveJournal后台发展看大规模网站性能优化方法
- 大型网站架构演变和知识体系
- 网站推广成功之法—独占神话
- B2C电子商务基础系统架构解析(转载)
- 为什么ping不通某网站,但是却可以访问该网站?
- 万能的自动化测试框架----之教育类网站篇
- 如何给你的网站接入支付宝?
- 开发网站需要注意的事项
- php大型网站开发优化方案
- web前端-资源网站
- Android应用架构系列——ListView的模板化
- 普通公司网站代码片段合辑
- 网站被跳转以后的代码
- 跟我快速理解Dubbo:-2 架构设计详解
- 南极洲总是全彩源码下载-网站-前端-下载完整的后端
- Android常用的工具和网站
- 架构设计模式及框架
- 如何做好一个网站
- 架构师速成-架构目标之伸缩性\安全性
- 架构师速成-架构目标之伸缩性\安全性