【JVM学习】之 ClassLoader

来源:互联网 发布:钱永健 知乎 编辑:程序博客网 时间:2024/05/06 06:00

Q:虚拟机如何加载这些Class文件?
Q:Class文件中的信息进入到虚拟机后会发生什么变化?

  ①虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。

  ②与那些在编译时需要进行连接工作的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的。

  ③Java里天生可以动态扩展的语言特性就是依赖运行期动态加载动态连接。(Tip:例如AOP(动态代理),因为Java是静态,不像Ruby Python 运行时修改源码,Java不行,Java只能修改字节码来实现运行时动态。即根据Class,读取字节码,进行修改,再形成字节数组,写入内存或文件,从而实现。)

  ④其他资料:Javasisit,ASM。

下面是学习资料,(记性不好(^__^) 嘻嘻……)

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

0 0
原创粉丝点击