2-JVM运行流程

news2024/11/14 20:20:06

JVM 是 Java 运行的基础,也是实现一次编译到处执行的关键,那么 JVM 是如何执行的呢?

  • 程序在执行之前先要把java源代码(.java)转换成字节码文件(.class)。
  • JVM 首先需要通过一定的方式类加载器(ClassLoader) 把字节码文件加载到内存中运行时数据区(Runtime Data Area)
  • 而字节码文件是 JVM 的一套指令集规范,并不能直接交给底层操作系统去执行,因此需要特定的命令解析器:执行引擎(Execution Engine)将字节码翻译成底层系统指令再交由CPU去执行。
  • 而这个过程中需要调用其他语言的接口:本地库接口(Native Interface) 来实现整个程序的功能。

这就是这4个主要组成部分的职责与功能。

JVM 主要通过分为以下 4 个部分,来执行 Java 程序的,它们分别是:

  1. 类加载器(ClassLoader)
  2. 运行时数据区(Runtime Data Area)
  3. 执行引擎(Execution Engine)
  4. 本地库接口(Native Interface)

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

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

相关文章

如何做好前端性能优化

前端推荐官网: http://luckycola.com.cn/ 前言: 前端性能优化一直是一个前端开发人员必须关注的经典话题,虽然现在随着技术的不断发展,网页容器(浏览器、webview)性能也越来越强大,但是网站应用的功能也不断丰富,体积不可避免的增加,当网络环境等因素不好时,仍然会存在白屏时…

【后端面经】MySQL主键、唯一索引、联合索引的区别和作用

【后端面经】MySQL主键、唯一索引、联合索引的区别和作用 0. 简介1. 主键2. 唯一索引3. 联合索引4. 索引对数据库操作的影响5. 其他索引5.1 普通索引5.2 全文索引5.3 前缀索引 6. 总结7. 参考资料 0. 简介 索引是一类特殊的文件,用来存储检索信息,使数据…

数值天气预报期末复习

数值天气预报期末复习 文章目录 数值天气预报期末复习(零)重点需要掌握知识点(一)什么是数值天气预报(二)数值模式的分类(三)各坐标系下的大气运动方程组3.1 局地直角坐标系3.2 球坐…

绩效跃升地图读书笔记20130618

绩效跃升地图,从5月份开始看,每天中午吃完饭休息的时候,坐在工位上,把看手机刷视频看八卦的时间,换成看书的时间,直到6月15日看完一本书。发现其实利用好碎片时间,还是可以读不少书的。 “绩效…

网络端口地址转换 NAPT 配置

你是某公司的网络管理员,公司办公网需要接入互联网,公司只向 ISP 申请了一条专线,该专线分配了一个公司 IP 地址,配置实现全公司的主机都能访问外网。 技术原理 NAT 将网络划分为内部网络和外部网络两部分,局域网主机…

Java集合详解

目录 友情提醒第一章、集合体系概述1.1)集合是什么?与数组的区别在哪1.2)集合体系与分类 第二章、集合体系中的Collection和List接口/Set接口2.0)List接口/Set接口两者区别2.1)Collection接口中的常用方法2.2&#xff…

【系统开发】尚硅谷 - 谷粒商城项目笔记(一):项目准备工作

文章目录 项目准备工作人人开源搭建后台管理系统数据库搭建前端项目搭建后端模块代码生成 项目准备工作 人人开源搭建后台管理系统 码云搜索人人开源 renren-fast-vue:前端 renren-generator:代码生成器 renren-fast:后台管理系统 用git…

系统设计蓝图:终极指南

系统设计蓝图:终极指南 设计开发一个健壮的、可扩展的、高效的系统可以是令人望而生畏. 但是,了解关键概念和组件可以使流程更易于管理。在这篇博文中,我们将探索基本的系统设计组件,例如 DNS、负载平衡、API 网关等,以…

python详解(7)——进阶(1):排序算法

