在flink中的taskManager中的ClassLoader并不是使用的双亲委派机制
类加载器从子到父为
org.apache.flink.util.ChildFirstClassLoader@72031a7e
jdk.internal.loader.ClassLoaders$AppClassLoader@4b85612c
jdk.internal.loader.ClassLoaders$PlatformClassLoader@80f4325
再往上PlatformClassLoader的paretn ClassLoader就是null了,应该就到bootstrap classloader
AppClassLoader和PlatformClassLoader同一个taskManager中是不会变的,而每个slot的ChildFirstClassLoader会变
个人认为应该是双亲委派不能够满足flink的需求才换成ChildFirstClassLoader
因为在同一个jvm中如果使用双亲委派就做不到在不同的slot中执行任务,不然不同任务之间会互相影响,因为可能会存在全限定名一样的类。而每个slot使用不同的classloader则能够将不同任务使用的jar分开加载