| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 01-JVM与Java体系结构 -> 正文阅读 |
|
[大数据]01-JVM与Java体系结构 |
文章目录1.虚拟机与Java虚拟机虚拟机 所谓虚拟机(Virtual Machine),就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。
Java虚拟机
作用
特点
JVM的位置 JVM是运行在操作系统之上的,它与硬件没有直接的交互 2.JVM、JRE、JDK三者比较:
3. JVM的整体结构
4. Java代码执行流程5. JVM的架构模型Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构。 具体来说:这两种架构之间的区别: 基于栈式架构的特点
基于寄存器架构的特点
举例1 同样执行2+3这种逻辑操作,其指令分别如下: 基于栈的计算流程(以Java虚拟机为例):
而基于寄存器的计算流程
举例2
总结 ==由于跨平台性的设计,Java的指令都是根据栈来设计的。==不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,每次执行的指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。 6. JVM的生命周期虚拟机的启动 Java虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的。 虚拟机的执行
虚拟机的退出 有如下的几种情况:
7. 各种JVMSun Classic VM
Exact VM
HotSpot VM
JRockit
IBM的J9
KVM和CDC / CLDC Hotspot
Azul VM
Liquid VM
Apache Harmony
Micorsoft JVM
Taobao JVM
Dalvik VM
Graal VM
总结具体JVM的内存结构,其实取决于其实现,不同厂商的JVM,或者同一厂商发布的不同版本,都有可能存在一定差异。主要以Oracle HotSpot VM为默认虚拟机。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:09:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |