JVM学台的逻辑结构上来看,我们可以从下图来了解JVM:从下图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别:12对于JVM自身的物理结构,我们可以从下图鸟瞰一下:3?对于JVM的学习,在我看来这么几个部分最重要:?Java代码编译和执行的整个过程?JVM内存管理及垃圾回收机制?下面将这两个部分进行详细学(二)------Java代码编译和执行的整个过程?Java代码编译是由Java源码编译器来完成,流程图如下所示:5?Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:6?Java代码编译和执行的整个过程包含了以下三个重要的机制:?Java源码编译机制?类加载机制?类执行机制7Java源码编译机制Java 源码编译由以下三个过程组成:?分析和输入到符号表?注解处理?语义分析和生成class文件?流程图如下所示:8最后生成的class文件由以下部分组成:?结构信息。包括class文件格式版本号及各部分的数量与大小的信息?元数据。对应于Java源码中声明与常量的信息。包含类/继承的超类/实现的接口的声明信息、域与方法声明信息和常量池?方法信息。对应Java源码中语句和表达式对应的信息。包含字节码、异常处理器表、求值栈与局部变量区大小、求值栈的类型记录、调试符号信息9类加载机制?JVM的类加载是通过ClassLoader及其子类来完成的,类的层次关系和加载顺序可以由下图来描述:10
JVM学习笔记 来自淘豆网m.daumloan.com转载请标明出处.