摘要: 类加载机制 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这个过程被称作虚拟机的类加载机制 与那些在编译时需要进行连接的语言不同,在 Java 语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这 阅读全文
posted @ 2023-12-21 21:10 holyholic704 阅读(13) 评论(0) 推荐(0) 编辑
摘要: Class 类文件的结构 Class 文件是一组以 8 个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符,这使得整个 Class 文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在 当遇到需要占用 8 个字节以上空间的数据项时,则会按照高位在前 阅读全文
posted @ 2023-12-21 21:09 holyholic704 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 对象 1. 对象的创建 Java 是一门面向对象的编程语言,Java 程序运行过程中无时无刻都有对象被创建出来 1.1 类加载检查 当虚拟机遇到一条字节码 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果 阅读全文
posted @ 2023-12-21 21:03 holyholic704 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 运行时数据区域 JVM 在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域 JDK 1.7 JDK 1.8 1. 程序计数器(Program Counter Register) 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器 字节码解释器工作时就 阅读全文
posted @ 2023-12-21 21:01 holyholic704 阅读(62) 评论(0) 推荐(0) 编辑
摘要: JVM JVM(Java Virtual Machine)是一种能够执行 Java 字节码的虚拟机,是实现 Java 跨平台特性的核心部分,他屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以在多种平台上不加修改地运行 JDK、JRE 与 阅读全文
posted @ 2023-12-21 20:58 holyholic704 阅读(39) 评论(0) 推荐(0) 编辑