第七章 第三节 类加载器
Java虚拟机设计团队有意把类加载阶段中的“通过一个类的全限定名;来获取描述改类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需的类。实现这个动作的代码被称为“类加载器”(Class Loader) 3.1 类与类加载器 对于任意一个类,都必须由加载它的类加
Java虚拟机设计团队有意把类加载阶段中的“通过一个类的全限定名;来获取描述改类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需的类。实现这个动作的代码被称为“类加载器”(Class Loader) 3.1 类与类加载器 对于任意一个类,都必须由加载它的类加
1、加载 Java需要完成这三个事情: 通过一个类的全限定名获取定义此类的二进制流 将静态数据结构转化为方法区的运行时数据结构 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口 2、验证
1、整体概述 加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,类型的加载过程必须按照这种顺序按部就班地开始,而解析阶段
1、 Java虚拟机指令集所支持的数据类型 大部分指令都没有支持byte、char和short,设置没有任何指令支持boolean,是因为编译器会在编译器或运行期 将其转为对应的int类型数据。 2、字节码指令分类 加载和存储指令:将数据在栈帧中的局部变量表和操作数栈之间传输 将一个局部变量加载到操
1、class文件概述 Class文件是一组以8个字节(64位)为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用8个字节以上空间的数据项时,则会按照高位在前的方式