类加载顺序的问题
- maven项目中如果依赖了一个jar包, 然后这把这个jar包中的一个类复制重写了,类名及类所在的包路径均和jar包中的一样,只是把类中的几个方法实现做了一些修改,那么实际如果在其他地方使用到这个类的话是使用jar包中的还是我自己修改过后的这个类?
- 截图中这两种说法究竟是那种正确呢?
![图片.png](https://ucc.alicdn.com/pic/developer-ecology/95423ce356a24917888bd5fbebbfa258.png)
收起
景凌凯
2020-04-22 18:03:55
1369
0
1
条回答
写回答
取消
提交回答
-
- 一般是先加载自己的类。这个涉及到类的加载机制,具体你查下资料;-XX:+TraceClassLoading 可以在启动时加这个参数看加载过程
- 在前面的类先加载,后面的同名类会失效,maven中对你自己打包的jar引入放前面就行
- 有几次打破双亲委派模型的;打破双亲委派模型的两种情况:一种是关于这种模型本身的的缺陷所致、典型案例就是JNDI服务;还有一种就是对程序的动态性的追求所致、典型的就是常用的热部署、热替换等。
- 都是对的,第一种讲的是JVM类加载器;第二种:jdbc驱动包加载打破了双亲委派,SPI技术,JNDI,Jaxb技术,tomcat、应用了SPI技术的Dubbo都打破了JVM的双亲委派机制
2020-04-22 18:04:28