打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

       
         

1、什么是JVM?

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

2、JVM的运行位置

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

       

       

3、JVM的版本

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

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

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

4、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虚拟机的退出

IT技术分享社区

个人博客网站:https://programmerblog.xyz

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
什么是HotSpot VM & 深入理解Java虚拟机 JVM
一、JVM与Java体系结构
Java虚拟机详解01
一张图看懂JVM之类装载系统
JDK8
javac.exe、 java.exe、 java虚拟机三者之间的区别与联系
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服