最近,计算机科学专业人员要求我描述Java中的类加载器。我向他解释了3个类加载器,即#34; BootStrap CL"," Extension CL"和"应用程序CL",我还向他解释了" Deligation Algorithm"。接下来他让我证明,有人能给我一个代码来实际看到执行中的类加载器吗?
答案 0 :(得分:1)
有几种方法可以解决这个问题:
显示不同的类具有不同的ClassLoader
个对象。例如,YourMainClass.class.getClassLoader()
可能是sun.misc.Launcher$AppClassLoader
,而System.class.getClassLoader()
是null(与其他系统类一样)。这是一个快速测试:
java.lang.System
'类加载器:null 父类加载器按以下方式使用:
显示OpenJDK源及其多个ClassLoader。
描述在现实世界中发生这种情况的应用程序。您可以讨论在运行时定义类的脚本引擎,servlet容器,某些构建系统等等。