Launcher类源码分析
2024-09-06 18:48:02
基于上一次获取系统类加载器这块进行分析:
关于这个方法的javadoc在之前已经阅读过了,不过这里再来仔细阅读一下加深印象:
这里有一个非常重要的概念:上下文类加载器:
它的作用非常之大,在后面会详细进行学习,先有个印象。
接着来看一下它的具体实现:
再来看一下是如何初始化的:
所以接下来将焦点定位到获取Launcher实例上:
那有没有办法获得它的源代码呢?当然有,这里就需要用到一个开源版本的JDK,叫Open Jdk,它跟Oracle的JDK90%以上的代码是一模一样的,它的网站是:openjdk.java.net,如下:
除此之外还有一个比较好浏览源代码的网站:grepcode.com,如下:
然后在里面搜一下咱们要查看的Launcher类:
好,接下来细读一下它的源码:
首先看一下具体获取扩展类的代码:
所以为啥之前在打印相关系统加类加器路径时会用到了“java.ext.dris”系统属性了,原因就是来自于源代码。
接着就回到了主流程:
另外我们看一下ExtClassLoader的继承体系:
所以其最终都是继承至ClassLoader,这次先分析到这,下次继续。
最新文章
- js实现css3的过渡,需要注意的一点(浏览器优化)
- 移动端API架构 统一Proxy还是各自为政?
- 准备开发一款开源NES模拟器
- Objective-C objc_class 介绍
- libcurl with telnet
- 分布式缓存BeIT Memcached简介(转载)
- 何为 pimpl ?
- cocos2dx 音效 粒子 数据存储
- hdu 3695 Computer Virus on Planet Pandora(AC自己主动机)
- Java的原始类型自动包装与解包机制
- OpenCV常用头文件介绍
- springboot整理
- excel怎么把单元格内某个字标红,其他字不变
- Spring Boot – 自定义PropertyEditor
- IndentationError 这个错误是缩进的问题
- iOS10 远程通知需要有entitlements的支持
- Go 程序的性能调试问题
- 阿里Java编码规范
- Oracle VM VirtualBox CentOS7桥接设置问题解决
- hadoop mysql install (5)