samtiger


QQ:418148757
Name:yangchuan
数据加载中……
java基础---类加载机制
        java 的类加载机制分三步,加载  ---连接 ---初始化
       加载: 将.class文件中的二进制数据读入到内存中,把它存放在运行时数据区的反方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。
       jvm加载类二进制数据有这几种途径:
          a: 把一个java源文件动态编译成class文件。
          b: 从一个本地文件系统中加载class文件。
          c: 通过网络下载类的.class文件。比如:applat.
          d: 从Zip,jar或其它类型的归档文件中提取.class文件。
          e: 从一个专有的数据库中提取.class文件。
       连接:包括三个过程: 验证,准备,和解析。其中验证主要是检查与语法上的错误。准备将静态变量赋上其类型默认值。
   解析:将符号引用转变为直接引用。
       初始化:将静态变量赋上初始值,执行静态代码快,其顺序是从上到下的顺序执行。
      类加载器在加载不了类的时候,并不一定报错,而是类在第一次主动使用的时候,才会去报加载错误信息。
     类首次主动使用,大概有这些情况:
       1:调用了类的静态方法或变量。
       2:用反射的方式创建对象。
      

posted on 2007-10-25 09:42 sam.chuan.yang 阅读(201) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: