浅谈深入理解Java虚拟机

    • JVM整体架构

    • JVM(虚拟机):指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VMWare,Virtual Box,Java Virtual Machine
    • Java虚拟机阵营:Sun HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Google Dalvik VM、Microsoft JVM...
    •                                                    浅谈深入理解Java虚拟机_第1张图片
      • JVM由三个主要的子系统构成
        •  
        • 类加载器子系统
        • 运行时数据区(内存结构)
        • 执行引擎
        • 浅谈深入理解Java虚拟机_第2张图片
    • 手动画了一张
    • Java运行时编译源码(.java)成字节码,由jre运行。jre由java虚拟机(jvm)实现。Jvm分析字节码,后解释并执行
    • 浅谈深入理解Java虚拟机_第3张图片
      • 类加载:类加载器将class文件加载到虚拟机的内存
        • 加载:在硬盘上查找并通过IO读入字节码文件
        • 连接:执行校验、准备、解析(可选)步骤
        • 校验:校验字节码文件的正确性
        • 准备:给类的静态变量分配内存,并赋予默认值
        • 解析:类装载器装入类所引用的其他所有类
        • 初始化:对类的静态变量初始化为指定的值,执行静态代码块
        • 区别 准备和初始化,静态变量准备时赋予的默认值,在初始化才赋予真实的值

你可能感兴趣的:(jvm)