【JVM学习】JVM结构(一) 部分知识点简述

本文概述了JVM的作用,它是如何执行字节码的,包括其与Java语言的关系、字节码的通用性、JVM架构(如HotSpotVM)、运行时数据区的组成以及垃圾回收机制。重点强调了Java平台的多语言兼容性和JVM作为执行环境的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


文章中知识点摘自/总结于尚硅谷教育《剑指JVM:虚拟机实践与性能调优》

文章如有错误or需要完善,还请指正,非常感谢!
文章参考/节选尚硅谷教育《剑指JVM:虚拟机实践与性能调优》,感兴趣的朋友可以直接阅读此书。



知识点:
  1. JVM负责解释执行字节码的程序,不仅可以执行Java程序,任何一种能够编译成字节码的计算机语言都可以在JVM上运行,如Groovy、Scala、JRuby、Kotlin等语言。
  2. JVM可以抽象的看做一台计算机,有自己的指令集以及各种运行时内存区域。
  3. JVM与Java语言并没有必然的联系,只与特定的二进制文件格式–class文件格式所关联。class文件包含JVM指令集[或者称为字节码(Bytecode)]和符号表,以及其他辅助信息。只要其他编程语言的编译结果满足并包含JVM的内部指令集、符号表以及其他辅助信息,它就能被虚拟机识别并装载执行。
  4. 平时说的Java字节码,指的是用Java语言编译成的字节码。任何能在JVM平台上执行的字节码格式都是一样的,统称JVM字节码
  5. Java平台上的多语言混合编程正在成为主流,不同层用不同语言开发。接口对每一层的开发者都是透明的,各种语言交互不存在困难,最终都运行在一个虚拟机上。
  6. jdk包含jre包含jvm。
  7. 虚拟机分为物理虚拟机、程序虚拟机。前者有visualbox、VMware,完全是对物理计算机进行仿真。后者如JVM,专门为执行单个计算机程序而设计,在JVM中执行的指令称为Java字节码指令。
  8. JVM是一台可以执行Java字节码的虚拟机。运行的字节码文件不一定由Java语言编译而成。
  9. JVM包含自动垃圾回收的垃圾回收器和可靠的即时编译器。
  10. JVM是二进制字节码的运行环境。每一条Java指令,JVM规范中都有详细定义。
  11. JVM直接运行在操作系统上。
  12. hotspotvm是高性能虚拟机之一,采用解释器和即时编译器并存的架构。
  13. hotspotvm架构可以分成三层,
    • 最上层为类装载器子系统。javac编译器将编译好的字节码文件,通过Java类装载器执行机制,把对象或字节码文件存放在JVM内存划分区域。
    • 中间层为运行时数据区。主要是在Java代码运行时用于存放数据的区域,包括方法区、堆、Java栈、程序计数器、本地方法栈。
    • 最下层为执行引擎层。执行引擎包含解释器、jit编译器和垃圾回收器。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值