美文网首页
不同ClassLoader加载导致的java.lang.Clas

不同ClassLoader加载导致的java.lang.Clas

作者: 花花大脸猫 | 来源:发表于2019-12-25 15:35 被阅读0次

            由于pom中引入spring-boot-devtools导致,由于自带的热加载机制,会使用特定的类加载器RestartClassLoader 加载所有的classes目录下变化的class,

            RestartClassLoader 与jdk的AppClassLoader的差别, AppClassLoader是 RestartClassLoader 的父classloader,而应用中第三方jar相关的类都是由AppClassLoader进行加载,而其中通过方法计算出来的结果class一般都是由AppClassLoader进行加载的类,但是用于接收的classes下面的类classloader是其子类RestartClassLoader ,用子类classloader加载的类接收父类AppClassLoader加载的类,肯定会报出ClassCastException,反过来是没有这个问题的。

    报错截图

    相关文章

      网友评论

          本文标题:不同ClassLoader加载导致的java.lang.Clas

          本文链接:https://www.haomeiwen.com/subject/cgscoctx.html