我希望系统类加载器接管我的应用程序的类加载。所以,如果我运行我的程序,
java -Djava.system.class.loader=MyClassLoader Main
我希望 Main 由 MyClassLoader 加载,以便我可以控制应用程序中的类加载。但这不会发生。Main 仍由默认系统类加载器 (sun.misc.Launcher$AppClassLoader) 加载,Main 引用的其他类也是如此。但是,对 getSystemClassLoader() 的调用会返回 MyClassLoader 的一个实例。
这有什么用?由我的自定义系统类加载器加载 Main 是否有意义?如何控制我的应用程序的类加载?谁使用 getSystemClassLoader() 值?