Java 基础——类的加载
2016-06-19 21:48
253 查看
当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三个步骤来对该类进行初始化,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源文件动态编译,并执行加载。
相关文章推荐
- SpringMVC访问静态资源
- C 与 JAVA 的对比分析
- java中的synchronized实例(代码块)
- Java编程思想学习笔记之构造器
- Java课程总结
- java基础-html概述
- zookeeper
- 20145325张梓靖 《Java程序设计》第16周课程总结
- java线程执行器
- java 代码生成器相关代码
- 20145324Java课程总结
- java学习,第一天
- spring--bean 标签的一些属性的配置
- struts关于result知识
- 《Thinkinginjava》第5章-初始化与清理
- 浅析Spring AOP
- 拦截器与过滤器的区别
- spring security 的 logout 功能
- 20145118 《Java程序设计》课程总结
- List集合与Array数组之间的互相转换