《Java虚拟机学习》 java代码的运行过程

news2024/11/17 17:36:51

1. Java文件转换

当我们保存java文件后,首先由编译器编译成class文件,然后通过Java虚拟机将class文件转换成字节码文件

img

2.Java虚拟机是怎么运行Java文件

首先将java文件加载到java虚拟机中,然后由虚拟机将类元信息存储在 虚拟机的方法区中。

img

执行时需要将字节码文件翻译为机器指令,有两种翻译方式:

  1. 即时编译
  2. 解释执行

解释执行 : 逐行将字节码指令转换为机器指令 。

即时编译 : 以方法为单位,将方法中的所有字节码编译成机器码。

即时编译编译时间久,但运行快。而解释执行编译时间短,但运行慢。

HotSpot 虚拟机采用的是混合模式,首先解释执行字节码,将其中反复执行的热点代码,以方法为代码,进行即时编译

3.热点数据的二八定律

即时编译同样也是建立在程序符合二八定律,百分之二十的代码占用了百分之八十的资源

对于不怎么占用资源的代码,可以采用解释执行的方式运行;而对于小部分的热点代码,采用即时编译将其转换成机器码执行,降低资源的占用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/496677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多态小Tips

目录 1.虚函数 2. 设置为虚函数 3.多态 4.多态类型的调用 5.抽象类和纯虚函数 6.虚表 7.练习题 1.虚函数 虚函数是被virtual修饰的类成员函数 virtual关键字只在声明时加上,在类外实现时不能加。 static和virtual不能同时使用。 2. 设置为虚函数 首先&#xff0c…

企业网盘选购攻略,如何选择最适合你的云存储服务?

在如今的企业办公中,每天都会产出各种不同类型的文件,传统纸质文件的管理方式,不仅不方便协作,而且容易丢失。于是企业将目光转向企业网盘工具,企业网盘的热门肯定了其在文件管理与协作方面的表现。那么企业网盘哪个好…

网络安全(非常详细)从零基础入门到精通,看完这一篇就够了。

学习网络安全方向会遇到哪些问题? 1.打基础的时间长 学基础花费了很长的时间,光学语言都有好几门,有的人会止步于学习linux系统及命令的路上,更多的人会停在学习语言上面; 2.知识点掌握的不够清楚 对于网络安全基础…

OpenPCDet系列 | 5.模型前向传播流程

文章目录 前向传播流程1. 模型初始化2. 模型训练前向传播前向传播流程 这里以PointPillars模型为例,在PointPillars模型中主要划分了以下4个主要的模块,以下某块首先会在build_network中进行初始化,然后在具体前向传播时通过forward函数进行。下面进行区分。 PointPillars…

TCP/IP网络编程(二)

TCP/IP网络编程读书笔记 第7章 优雅地断开套接字连接7.1 基于TCP的半关闭7.1.1 单方面断开连接带来的问题7.1.2 套接字和流(Stream)7.1.3 针对优雅断开的shutdown函数7.1.4 为何要半关闭7.1.5 基于半关闭的文件传输程序 7.2 基于Windows的实现7.3 习题 第…

揭秘|从帕丽斯·希尔顿引领其帝国进入元宇宙学到的品牌建设经验

你是否曾想过,元宇宙是如何与世界上的知名品牌和名人达成合作的?在本期的文章中,我们邀请了 11:11 媒体的 Web3 和元宇宙总监 Cynthia Miller,一起探讨帕丽斯希尔顿如何通过 Parisland 和 Cryptoween 将她的帝国带入 The Sandbox&…

嵌入式学习笔记——IIC通信

