Java 基础——类的加载
2016-01-24 15:06
441 查看
当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三个步骤来对该类进行初始化,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源文件动态编译,并执行加载。
类加载指的是将类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源文件动态编译,并执行加载。
相关文章推荐
- 【java】POJO 与javaBean(普通bean和EJB)
- java--String类练习---计算字符串的次数
- Java并发编程:阻塞队列及实现生产者-消费者模式
- 1.23 Java基础总结 方法的声明和调用
- Java EE知识体系
- 安卓蓝牙入门二-------整合版本
- struts的开发模式
- 1.22 Java基础总结 最常用冒泡排序
- JavaSE-匿名类_匿名内部类的使用
- java练习题---String类之求给定字符串中大小写字母的个数
- JDBC编程JAVA
- Java 高级类(上) —— 抽象类和接口
- JAVA web设置默认首页
- JavaSE-内部类
- MyBatis与Spring整合
- java_67---67,68没有看,pass
- svn-eclipse插件的安装
- Struts2 配置文件result的name属性和type属性
- Java 进阶——单例模式
- HTML和JAVA之子——jsp