java
java类加载流程
- 顶层加载类,主要加载核心类库,
- 扩展类加载器
- 加载当前应用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 {} ]