码迷,mamicode.com
首页 > 其他好文 > 详细

JVM类加载器

时间:2020-06-02 10:56:13      阅读:39      评论:0      收藏:0      [点我收藏+]

标签:类加载器   虚拟机   jar   tst   类加载   结果   path   load   ext   

加载器从最底层开始往上的顺序

  1. BootStrap ClassLoader:rt.jar,C++实现,虚拟机的一部分
  2. Extention ClassLoader: 加载扩展的jar包
  3. App ClassLoader:指定的classpath下面的jar包
  4. Custom ClassLoader:自定义的类加载器

双亲委派机制

类收到了加载请求时,它是不会先自己去尝试加载的,而是委派给父类去完成,只有当父类加载器都反馈自己无法完成这个请求(也就是父类加载器都没有找到加载所需的Class)时,子类加载器才会自行尝试加载。

这样做的好处是,加载位于rt.jar包中的类时不管是哪个加载器加载,最终都会委托到BootStrap ClassLoader进行加载,这样保证了使用不同的类加载器得到的都是同一个结果。这也是一个隔离的作用,避免了我们的代码影响了JDK的代码。

JVM类加载器

标签:类加载器   虚拟机   jar   tst   类加载   结果   path   load   ext   

原文地址:https://www.cnblogs.com/androidsuperman/p/13029857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!