JVM与Java体系结构

大部分Java开发技术人员,除了用框架写应用程序,调用API之外,对JVM的了解甚少。
在这里插入图片描述

JVM的重要性

JVM 是中高级程序员的必备技能,此外在项目管理,性能调优的时候,也用的到。另外,倘若我们对垃圾回收算法,JIT编译器,底层原理感兴趣,追求极客精神的话,就可以去学习虚拟机。

JVM简介

字节码文件:java前端编译器生成的字节码文件是cafebabe开头的,这几个字母被称为魔数。是表示字节码文件是java字节码的标识。
有了JVM,并不是只有java程序可以解释运行,其他的程序语言只要能符合JVM规范那么就可以在虚拟机上运行。

JAVA发展的重大事件(了解)

在这里插入图片描述
在这里插入图片描述

其中重要的是,现在默认的虚拟机是HotSpot虚拟机,G1垃圾回收器。
ZGC是速度最快的但是正在调试器件,Z是二十六个字母中的最后一个,可能内涵是想ZGC成为最后一代垃圾回收器吧。

虚拟机与Java虚拟机

虚拟机分为系统虚拟机和程序虚拟机。

Visual Box VMware就属于系统虚拟机,它们完全是对物理计算器的仿真。

程序虚拟机典型代表就是Java虚拟机,在Java虚拟机中执行的指令我们称之为Java字节码指令。

Java虚拟机

​ 是一台执行Java字节码的虚拟机,运行的java字节码也未必由java语言编译而成

​ java技术的核心就是Java虚拟机,因为所有的Java程序都运行在Java虚拟机内部。

​ 作用:java虚拟机就是二进制字节码的运行环境。

​ 特点:一次编译,到处运行。

​ 自动内存管理。

​ 自动垃圾回收功能。
在这里插入图片描述
JVM虚拟机是作用在操作系统之上,与硬件没有直接的联系。

JVM的整体内存结构 重要

在这里插入图片描述
在这里插入图片描述

JVM的生命周期

虚拟机的启动

​ 启动是根据引导类加载器创建一个初始类来完成的,这个类由虚拟机的具体实现指定的。

虚拟机的运行

​ 一个运行中的Java虚拟机有这样一个清晰的任务:执行Java程序

​ 程序开始执行是他才运行,程序结束时他就停止

​ 执行一个所谓的Java程序的时候,真正执行的是一个java虚拟机的进程。

虚拟机的退出

​ 程序正常执行结束

​ 程序在执行过程中遇到了异常货错误而异常终止

​ 由于操作系统出现错误导致java虚拟机进程终止

几款虚拟机

Classic VM 第一款虚拟机(已经淘汰)
Exact VM (被HotSpot虚拟机替代)
HotSpot VM虚拟机
在这里插入图片描述
JRocket 是世界上最快的虚拟机 被Oracle收购 Bea公司

IBM公司的J9 是有影响力的三大商用虚拟机之一。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值