【JVM】<Java虚拟机>JVM架构各种**虚拟机
目录
一、Java代码执行流程:
二、JVM架构模型:
1.这两种架构之间的区别:
2.反编译指令:
在IDEA中查看字节码:
三、JVM的生命周期:
1.虚拟机的启动:
2.虚拟机的执行:
3.虚拟机退出:
四、JVM发展历程:
1.Sun Classic VM:
2.Exact VM:
3.HotSpot VM:
4.BEA JRockit:
5.IBM J9:
6.KVM CDC/CLDC Hotspot:
7.Azul VM:
8.Liquid VM:
9.Apache Harmony:
10.Microsoft JVM:
11.Taobao JVM:
12.Dalvik VM:
13.Greal VM:
一、Java代码执行流程:
二、JVM架构模型:
Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存的指令集架构。
1.这两种架构之间的区别:
- 基于栈式架构的特点:
- 设计和实现更简单,适用于资源受限的系统
- 避开了寄存器的分配难题:使用零地址指令方式分配
- 指令流中的指令大部分是零地址指令,其执行过程依赖于操作栈。指令集更小,编译器容易实现。
- 不需要硬件支持,可移植性更好,更好实现跨平台
- 基于寄存器架构的特点:
- 典型的应用是x86的二进制指令集:比如传统的PC以及Android的Davlik虚拟机。
- 指令集架构则完全依赖硬件,可移植性差
- 性能优秀和执行更高效;
- 花费更少的指令去完成一项操作。
- 在大部分情况下,基于寄存器架构的指令集往往都以一地址指令、二地址指令和三地址指令为主,而基子栈式架构的指令集却是以零地址指令为主
2.反编译指令:
javap -v 字节码文件名
在IDEA中查看字节码:
三、JVM的生命周期:
1.虚拟机的启动:
Java虚拟机的启动是通过引导类加载器(Bootstrap class loader)创建一个初始类(Initial class)来完成的,这个类是由虚拟机的具体实现指定的。
2.虚拟机的执行:
- 一个运行中的Java虚拟机也有一个清晰的任务:执行Java程序
- 程序开始执行时,虚拟机才开始执行,程序结束就停止
- 执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程
3.虚拟机退出:
如果出现以下情况,虚拟机将退出:
- 程序正常执行结束
- 程序在执行过程中遇到了异常或错误而异常终止
- 由于操作系统出现错误而导致Java虚拟机进程终止
- 某线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且Java安全管理器也允许这次exit或hait操作。
- JNI(Java Native Interface)规范描述了用JNI Invocation API来加载或卸载Java虚拟机时,Java虚拟机的退出情况
四、JVM发展历程:
1.Sun Classic VM:
2.Exact VM:
3.HotSpot VM:
4.BEA JRockit:
5.IBM J9:
6.KVM CDC/CLDC Hotspot:
7.Azul VM:
8.Liquid VM:
9.Apache Harmony:
10.Microsoft JVM:
11.Taobao JVM:
12.Dalvik VM:
13.Greal VM:
【JVM】<Java虚拟机>JVM架构各种**虚拟机相关推荐
- JVM——Java虚拟机架构
Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性. 平台无关性原理:编译后的 Java程序(.class文件)由 JVM执行.JVM屏蔽了与具体平台 ...
- Java虚拟机JVM的内部体系结构
JVM(Java虚拟机)是一个抽象机器. 它是一个提供可以执行Java字节码的运行时环境的规范.JVM可用于许多硬件和软件平台(即JVM是平台相关的). 什么是JVM? JVM(Java虚拟机)是: ...
- 深入理解java虚拟机 - jvm高级特性与最佳实践(第三版)_JVM虚拟机面试指南:年薪30W以上高薪岗位需求的JVM,你必须要懂!...
JVM的重要性 很多人对于为什么要学JVM这个问题,他们的答案都是:因为面试.无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎.不管是工作还是面试中,JVM都是必考题.如果不懂JVM的话,薪 ...
- 深入理解java虚拟机JVM(上)
深入理解java虚拟机JVM(上) 链接:https://pan.baidu.com/s/1c6pZjLeMQqc9t-OXvUM66w 提取码:uwak 复制这段内容后打开百度网盘手机App,操作更 ...
- Java虚拟机JVM的内存管理
Java虚拟机JVM的内存管理 关键词 一.JVM整体架构 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 名称 作用 特征 配置参数 异常 程序计数器 ...
- 实战java虚拟机 百度云_《实战JAVA虚拟机 JVM故障诊断与性能优化》pdf百度云下载...
内容简介· · · · · · 随着越来越多的第三方语言(Groovy.Scala.JRuby等)在Java虚拟机上运行,Java也俨然成为了一个充满活力的生态圈.<实战Java虚拟机--JVM ...
- java虚拟机原理pdf_揭秘Java虚拟机 JVM设计原理与实现pdf
揭秘Java虚拟机 JVM设计原理与实现 内容简介 <揭秘Java虚拟机:JVM设计原理与实现>从源码角度解读HotSpot的内部实现机制,本版本主要包含三大部分--JVM数据结构设计与实 ...
- Java中JVM虚拟机详解
1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来 ...
- Java虚拟机(JVM)与Java内存模型(JMM)学习笔记
Java虚拟机[JVM]与Java内存模型[JMM]学习笔记 Java虚拟机(JVM) 三种JVM JVM 位置 JVM的主要组成部分及其作用 类加载器 双亲委派机制 沙箱安全机制 Java本地接口( ...
最新文章
- 用GAN来做图像生成,这是最好的方法
- python教学视频下载-董付国老师Python精品教学,视频教程下载
- abb限位开关已打开drv1_施工升降机上有10个限位器,你都知道了吗?
- php的exportexcel,PHPExcel export网络或本地图片到excel
- 安卓App的启动过程、安卓布局分类及布局和页面的关系
- 什么是比特币?比特币的发展史,什么是挖矿?
- 【李宏毅2020 ML/DL】P52 Network Compression - Network Pruning
- android系统 rom制作,教你制作定制版安卓系统(androidrom).doc
- 面试题:谈谈你对Mysql数据库优化的见解
- 900款工作岗位竞聘PPT模板免费下载
- Oracle 索引详解(index)
- 使用 GO-CQHttp或mirai框架 搭建QQ的机器人
- 公众号里面套页面_怎么套用别人的公众号模板?公众号模板在哪找? | 微信公众号指南...
- Java反射--藤原豆腐店自用
- java知识精华总结
- 服务器端配置jupyter notebook以及本地打不开的解决办
- python桌面实验小软件,实现地图信息整理为电子表格
- 我究竟适不适合做数据分析师?
- Elasticsearch-Cat命令详解
- 手写选中框css,对勾css✔️