Java:ClassLoader:修订间差异

来自WHY42
无编辑摘要
无编辑摘要
 
第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是否能够解析类。