美文网首页
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