java类的加载的进程是甚么
Java类的加载进程包括以下步骤:
加载(Loading):将类的字节码文件加载到内存中。这个阶段由类加载器完成,类加载器将字节码文件从磁盘或网络读取到内存,并创建一个对应的Class对象。
验证(Verification):验证字节码文件的合法性。这个阶段确保字节码文件符合Java虚拟机的要求,并且不会危害到虚拟机本身的安全。
准备(Preparation):为类的静态变量分配内存空间并初始化默许值。在这个阶段,虚拟机为类的静态变量分配内存,并设置默许初始值。
解析(Resolution):将符号援用转换为直接援用。在Java程序中使用到的类、方法和字段都是通过符号援用来表示的,解析阶段将这些符号援用转换为对应的直接援用,使得程序可以直接访问这些类、方法和字段。
初始化(Initialization):履行类的初始化代码。在这个阶段,虚拟机会履行类的静态初始化语句,包括履行静态变量的赋值语句和静态代码块。
使用(Using):使用加载的类。在类加载完成后,就能够通过创建实例、调用方法或访问字段来使用这个类。
卸载(Unloading):卸载不再使用的类。当类不再被援用,且没有活动的实例时,虚拟机可以卸载这个类,释放内存空间。
需要注意的是,Java类的加载进程是按需进行的,即在需要使用某个类时才会加载它。
TOP