首页 > 代码库 > jvm
jvm
(1): null
这个是根类加载器,它是由本地代码(c/c++)实现的,你根本拿不到他的引用,但是他实际存在,并且加载一些重要的类,它加载(%JAVA_HOME%\jre\lib),如rt.jar(runtime)、i18n.jar等,这些核心库中包含了Java的核心类.
(2):扩展类加载器(ExtClassLoader),虽说能拿到,但是我们在实践中很少用到它,它主要加载扩展目录下的jar包,
%JRE_HOME%\lib\ext
(3):应用类加载器(AppClassLoader), 它主要加载我们应用程序中的类,如Test,或者用到的第三方包,如jdbc驱动包等。
通过委托机制,应用扩展类加载器——ext-bootstarp(找不到)-ext(找不到类)-app(加载)
启动类加载器(Bootstrap ClassLoader) 是C++ 写的 ,不能被java程序直接调用 输出为 null
通过类加载器 加载properties http://www.cnblogs.com/1540340840qls/p/6184109.html
public class PropertiesUtil { private static Properties p = null; static { InputStream in = null; try {// 通过自己的类找到 in = PropertiesUtil.class.getClassLoader().getResourceAsStream("config.properties") ; p = new Properties(); p.load(in); } catch (IOException e) { e.printStackTrace(); } finally { if(in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } } public static String getProperty(String key) { return p.getProperty(key); } }
类加载器详细 https://www.ibm.com/developerworks/cn/java/j-lo-classloader/index.html
jvm
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。