对Java的理解
◆平台无关性
◆GC
◆语言特性
◆面向对象
◆类库
◆异常处理
谈谈反射
JAVA反射机制是在运行状态中, 对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
ClassLoader----类加载器
ClassLoader在Java中有着非常重要的作用,它主要工作在Class装载的加载阶段,其主要作用是从系统外部获得Class二进制数据流。它是Java的核心组件,所有的Class 都是由ClassLoader 进行加载的,ClassLoader负责通过将Class文件里的二进制数据流装载进系统,然后交给Java虚拟机进行连接、初始化等操作。
ClassLoader的种类:
> BootStrapClassLoader(启动类加载器) : C+ +編写,加載核心庠java.*
> ExtClassLoader(扩展类加载器) : Java編写,加載折展庠javax.*
> AppClassLoader(应用程序类加载器) : Java編写,加載程序所在目彖
> 自定乂ClassLoader(自定义的类加载器): Java編写,定制化加載
JVM通过双亲委派模型进行类的加载,当然我们也可以通过继承java.lang.ClassLoader实现自定义的类加载器。
类的加载过程 由上级的加载器加载 层层往上 直到加载器加载不了时 才往下一级的加载器传递 这样保证同一个加载器加载同一个类,比如Object类由启动类加载器加载
类的加载方式
> 隐式加载:new
> 显式加载:loadClass,forName等
JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化
loadClass,forName的区别:
Class.forName得到的class是已经初始化完成的
Classloader.loadClass得到的class是海没有链接的