由谁实现
JVM中,类的装载是由ClassLoader和它的子类来实现的,它负责在运行时查找和装入类文件中的类。
为什么这样实现
由于Java的跨平台性,经过编译的Java源程序并不是一个可执行程序,而是一个或多个类文件。当Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接、初始化。
如何实现
类加载阶段:把.class中的数据读到内存中。
连接阶段:这一阶段包括验证、准备(为静态变量分配内存并设置默认的初始值)和解析(将符号引用替换为直接引用)三个步骤。
初始化阶段:包括:
1)如果类存在直接的父类并且这个类还没有被初始化,那么就先初始化父类;
2)如果类中存在初始化语句,就依次执行这些初始化语句。