Java虚拟机装载和初始化一个class类代码解析-创新互联

在 java 应用程序开发中,只有被 java 虚拟机装载的 Class 类型才能在程序中使用。只要生成的字节码符合 java 虚拟机的指令集和文件格式,就可以在 JVM 上运行,这为 java 的跨平台性提供条件。下面,我们来看看虚拟机是如何装载和初始化一个 class 类的。

创新互联公司基于分布式IDC数据中心构建的平台为众多户提供成都西云数据中心 四川大带宽租用 成都机柜租用 成都服务器租用。

装载一个类

学习过C/C++语言的读者知道,C/C++源代码必须首先别编译成本地的机器代码,然后还需要一个链接代码过程。该链接过程的主要任务就是:合并不同的源码文件产出的中间代码,并最终获得一个可直接执行的应用程序。然后,Java语言不是这么做的,Java应用中类似于链接过程的步骤是在字节码被装载到JVM中之后再执行的。


正如我们所知,JVM存在不止一个类加载器,不同的加载器使用不同的方式来加载类。但是,它们都只在必须加载类时,才开始装载类。当然,如果已装载完毕的类引用了某些未装载的类,类装载器会进一步去装载这些类,整个的装载过程是递归的。


装载时机与方式

在Java中,类的装载策略是由类加载器控制的。我们使用下面这个简单的示例代码来演示类的装载方式与时机:

// TestLoader.java
package compiler;
public class TestLoader {
public static void main(String[] args) {
System.out.println("test");
}
}

网站栏目:Java虚拟机装载和初始化一个class类代码解析-创新互联
链接分享:http://cdiso.cn/article/geoej.html

其他资讯