IIC通信 前言IIC概述通信特征物理拓扑结构IIC通信的流程IIC的特点: STM32的IIC通信GPIO模拟IICIIC的时序组成(主机对从机写入数据)1.起始信号2.器件地址与读写位3.从机应答信号5.传输的数据与结束信号 IIC的时序组成(主机对从从机…

MySQL调优系列(二)——数据类型优化

一、总则 1、更小的数据类型更好 应该尽量使用可以正确存储数据的最小数据类型,更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期更少,但是要确保没有低估需要存储的值的范围&#xff0c…

OpenCV中的图像处理3.1-3.3(三)色彩空间、几何变换、阈值处理

目录 3.1 改变色彩空间目标改变色彩空间对象跟踪如何找到HSV值来追踪?练习 3.2 图像的几何变换目标变换缩放平移旋转仿射变换透视变换其他资源 3.3 图像阈值处理目标简单的阈值处理自适应阈值处理Otsu的二值化Otsu的二值化是如何工作的?其他资源练习 翻译…

Netty基础(二)

1.Netty高性能架构设计 1.1.线程模型基本介绍 1>.不同的线程模式,对程序的性能有很大影响,为了搞清Netty线程模式,我们来系统的讲解下各个线程模式,最后看看Netty线程模型有什么优越性; 2>.目前存在的线程模型有: ①.传统阻塞I/O服务模型; ②.Reactor(反应器)模式; 3…

The Annotated Diffusion Model(翻译)

The Annotated Diffusion Model(翻译) 来源: https://huggingface.co/blog/annotated-diffusion code: 在这篇博文中,我们将更深入地研究去噪扩散概率模型(也称为 DDPM、扩散模型、基于分数的生成模型或简称为自动编…

一、PEMFC基础之热力学

一、PEMFC基础之热力学 1.内能U、焓H、熵S、吉布斯自由能G、赫姆霍兹自由能F关系图2.可逆电压与温度和压力的关系3.能斯特方程4.燃料电池效率 1.内能U、焓H、熵S、吉布斯自由能G、赫姆霍兹自由能F关系图 2.可逆电压与温度和压力的关系 标准状态可逆电压Er计算: E …

JAVA15新特性

JAVA15新特性 概述 2020年9月15日,java15正式发布,(风平浪静的一个版本)共有14个JEP,是时间驱动形式发布的第六个版本.相关文档: https://openjdk.java.net/projects/jdk/15/ 一个孵化器阶段,三个预览,两个废弃和两个移除 JAVA15参与企业 java各版本主要特征 JDK5 :enum 泛型…

【面试】面试官:说一下线程池7个参数的含义?

文章目录 前言一、参数1:corePoolSize二、参数2:maximumPoolSize三、参数3:keepAliveTime四、参数4:TimeUnit五、参数5:BlockingQueue六、参数6:ThreadFactory七、参数7:RejectedExecutionHandl…

5月1日启动|2023年CSC西部/地方合作项目即将申报

2023年国家留学基金委(以下简称CSC)西部地区人才培养特别项目(以下简称“西部项目”)及地方合作项目选派工作即将开始,为此知识人网小编整理出以下申请要点,提醒申请者注意。 一、可以申报的省份 1.西部项…

hive sql实战案例-访问开始结束时间

问题描述 现在我们有一张用户访问区域的记录表,有三个字段:user_id表示用户ID,area表示用户访问的区域,visit_time是访问时间。求用户对某一区域访问的开始和结束时间,结果如右表所示。 分析问题 101访问了上午和晚…

InnoDB 与MyISAM 的区别

MyISAM和InnoDB都是Mysql里面的两个存储引擎。 在Mysql里面,存储引擎是可以自己扩展的,它的本质其实是定义数据存储的方式以及数据读取的实现逻辑。 不同存储引擎本身的特性,使得我们可以针对性的选择合适的引擎来实现不同的业务场景。从而获…

大数据框架-Hadoop

大数据框架-Hadoop 1.什么是大数据 大数据是指由传统数据处理工具难以处理的规模极大、结构复杂或速度极快的数据集合。这些数据集合通常需要使用先进的计算和分析技术才能够处理和分析,因此大数据技术包括了大数据存储、大数据处理和大数据分析等方面的技术和工具…

工作日记NO.2

1. 安装局域网内网通; 2. 安装VS2017AutoCADObjectARX VS2017AutoCAD2020配置ObjectARX VS2017AutoCAD2020配置ObjectARX (dgrt.cn) 3. ObjectARX简介 ObjectARX简介 - CAD安装教程 - 土木工程网 (civilcn.com) CAD系统二次开发-ObjectARX中的实体造型技术 (r…

【LeetCode】9,回文数。 难度等级:简单。巧妙解法很多,值得推敲。

文章目录 一、题目二、我的解答:逐个判断对应位置的首末数字是否相同三、其他解答3.1 将数字x转为字符串进行处理3.2 反转一半数字进行比较 LeetCode 第9题,回文数;难度等级:简单 一、题目 二、我的解答:逐个判断对应…