侧边栏壁纸
博主头像
IT技术分享社区博主等级

一个有态度的互联网技术交流平台

  • 累计撰写 187 篇文章
  • 累计创建 17 个标签
  • 累计收到 23 条评论

目 录CONTENT

文章目录

JVM系列(一):JVM基本概念知识笔记

IT技术分享社区
2022-05-27 / 0 评论 / 0 点赞 / 535 阅读 / 817 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-12-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

今天开始给大家分享JVM系列知识,欢迎大家一起学习交流共同进度!
jvm

1、什么是JVM?
JVM即Java虚拟机,可以理解为一种抽象计算机,它拥有一个指令集,在运行时操作各种内存区域。JVM对Java语言一无所知,它只知道一种特定的二进制格式,即类文件格式,我们写好的Java程序最终交给JVM执行的时候会被编译成二进制格式的类文件,JVM只能读取二进制格式的类文件,所以任何编程语言只要编译后的格式符合要求,本质上都可以在JVM上运行。

2、JVM的运行位置
JVM是运行在操作系统之上的软件。支持跨平台。

jvm

3、JVM的版本
HotSpot VM:JDK 默认内置 JVM 是 HotSpot VM,应用最广泛的JVM,大家最常用的就是这个。

BEA JRockit VM:JRockit VM由BEA公司开发。后BEA公司在2008年被Oracle收购,JRockit专注于服务端应用,JRockit内部不包含解释器实现,全部代码都靠及时编译器(JIT)编译后执行

IBM J9 VM :与HotSpot接近,服务器端、桌面应用、嵌入式等多用途VM,广泛用于IBM的各种Java产品号称是世界上最快的Java虚拟机。

4、JVM的体系结构
jvm

类加载器:在JVM启动时或者是在类运行时将需要的class文件加载到JVM中。

执行引擎:负责执行class文件中包含的字节码指令,相当于实际机器上的CPU

内存区域:jvm将内存划分为若干个区以模拟实际机器上的存储、记录和调度功能模块

本地方法调用:调用C或C++实现的本地方法的代码返回相应的结果

5、JVM的生命周期
5.1 虚拟机的启动
JVM的启动是通过引导类加载器(BootstrapClassLoader )创建一个初始类(initial class)来完成的,这个类是虚拟机的具体实现来指定的。

5.2 虚拟机的执行
一个运行中的Java虚拟机有着一个明确的任务:执行Java程序

程序开始执行时JVM才运行,程序结束时它就停止。

其实执行一个Java程序的时候,本质上执行的是一个叫做JVM的进程。

5.3 虚拟机的退出
程序正常执行结束

程序在执行过程中遇到了异常或错误而被迫异常终止。

由于操作系统自身出现错误而导致Java虚拟机进程终止。

某线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且Java安全管理器也允许这次exit或halt操作。

JNI(Java Native Interface)规范描述了用JNI Invocation API来加载或卸载 Java虚拟机时,Java虚拟机的退出

JVM系列(一):JVM基本概念知识笔记

0
广告 广告
博主关闭了所有页面的评论