首页 > 其他分享 >1_JVM整体结构

1_JVM整体结构

时间:2024-03-09 20:45:10浏览次数:22  
标签:Java 虚拟机 整体 指令 JVM 架构 执行 结构

1_JVM整体结构

HotSpot VM是目前市面上高性能虚拟机的代表作之一,JVM整体结构如下所示:

JVM架构图

Java语言跨平台性:

Java语言跨平台性

Java虚拟机输入的指令基本上是一种基于栈的指令级架构,另外一种指令集则是基于寄存器的指令级架构。这两种架构之间的区别如下:

  • 基于栈式架构特点
    • 设计和实现更简单,适用于资源受限的系统。
    • 避开了寄存器的分配难题:使用零地址指令分配方式。
    • 指令流中的指令大部分是零地址指令,其执行过程依赖操作栈。指令集更小,编译器容易实现。
    • 不需要硬件实现,可移植性更好,更好实现跨平台。
  • 基于寄存器架构特点
    • 典型的X86的二进制指令集,比如传统的PC以及Android的Davlik虚拟机。
    • 指令级架构完全依赖硬件,可移植性差。
    • 性能优秀,执行更高效。

由于跨平台性的设计,Java指令是根据栈来设计的。由于不同平台的CPU架构不同,所以不能设计基于寄存器的指令集。

JVM的生命周期

虚拟机的启动

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

虚拟机的执行

  • 一个运行中的Java虚拟机有着一个清晰的任务,执行Java程序。
  • 程序开始执行时它才运行,程序结束时他就终止。
  • 执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程。

虚拟机的退出

有如下的几种情况:

  • 程序正常执行结束
  • 程序在执行过程中遇到了异常或者错误而终止
  • 由于操作系统出错导致Java进程终止
  • 某线程调用System的exit方法等导致退出

标签:Java,虚拟机,整体,指令,JVM,架构,执行,结构
From: https://www.cnblogs.com/lilyflower/p/18063255

相关文章

  • C 结构体中的位域概念
    位域一、基本概念1.1位域的概念结构体中的冒号表示位域,如:structbit_struct{unsignedintbit1:10;unsignedintbit2:8;unsignedintbit3:14;}data1;//sizeofdata1=4structbit_struct{unsignedintbit1:10;unsignedintbit2:8......
  • 探索数据结构:单链表的实战指南
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • js 解释数据结构
    一、 JSON.parse 妙用用如下语句打印:console.info(result);   console.info(result.data);   console.info(JSON.parse(result.data));   console.info(JSON.parse(result.data).data.PriceSheetId);   console.info(result.data.Data);打印......
  • C 语言整数单链表的表示和实现 数据结构课程设计报告
     数据结构课程设计报告专业名称:计算机科学与技术 课程名称:数据结构        实训题目:整数单链表的表示和实现                           实训环境:C语言实现(DevC++)                    ......
  • C/C++结构体最详细的讲解
    转载自知乎:https://zhuanlan.zhihu.com/p/6117720311.定义结构体法一(推荐,写法简单)structStudent{stringm_Name;intm_Age;Student()=default;Student(stringname,intage):m_Name(name),age(m_Age){}};一般定义结构体和类时,如果不写关于构造函数的任何东西,结构......
  • 双体技术学习选择结构
    选择结构ifif-else-elseswitchif···javapublicclasssda{publicstaticvoidmain(String[]args){intx=1;inty;if(x>0){y=x;}else{y=-x;}System.out.println(y);}}if-else-else···javapublicclasssda......
  • MySQL(一):整体架构
    1、整体概述  MySQL是由连接池、管理工具和服务、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。1.1、ConnectionPool-连接池创建数据库连接是一个耗时的操作,连接池的作用就是将这些连接缓存下来,再次访问数据库时,可以直接用已经建立好的连接,提升服......
  • nginx配置文件结构详解
    nginx配置文件(conf文件夹下nginx.conf文件为nginx配置文件)结构详解:main块(全局块):nginx全局信息,指令的相关配置events块:nginx工作模式,与用户网络连接的相关配置http块:http协议信息,代理,缓存,日志大多数功能和第三方模块的的相关配置server块:虚拟主机的相关配置(一个http块中可有......
  • 数据库基本结构及原理
    数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。数据库管理系统(DataBaseManagementSystem,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性......
  • 4-1张量的结构操作
    本篇我们介绍张量的结构操作。张量结构操作主要包括:张量创建、索引切片、维度变换、合并分割。1.创建张量张量创建的许多方法和numpy中创建array的方法很像。importnumpyasnpimporttorcha=torch.tensor([1,2,3],dtype=torch.float)print(a)"""tensor([1.,......