首页 > 其他分享 >JVM简介

JVM简介

时间:2023-06-23 09:33:06浏览次数:36  
标签:Java 字节 本地 简介 JVM 执行 加载

网址:Java Virtual Machine Architecture in Java (javainterviewpoint.com)

1.JVM的主要组成部分

  • 类加载器、运行时数据区、执行引擎、本地库接口

2.执行流程

  1. 类加载器(ClassLoader)把Java代码转换为字节码
  2. 运行时数据区(Runtime Data Area)把字节码加载到内存中,而字节码文件只是JVM的一套指令集规范,并不能直接交给底层 系统去执行,而是由执行引擎运行
  3. 执行引擎(Execution Engine)将字节码翻译为底层系统指令,再交由CPU执行去执行,此时需要调用其他语言的本地库接口 (Native Method Library)来实现整个程序的功能

3.JVM运行时数据区

  • 堆、方法区、栈、本地方法栈、程序计数器
  • 堆解决的是对象实例存储的问题,垃圾回收器管理的主要区域。
  • 方法区可以认为是堆的一部分,用于存储已被虚拟机加载的信息,常量、静 态变量、即时编译器编译后的代码。
  • 栈解决的是程序运行的问题,栈里面存的是栈帧,栈帧里面存的是局部变量 表、操作数栈、动态链接、方法出口等信息。
  • 本地方法栈与栈功能相同,本地方法栈执行的是本地方法,一个Java调用非 Java代码的接口。
  • 程序计数器(PC寄存器)程序计数器中存放的是当前线程所执行的字节码的 行数。JVM工作时就是通过改变这个计数器的值来选取下一个需要执行的字节码 指令。

 

 

  

  

 

标签:Java,字节,本地,简介,JVM,执行,加载
From: https://www.cnblogs.com/bbjxw/p/17498422.html

相关文章

  • JVM杂记
    java之父:高斯林官方文档:https://docs.oracle.com/javase/specs/index.html官方在线PDF:https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf--->深入理解java虚拟机javaSE8:https://docs.oracle.com/javase/8/docs/硬件,软件,指令:高级语言-汇编语言-机器指令-CPUjava程序......
  • unity物理系统简介
               FT=MV  FT:冲量  MV:动量   F:物体所受的力 T:力所持续的时间  M:物体的质量  V:速度                          铰链装在哪个轴,锚点参数......
  • cmake简介及基本使用说明
    CMAKE是一个开源、跨平台的编译、测试和打包工具,它使用比较简单的语言描述编译、安装的过程,输出Makefile或者project文件,再去执行构建。在linux环境下编写C++程序是没有类似windows下编译器的一键编译和运行的按钮,只能由开发人员进行手动编译、运行;当多人协同开发一个较大的项目......
  • Mysql数据库简介
    由于之前文章已经初步了解过数据库的概念此处就不过多赘述了,直接进入本次主题,此次要介绍的是Mysql数据库,与之前介绍的Oracle数据库相比属于中型数据库,远远小于Oracle的容量体积(从软件的安装包大小就可看出),一个只要几百MB,一个却要好几个G。虽然安全性不如Oracle好,但Mysql相比Oracle......
  • Three.js教程:Threejs常见几何体简介
    推荐:将NSDT场景编辑器加入你的3D工具链其他系列工具:NSDT简石数字孪生Threejs常见几何体简介Three.js提供的几何体API很多,本节课先给大家介绍几个比较简单的案例,为后面的学习打下基础。你可以结合threejs文档,把下面动手把下面几何体相关代码全部测试一遍,并预览3D效果。//BoxG......
  • TiDB简介与应用场景
    引言在当今互联网时代,数据的规模和复杂性不断增长,传统关系型数据库面临着无法满足高并发和大规模数据存储需求的挑战。为了解决这一问题,开源社区涌现出了一系列分布式数据库解决方案,其中TiDB作为一种新兴的分布式数据库引起了广泛的关注。本文将介绍TiDB的基本概念、特点以及适用......
  • mmseg4j 中文分词器的一些简介整理
    在lucene中,我们是使用IndexWriter调用Analyzer将文章切成以词为单位的Stream,然后生成索引的。lucene内建的分词器很多,比如:按空白字符分词的WhitespaceAnalyzer,添加了stopword过滤的StopAnalyzer,以及最常用的是StandardAnalyzer。这些自带的分词器对中文支持多不好,我觉得比......
  • Gradle简介
    gradle跟ant/maven一样,是一种依赖管理/自动化构建工具。但是跟ant/maven不一样,它并没有使用xml语言,而是采用了Groovy语言,这使得它更加简洁、灵活,更加强大的是,gradle完全兼容maven和ivy。基本配置build.gradle首先明确gradle跟maven一样,也有一个配置文件,maven里面是叫pom.xml,而在gra......
  • jmeter入门简介
    1.引入1.1为什么要学习jmeter免费开源多系统兼容轻量级工具易用插件丰富功能强大接口功能测试接口自动化测试(jmeter+maven/ant+jenkins)接口性能测试与其他性能测试工具比较:apacheAB:不接受服务器返回数据,只返回code,比jmeter快,返回结果无意义loadrunner:商用......
  • 全网最新最全首届“陇剑杯”网络安全大赛完整WIRTEUP --- 简介
    分为理论题和ctf题目理论题20道,单选10个,多选10个,全队只能答1次,考察法律和理论技术ctf题目分为11个大题,具体是签到(1题)、jwt(6题)、webshell(7题)、日志分析(3题)、流量分析(3题)、内存分析(2题)、简单日志分析(3题)、SQL注入(3题)、wifi(1题)、ios(8题)、机密内存(5题),大题主中包......