一、截图
二、代码和结果
1.代码
@Scheduled(fixedRate=5000)
public void schedulid1() {
System.out.append("当前JRE版本=").println(System.getProperty("java.specification.version"));
System.out.append("当前Spring版本=").append(SpringVersion.getVersion())
.append(" 当前Springboot版本=").println(SpringBootVersion.getVersion());
System.out.append("Thread.currentThread().getContextClassLoader()").println(" 如下👇");
System.out.println(Thread.currentThread().getContextClassLoader());
System.out.append("Thread.currentThread().getContextClassLoader().getParent()").println(" 如下👇");
System.out.println(Thread.currentThread().getContextClassLoader().getParent());
System.out.append("ClassLoader.getSystemClassLoader()").println(" 如下👇");
System.out.println(ClassLoader.getSystemClassLoader());
System.out.append("ClassLoader.getSystemClassLoader().getParent()").println(" 如下👇");
System.out.println(ClassLoader.getSystemClassLoader().getParent());
System.out.append("ClassLoader.getPlatformClassLoader()").println(" 如下👇");
System.out.println(ClassLoader.getPlatformClassLoader());
System.out.append("ClassLoader.getPlatformClassLoader().getParent()").println(" 如下👇");
System.out.println(ClassLoader.getPlatformClassLoader().getParent());
}
2.结果
当前JRE版本=15
当前Spring版本=5.3.4 当前Springboot版本=2.4.3
Thread.currentThread().getContextClassLoader() 如下👇
org.springframework.boot.devtools.restart.classloader.RestartClassLoader@1ef389a9
Thread.currentThread().getContextClassLoader().getParent() 如下👇
jdk.internal.loader.ClassLoaders$AppClassLoader@45ff54e6
ClassLoader.getSystemClassLoader() 如下👇
jdk.internal.loader.ClassLoaders$AppClassLoader@45ff54e6
ClassLoader.getSystemClassLoader().getParent() 如下👇
jdk.internal.loader.ClassLoaders$PlatformClassLoader@2ba26e96
ClassLoader.getPlatformClassLoader() 如下👇
jdk.internal.loader.ClassLoaders$PlatformClassLoader@2ba26e96
ClassLoader.getPlatformClassLoader().getParent() 如下👇
null
总结
ClassLoader.getSystemClassLoader()返回系统类加载器(应用类加载器)AppClassLoaderClassLoader.getPlatformClassLoader()返回平台类加载器PlatformClassLoader , java8以前是扩展类加载器ExtClassLoader
平台(扩展)类加载器无法通过getParent()获得引导(启动)类加载器BootstrapClassLoader, 它由本地代码编写