当前位置: 首页 > article >正文

系列一、JVM概述

一、概述

1.1、Java发展中的重大事件

1.2、虚拟机 vs Java虚拟机

1.2.1、虚拟机

1.2.2、Java虚拟机

1.2.3、Java虚拟机的作用

        Java虚拟机是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令指令。每一条Java指令,Java虚拟机规范中都有详细的定义,如怎么取操作数,怎么处理操作数,处理结果放在哪里。

1.2.4、特点

一次编译,到处运行;

自动内存管理;

自动垃圾回收功能;

1.3、JVM的位置

JVM是运行在操作系统之上的,它与硬件没有直接的交互。

1.4、JVM的架构图(概览图)

HotSpot JVM是目前市面上高性能虚拟机的代表之一;

它采用解释器与即时编译器并存的架构;

在今天,Java程序的运行性能早已脱胎换骨,已经达到了可以和C/C++程序一较高下的地步;

1.5、JVM的架构图(详细图)

1.6、JVM的生命周期

1.6.1、启动

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

1.6.2、运行

(1)一个运行中的Java虚拟机有着一个清晰的任务,即:执行Java程序;

(2)程序开始执行时它才执行,程序结束时它就停止;

(3)执行一个所谓Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程;

1.6.3、退出

当出现以下情况时,虚拟机将会退出:

(1)程序正常执行结束;

(2)程序在运行过程中遇到了异常或者错误而异常终止;

(3)由于操作系统出现错误而导致Java虚拟机进程终止;

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

1.7、各种JVM

1.7.1、HotSpot VM

1.7.2、Classic VM

1.7.3、Exact VM 

1.7.4、JRockit(BEA)

1.7.5、J9(IBM)


http://www.kler.cn/a/131927.html

相关文章:

  • vue将base64编码转为pdf方法
  • 学习指南:如何快速上手媒体生态一致体验开发
  • vue3使用西瓜播放器播放flv、hls、mp4视频
  • C#,数值计算——插值和外推,双线性插值(Bilin_interp)的计算方法与源程序
  • 助力水泥基建裂痕自动化巡检,基于yolov5融合ASPP开发构建多尺度融合目标检测识别系统
  • TableUtilCache:针对CSV表格进行的缓存
  • Jupyter Notebook的下载安装与使用教程_Python数据分析与可视化
  • 20231117在ubuntu20.04下使用ZIP命令压缩文件夹
  • 服务器集群配置LDAP统一认证高可用集群(配置tsl安全链接)-centos9stream-openldap2.6.2
  • 什么是BT种子!磁力链接又是如何工作的?
  • 基于SSM的中小型企业财务管理设计与实现
  • 基于SSM的智能仓储系统研究与设计
  • WPF打开对话框选择文件、选择文件夹
  • 数组、list、set、map集合之间相互转换
  • C++基础从0到1入门编程(二)
  • 免费开源的区域屏幕录制(gif转换)工具(支持编辑功能)
  • 第三十三节——组合式API生命周期
  • node 第十八天 中间件express-session实现会话密钥
  • 【MATLAB源码-第80期】基于蚯蚓优化算法(EOA)的无人机三维路径规划,输出做短路径图和适应度曲线
  • gitlub 加载慢问题处理