聊聊类加载机制
Posted miduos
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊聊类加载机制相关的知识,希望对你有一定的参考价值。
- 类加载机制,谈到双亲委派模型后会问到哪些违反了双亲委派模型?为什么?为什么要双亲委派?好处是什么?
常见的三种类加载器
启动器 Bootstrap c++编写的 jvm的一部分 开发者无法直接获取
标准扩展加载器类 Sun java的类库扩展包加载到内存
应用程序加载器 程序的类加载器
特殊的 线程上下文类加载器
继承应用程序加载器的用户自定义加载器
为什么使用?
防止内存中出现多份同样的字节码 、安全性
破坏jvm
第一次兼容
第二次 JNDI服务:JNDI的目的就是对资源进行集中管理和查找,它需要调用独立厂商实现部部署在应用程序的classpath下的JNDI接口提供者(SPI, Service Provider Interface)的代码。
第三次 osgi 一个模块一个类加载器
另外tomcat 奇特的双亲委派
WebappClassLoader内部重写了loadClass和findClass方法,实现了绕过“双亲委派”直接加载web应用内部的资源,当然可以通过在Context.xml文件中加上开启正统的“双亲委派”加载机制
为什么要这样做?
https://blog.csdn.net/qq_38182963/article/details/78660779
以上是关于聊聊类加载机制的主要内容,如果未能解决你的问题,请参考以下文章