URLClassLoader源码笔记
来源:互联网 发布:双色球大数据分析软件 编辑:程序博客网 时间:2024/05/16 01:10
在搜索加载Jar文件时,满屏都是URLClassLoader,简直是被玩坏了。作为不求甚解的人,都觉得太过不去了,看看源码吧。
- Classloader基础
- 关于resource
URLClassLoader的最终基类是ClassLoader。
- 支持并发的ClassLoader需要在初始化时,调用
registerAsParallelCapable()
注册自己 - 对于由ClassLoaderA读入的class中使用的其他class,JVM仍然使用
ClassLoaderA.loadClass()
解析 Collections.newSetFromMap()
创建一个以Map为数据存储的Set,Map是<E, Boolean>
的- 一个风骚的方法排布方式
ClassLoader(Void unused, ClassLoader parent);
....
this(checkCreateClassLoader(), getSystemClassLoader()); - 不鼓励重载
loadClass()
,鼓励重载findClass(String)
- 包名不允许java开头
- 包中的所有类的certs(目测是签名的公钥之类的东西)需要和本包中第一个被load的class相同
resolveClass
相当于GCC的link,解析与该类相关的其他符号
URLClassLoader的直接父类是SecureClassLoader,仅仅是做了一个ProtectionPermission的Cache。
再加一下Proxy的大概实现原理:根据所有的interface,动态生成字节码,写到ByteArrayOutputStream中(模拟一个class文件)。对于JVM来讲,Proxy与非Proxy的class是无差别的。
下面是URLClassLoader,没什么特别的。FUCK!!!看了一下午啊!!!啊啊啊!!!结论是,load本地jar包用URLClassLoader就好了,人家已经把文件考虑在内了,啊啊啊!!!
对于Dalvik,文件的ClassLoader是现成的。
0 0
- URLClassLoader源码笔记
- java URLClassLoader类源码
- URLClassLoader 学习笔记
- URLClassLoader
- URLClassLoader
- URLClassLoader
- URLClassLoader
- URLClassLoader
- Hadoop学习笔记六之 URLClassLoader && ConnectionRefused 异常
- Java URLClassLoader
- URLClassloader 例子
- URLClassLoader应用
- URLClassLoader类
- 利用URLClassLoader读取Jar包并反射类(利用Tomcat源码)
- java.net.URLClassLoader翻译
- Class和URLClassLoader
- URLClassLoader加载jar包
- URLClassLoader使用方法和实例
- IOS_UI_ImageView Image 手势 UISwitch UISegmentControl
- CC2541蓝牙学习——定时器1的捕获/比较功能(PWM)
- xpath: Python网页爬虫定位辅助利器
- CMS收集器的一些参数
- linux设备驱动归纳总结(八):2.match.probe.remove
- URLClassLoader源码笔记
- NSString / NSData / char* 类型之间的转换
- LoadLibraryA加载dll失败
- 自定义枚举类型注释属性,并在程序中获取
- 创建ATL工程及使用C++测试COM组件
- 原型模式-1
- Objective-C Foundation框架中的NSObject对象
- ngrok工具的介绍与使用,以及使用此工具时注意的事项
- windows 下 redis 安装配置