JVM第一章

news/2024/10/16 20:13:07 标签: jvm

第一章

1、JVM的整体架构

在这里插入图片描述

2、Java代码的执行流程

在这里插入图片描述

解释执行:就是逐行执行

编译执行:就是将热点代码的字节码,二次编译成机器码,缓存到方法区后下次直接调用

3、JVM的架构模型

Java 编译器输入的指令流基本上是基于一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构

  • 基于栈式架构的特点

    • 设计和实现更简单,适用于资源受限的系统
    • 避开了寄存器的分配难题:使用零地址指令方式分配(零地址:只有操作数,没有操作地址【对应的有 一地址,有一个地址,一个操作数】
    • 指令流中的指令大部分是零地址指令,起执行过程依赖于操作栈。指令集更小,编译器容易实现。
    • 不需要硬件支持,可移植更好,更好实现跨平台性
  • 基于寄存器架构的特点

    • 指令集架构完全依赖硬件,可以可移植性差

    • 性能优秀,执行效率高

    • 花费更少的指令完成一项操作

4、JVM的生命周期

  • 虚拟机的启动:
    • Java虚拟机的启动是通过引导类加载器(bootstrop class loader)创建一个初始类(initial class)来完成,这个类是由虚拟机的具体实现指定的。
  • 虚拟机的执行:
    • 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序
    • 程序开始执行时它才运行,程序结束时它就停止
    • 执行一个所谓的Java程序时,真真正正在执行的是一个叫做Java虚拟机的进程
  • 虚拟机的退出:
    • 程序正常执行结束
    • 程序在执行过程中遇到了异常或错误而异常终止
    • 由于操作系统出现错误导致Java虚拟机进程终止
    • 某线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且Java安全管理器也允许这次操作

http://www.niftyadmin.cn/n/5708472.html

相关文章

防范数据泄露,守护安全存储新时代

在这个信息爆炸的时代,数据安全已经成为我们生活中不可或缺的一部分。无论是个人隐私、企业机密还是国家机密,数据的安全存储和传输都是我们最关注的问题。数据泄露、黑客攻击、隐私侵犯...这些词汇听起来就让人不寒而栗。想象一下,这时候一个…

从监控到优化:掌握磁盘 I/O 性能工具的使用

在当代计算机体系结构中,磁盘I/O性能是决定应用程序响应时间和系统综合效能的关键因素。通过对磁盘I/O性能实施细致的监控与优化策略,能够大幅度增强系统的运行效率与性能表现。本篇文章旨在推介一系列广泛采用的磁盘I/O性能分析工具,并通过具…

Mac中安装以及配置adb环境

一、adb介绍 Android 调试桥 (Android Debug Bridge) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作,例如安装和调试应用。adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。…

诺奖印证产业方向,AI先行者晶泰科技开拓黄金赛道

2024年诺贝尔奖揭晓的各奖项中,AI领域无疑成为“最大赢家”。 从诺贝尔物理学奖被授予两名AI科学家,到诺贝尔化学奖表彰三位科学家“用人工智能(AI)破译蛋白质的密码”,本届诺贝尔奖“含AI量”之高引起市场热议。 值…

vue elementui table编辑表单时,弹框增加编辑明细数据

需求: 前端进行新增表单时&#xff0c;同时增加表单的明细数据。明细数据部分&#xff0c;通过弹框方式增加或者编辑。 效果图&#xff1a; 代码&#xff1a; <!-- 新增主表弹窗 Begin --><el-dialog:title"titleInfo"top"5vh"centerwidth"…

RetinaNet 分类头和回归头的网络结构分析

RetinaNet 是由 Facebook AI Research&#xff08;FAIR&#xff09;在 2017 年提出的一种高效的一阶段&#xff08;one-stage&#xff09;目标检测算法。相比于两阶段&#xff08;two-stage&#xff09;方法&#xff0c;RetinaNet 通过引入 Focal Loss 解决了类别不平衡问题&am…

1.计算机网络_基本知识

基本知识 计算机网络的类别&#xff1a; 1、按作用范围来分类 2、按网络的使用者来分类 什么是计算机网络&#xff1a; 计算机网络由若干个节点和链接这些节点的链路组成&#xff0c;节点可以是计算机、集线器、交换机、路由器等。互联网络是多个网络通过路由器连接在了一起…

C语言[函数嵌套找大数]

输出4个整数&#xff0c;找到其中最大的数 &#xff08;使用函数嵌套调用来处理&#xff09; 代码说明: 使用一个主函数main 两个调用函数max4和max2 max4是4个数中最大的&#xff0c;max2是两个数中最大的&#xff0c;max4是将max2嵌套调用 #include <stdio.h> int …