JVM类加载器
Posted androidsuperman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM类加载器相关的知识,希望对你有一定的参考价值。
加载器从最底层开始往上的顺序
- BootStrap ClassLoader:rt.jar,C++实现,虚拟机的一部分
- Extention ClassLoader: 加载扩展的jar包
- App ClassLoader:指定的classpath下面的jar包
- Custom ClassLoader:自定义的类加载器
双亲委派机制
类收到了加载请求时,它是不会先自己去尝试加载的,而是委派给父类去完成,只有当父类加载器都反馈自己无法完成这个请求(也就是父类加载器都没有找到加载所需的Class)时,子类加载器才会自行尝试加载。
这样做的好处是,加载位于rt.jar包中的类时不管是哪个加载器加载,最终都会委托到BootStrap ClassLoader进行加载,这样保证了使用不同的类加载器得到的都是同一个结果。这也是一个隔离的作用,避免了我们的代码影响了JDK的代码。
以上是关于JVM类加载器的主要内容,如果未能解决你的问题,请参考以下文章