Java类装载的过程及原理介绍计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:28:39
来源 100Test.Com百考试题网


  最近在研究osgi,在osgi里面里面有个很重要的东西,就是ClassLoader,所以,在网上搜集了一些资料,整理一下,

  并加入了自己的一些理解.

  (1)jvm的装载过程以及装载原理

  所谓装载就是寻找一个类或是一个接口的二进制形式并用该二进制形式来构造代表这个类或是这个接口的class对象的过程,

  其中类或接口的名称是给定了的。当然名称也可以通过计算得到,但是更常见的是通过搜索源代码经过编译器编译后所得到

  的二进制形式来构造。 在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,

  其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下:

  装载:查找和导入类或接口的二进制数据.

  链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的.

  校验:检查导入类或接口的二进制数据的正确性.

  准备:给类的静态变量分配并初始化存储空间.

  解析:将符号引用转成直接引用.

  初始化:激活类的静态变量的初始化Java代码和静态Java代码块。

  (2):java中的类是什么?

  一个类代表要执行的代码,而数据则表示其相关状态。状态时常改变,而代码则不会。当我们将一个特定的状态与一个类相对应起来,也就意味着将一个类事例化。尽管相同的类对应的实例其状态千差万别,但其本质都对应着同一段代码。在JAVA中,一个类通常有着一个.class文件,但也有例外。在 JAVA的运行时环境中(Java runtime),每一个类都有一个以第一类(first-class)的Java对象所表现出现的代码,其是java.lang.Class的实例。我们编译一个JAVA文件,编译器都会嵌入一个public, static, final修饰的类型为java.lang.Class,名称为class的域变量在其字节码文件中。因为使用了public修饰,我们可以采用如下的形式对其访问:


  java.lang.Class

相关文章


Java虚拟机支持的最大内存限制计算机等级考试
计算机二级辅导:javaRSA加解密计算机等级考试
Java入门技巧:Java语法集锦计算机等级考试
JAVA通过JNI调用本地C语言方法计算机等级考试
Java类装载的过程及原理介绍计算机等级考试
java.util.concurrent包的并发处理计算机等级考试
Java判断出栈顺序是否正确的方法计算机等级考试
计算机二级java辅导:Struts2标签计算机等级考试
struts2中一个form多个提交的方法计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