目录 🏆一、前言 🏆二、什么是算法(简单) 🚩1、算法 🚩2、排序算法 🏆三、冒泡排序(中等) 🏆四、快速排序(困难) 🏆五&…

Android Studio 提高SDK下载速度

我们在下载Android SDK的时候,经常会出现下载失败的情况, 报android sdk manager not installing components之类的错误。 要如何加快SDK的下载速度呢 ? 我们可以通过修改Host来实现 关闭Android Studio的代理 首先,我们要关闭Android Stu…

华为HCIA备考 易错题整理 PART1

1.IEEE802.1Q定义的 VLAN 帧格式中VLAN ID总共有多少bit 答:12 2.NAPT允许多个私有IP地址通过不同的端口号映射到同一个公有IP地址上,且不需要做任何关于端口号的配置。 3.IEEE802.1Q定义的VLAN帧总长度为多少字节? 答:4 4.关于…

10种实用的Prompt技巧图解

收集整理了prompt engineering的10种实用技巧,以图解的方式解释了它们的主要原理。 本文追求以极简风格逼近这些方法的第一性原理,把黑话翻译成人话,并使用图片范例进行说明。 同时也加入了一些自己的理解,如有出入欢迎指正。 一&…

掌握Python的X篇_3_Python的两种编程方式:交互式与脚本式

掌握Python的X篇_3_Python的两种编程方式:交互式与脚本式 1. 交互式编程2. 脚本式编程3. 其他补充3.1 python源码文件后缀的问题3.2 关于原生工县和开发工具的选择 Python有两种编程方式: 交互式编程:写一行python语句,马上运行一行&#xf…

15-1.创建与引用自定义组件

目录 1 创建自定义组件 2 引用自定义组件 2.1 局部引用 2.2 全局引用 3 自定义组件的样式 1 创建自定义组件 在项目根目录下创建components,然后在components中创建 自定义组件名称 的文件夹,然后再自定义组件名称的文件夹中点击 新建Compon…

人体姿态估计技术的理解(Human Pose Estimination)

本人毕设题目是人体姿态估计技术的相关课题,本人按照自己对人体姿态估计技术的学习和理解进行论述,如有不足,请大家指正!!! 首先讨论一个问题:什么是姿态估计? “姿势估计?……姿势这个词对…

管理类联考——英语二——知识篇——写作——题目说明——A节

MBA,MPA,MPAcc管理类联考英语写作部分由A,B两节组成,主要考查考生的书面表达能力。共2题,25分。A节要求考生根据所给情景写出约100词(标点符号不计算在内)的应用文,包括私人和公务信函、通知、备忘录等。共…

elasticsearch安装dynamic-synonym插件

elasticsearch安装dynamic-synonym插件 ​ 今天就来和大家讲讲如何在es中安装dynamic-synonym插件,首先我们需要去github上下载与es版本对应的插件,一般github上基本都是本地词库和远程文本词库的,在gitee上可以找到采用数据库作为词库的源码…

就Python的发展前景、就业薪资、应用领域来看,你还有什么理由不学Python!

Python作为人工智能和数据分析第一语言,使得Python程序员成了当前人才市场的“抢手货”,工资待遇也水涨船高。 那么Python到底是什么?Python发展前景好么?Python容易学么?工资高么?技术小白适合学习么&…

【统信uos-server-20-1060e---详细安装openGauss】

【统信uos-server-20-1060e---详细安装openGauss】 🔻 一、前言🔻 一、安装前准备🔰 1.1 openGauss安装包下载🔰 1.2 安装环境准备⛳ 1.2.1 硬件环境要求⛳ 1.2.2 软件环境要求⛳ 1.2.3 软件依赖要求⛳ 1.2.4 关闭操作系统防火墙、…

如何在Allegro软件中进行射频微波电路设计?

随着时代高速发展,射频微波电路开始成为当代电子工程师在高频领域面临的重要挑战之一,如何提高设计效率,合理设计出一个优秀的射频微波产品,是很多电子工程师最头痛的问题,下面本文将聊聊如何通过Allegro软件设计吃优秀…