美文网首页
JVM与java体系结构

JVM与java体系结构

作者: qwerdf0929 | 来源:发表于2022-01-18 14:14 被阅读0次

课程逻辑

  1. JVM与java体系结构
  2. 类加载子系统
  3. 运行时数据区
  4. 执行引擎
  5. 垃圾回收

多语言混合编程:

其他语言通过自己的编译器生成jvm字节码文件,也可以在jvm上运行

jvm定义:

jvm就是二进制字节码

jvm特点:

  1. 一次编译,到处运行
  2. 自动内存管理
  3. 自动垃圾回收功能

jvm位置

  • 由下向上:硬件->操作系统->JVM->字节码文件->用户程序
  • 包含关系 jvm包含在jre内,jre包含中jdk内
  • jdk比jre多了api以及java语言

jvm整体结构

  • hotspot结构图如下:


    jvm整体结构
  • 多线程共享方法区、堆
    单线程单独拥有java栈、本地方法栈、程序计数器(程序计数寄存器)

  • 执行引擎
    将字节码翻译成二进制机器指令
    JIT编译器:编译执行(二次编译)、并将热点代码的机器指令缓存起来,和JVM的性能有关系

JVM的架构模型

  • 基于栈式结构

使用零地址指令方式分配
栈是内存层面的,不需要硬件支持,可移植性好,更好实现跨平台。

  • 基于寄存器架构

反编译命令:javap -v

由于跨平台性的设计,java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。
优点:跨平台指令集小

JVM的生命周期

  1. 启动
    通过引导类加载器创建一个初始类,这个类由具体虚拟机指定
  2. 执行
    执行java程序,真正执行的是一个jvm进程
  3. 关闭
    关闭的几种方式:
    1. 程序正常执行结束
    2. 遇到异常或错误终止
    3. Runtime或者System的exit方法
    4. 操作系统错误

JVM发展历程

HotSpot指的是热点代码探测技术

通过计数器找到最具编译价值代码
通过编译器和解释器协同工作,在最优化的程序响应时间与最佳执行性能中取得平衡

相关文章

网友评论

      本文标题:JVM与java体系结构

      本文链接:https://www.haomeiwen.com/subject/mjkkhrtx.html