java
java类加载流程
- Bootstrap ClassLoader 最顶层的加载类,主要加载核心类库,
- Extention ClassLoader 扩展的类加载器
- Appclass Loader也称为SystemAppClass 加载当前应用的classpath的所有类。
加载顺序
- Bootstrap ClassLoader (虚拟机的一部分)
- Extention ClassLoader
- AppClassLoader
双亲委托
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1DSYSOfi-1657618879763)(C:\Users\13583\AppData\Roaming\Typora\typora-user-images\image-20220712110121665.png)]
如果他有父类,就用父类的加载器加载,如果没有就用bootstarp 加载器加载
总结
- ClassLoader用来加载class文件的
- 系统内置的ClassLoader通过双亲委托来加载指定路径下的class和资源
- 可以自定义ClasssLoader一般覆盖findClass()方法
- ContextClassLoader与线程相关,可以获取和设置,可以绕过双亲委托的及自己
org.apache.common.cli 命令行参数解析
option用于 添加 BasicParser 解析
[ Options: [ short {xapSystempath=[ option: xapSystempath [ARG] :: XAP System Path :: class java.lang.String ], xapModule=[ option: xapModule [ARG] :: XAP Module Path :: class java.lang.String ], xapBase=[ option: xapBase [ARG] :: XAP Base Path :: class java.lang.String ]} ] [ long {} ]