# JVMStudy **Repository Path**: dahuajia/jvmstudy ## Basic Information - **Project Name**: JVMStudy - **Description**: Java虚拟机学习笔记及相关代码示例等。参考视频:https://www.bilibili.com/video/BV1PJ411n7xZ - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-10 - **Last Updated**: 2023-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: jdk, jdk工具集用法, jvm架构 ## README # JVM 学习代码 ### 学习视频 https://www.bilibili.com/video/BV1PJ411n7xZ ### 学习文档 https://www.yuque.com/u21195183/jvm/qpoa81 ## 模块说明 ### chapter01 字节码文件及虚拟机的启动方式 #### 查看反编译字节码文件 ![image-1](src/main/resources/static/images/1.png) ![image-2](src/main/resources/static/images/2.png) >> javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区 (字节码指令)、局部变量表、异常表和代码行偏移量映射表、常量池等信息。 ### chapter02 类加载流程及Clinit函数 #### Clinit函数 初始化阶段就是执行类构造器方法()的过程。 此方法不需定义,是javac编译器自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并而来。 构造器方法中指令按语句在源文件中出现的顺序执行。 ()不同于类的构造器。 ![image-3](src/main/resources/static/images/3.png) ### chapter03 类加载机制 ### chapter04 虚拟机栈 ### chapter05 本地方法栈与堆空间 -Xxx jvm运行时配置官网地址: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html ### chapter06 方法区(元空间) ### chapter07 执行引擎与常量池 ### chapter08 垃圾回收算法及相关概念 ### chapter09 垃圾回收器 ### chapter10 中篇:Class文件结构 ### chapter11 中篇:字节码指令集