当前位置: 首页 > news >正文

八股---7.JVM

1. JVM组成

1.1 JVM由哪些部分组成?运行流程?

难易程度:☆☆☆        出现频率:☆☆☆☆

  • Java Virtual Machine:Java程序的运行环境(java二进制字节码的运行环境)
  • 好处:一次编写,到处运行;自动内存管理,垃圾回收机制

  • JVM  <---> 操作系统(windows、linux)<---> 计算机硬件(cpu、内存条)
    java跨平台是因JVM屏蔽了操作系统的差异,真正运行代码的不是操作系统

JVM 主要由四个部分组成: 运行流程:
Java 编译器(javac)将 Java 代码转换为字节码(.class 文件)

1. 类加载器(ClassLoader)

  • 负责加载 .class 文件,将 Java 字节码加载到内存中,并交给 JVM 执行

2. 运行时数据区(Runtime Data Area)

  • 管理JVM使用的内存主要包括:

  • 方法区(Method Area):存储类的元数据、常量、静态变量等。

  • 堆(Heap):存储所有对象和数组,垃圾回收器主要回收堆中的对象。

  • 栈(Stack):每个线程都有一个栈,用于存储局部变量、方法调用等信息。

  • 程序计数器(PC Register):每个线程有一个程序计数器,指示当前线程正在执行的字节码指令地址。

  • 本地方法栈(Native Method Stack):支持本地方法的调用(通过 JNI)。

3. 执行引擎(Execution Engine)

  • 负责执行字节码,包含:
  • 解释器:逐条解释执行字节码。

相关文章:

  • Qwen系列之Qwen3解读:最强开源模型的细节拆解
  • 开源项目实战学习之YOLO11:12.7 ultralytics-models-transformer.py
  • LLMs之RLVR:《Absolute Zero: Reinforced Self-play Reasoning with Zero Data》翻译与解读
  • 基于定制开发开源AI智能名片S2B2C商城小程序的首屏组件优化策略研究
  • 计数思想-众数
  • 【Java学习笔记】日期类
  • 香橙派3B学习笔记8:snap安装管理软件包_打包俩个有调用的python文件
  • cpp自学 day2(—>运算符)
  • unipp---HarmonyOS 应用开发实战
  • PHP环境极速搭建
  • 开源大模型网关:One API实现主流AI模型API的统一管理与分发
  • 工作记录 2018-08-21
  • leetcode189-轮转数组
  • 开源项目实战学习之YOLO11:12.6 ultralytics-models-tiny_encoder.py
  • 学习python做表格6月8日补录
  • 手写 vue 源码 === runtime-core 实现
  • Mysql 基础
  • 第二十七章 位置参数
  • Pinocchio 库详解及其在足式机器人上的应用
  • FPGA静态功耗
  • 天津建设培训中心网站/网页设计制作网站html代码大全
  • html网站开发心得体会/市场营销手段13种手段
  • 如何建设简易网站/手机系统流畅神器
  • 网站关键字多少合适/种子搜索引擎 磁力天堂
  • 懂做网站怎么赚钱/关键词有哪些?
  • 网站后台看不到部分内容/正规百度推广