跳转到内容

欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。

Java:ClassLoader:修订间差异

来自WHY42
Riguz​(留言 | 贡献)
无编辑摘要
Riguz​(留言 | 贡献)
无编辑摘要
 
第3行: 第3行:
* <span class="article-label">Extension ClassLoader</span>加载<span class="article-label">$JAVA_HOME/lib/ext</span> 中的类,以及<span class="article-label">java.ext.dirs</span>定义的额外的扩展
* <span class="article-label">Extension ClassLoader</span>加载<span class="article-label">$JAVA_HOME/lib/ext</span> 中的类,以及<span class="article-label">java.ext.dirs</span>定义的额外的扩展
* <span class="article-label">Application ClassLoader</span>加载classpath中的类
* <span class="article-label">Application ClassLoader</span>加载classpath中的类
每一个<span class="article-label">java.lang.Class</span>都可以通过<syntaxhighlight lang="java" inline>Class#getClassLoader()</syntaxhighlight> 来获取到类到加载器。
ClassLoader使用双亲委派模型(delegation model)来定位类,实现自定义到ClassLoader的时候,通常应该先看其parent class loader是否能够解析类。


[[Category:Java]]
[[Category:Java]]

2021年4月30日 (五) 08:43的最新版本

  • 最顶级的类加载器,加载下面的类(主要是rt.jar)
  • 加载 中的类,以及定义的额外的扩展
  • 加载classpath中的类

每一个都可以通过Class#getClassLoader() 来获取到类到加载器。

ClassLoader使用双亲委派模型(delegation model)来定位类,实现自定义到ClassLoader的时候,通常应该先看其parent class loader是否能够解析类。