关于类的加载:

  当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三个步骤来对该类进行初始化;
  
  JVM将会连续完成这三个步骤,也把这三个步骤统称为类加载或类初始化。

  类加载指的是将类Class文件读入内存,并为之创建一个java.lang.Class对象,也就是说程序使用任何类时,系统都会为之建立一个java.lang.Class对象。

  类是某一类对象的抽象,类是概念层次的东西,但类也是一种对象,每个类是一批具有相同特征的对象的抽象,而系统中所有类,它们实际上也是对象,都是java.lang.Class的实例。

  类的加载由类加载器完成,类加载器通常由JVM提供,这些类加载器也是所有程序运行的基础,JVM提供的这些类加载器通常被称为系统类加载器,开发者也可以通过继承ClassLoader基类来创建自己的类加载器。

  通过使用不同的类加载器,可以从不同来源加载类的二进制数据,通常有如下几种来源:
  1.从本地文件系统来加载Class文件,这是大部分实例程序的类加载方式

  2.从jar包中加载class文件,如JDBC编程时用到的数据库驱动类就是放在jar文件中,JVM可以从jar文件中直接加载该Class文件
  3.通过网络加载class文件
4.把一个java源文件动态编译,并执行加载。

posted on 2017-12-16 11:59  不丶懂  阅读(185)  评论(0编辑  收藏  举报

导航