一看就懂,详解Java中的类加载器机制,附热加载示例代码演示
爬墙小源氏:
很干货,就是讲的太快了,代码部分要暂停看才能跟上
【回复】紧凑一点吧。代码最好是自己亲手尝试一把。源码可以从置顶的gitee链接下载。
宁鲁世:
我敢说要是听懂了,就这问题可以吊打脚踢大部分面试官了
【回复】[doge]光一个platform class loader我就不知道
-少年阿飞-:
就你小子的视频最特别,16分钟我的得看一小时
江同学mc:
类加载器怎么知道上层类加载器能不能完成加载类的工作呢……[思考]
【回复】回复 @码场安员外 :嗯嗯、我认真看了视频,懂了懂了,感谢大佬,每次看完都有新发现,三连已献上,期待新的一波
【回复】上层类加载器返回null,则表示它不能完成加载工作。。。
不瘦到100斤不买衣服:
怎么理解类加载器之间是组合关系而不是继承关系啊
【回复】小白个人理解:看源码,类加载器之间,不是通过extends来互相继承,然后使用super关键词调用上级类加载器的加载类的方法,所以说,他们不是继承关系。而是使用了一个属性parent,比如A类加载器的parent是B加载器,在调用A加载器的loadClass()方法时,会先调用B加载器的loadClass(),也就是使用parent.loadClass()方法,他们是组合使用的。[口罩]
韵音尚影:
热加载的方式下,原类生成的对象没办法重复利用,只能舍弃吗[笑哭]那有一些ioc框架中创建的对象都怎么处理呢[笑哭]
樱弥呀:
视频的每一句话都需要进入我的笔记[辣眼睛]
BIBI757881520:
运行ClassNamespaceTest 报错了 请大佬指点!!!
Exception in thread "main" java.lang.ClassNotFoundException: cn.memset.app.entities.Employee
at cn.memset.sample.classloaders.MyCommonClassLoader.findClass(MyCommonClassLoader.java:65)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at cn.memset.sample.classloaders.MyCommonClassLoader.loadClass(MyCommonClassLoader.java:87)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at cn.memset.sample.ClassNamespaceTest.main(ClassNamespaceTest.java:15)
Process finished with exit code 1
【回复】回复 @BIBI757881520 :对应的包目录也要一并拷贝进去。视频的14:56开始,有拷贝操作的示例,你对照一下看看
【回复】回复 @BIBI757881520 :源码也比较简单,或者你尝试阅读一下示例的源码,应该很快就能理解其中的原理
子羽流沙:
高质量视频,16分钟硬生生看了个把小时,暂停和回退好多次,收获满满,谢谢up[打call]
BestPractice:
up主讲的真真真不错,如果有技术交流群就更好了