Java ClassLoader在哪里?
从JVM的某个版本开始,出现了两种支持动态编程语言的重要功能:Java ClassLoader在哪里?,java,Java,从JVM的某个版本开始,出现了两种支持动态编程语言的重要功能:invokedynamic和匿名类加载器。如果第一个很容易通过org.objectweb.asmlibrary访问(标准Java库中提供了必要的辅助类,如CallSite和MethodHandle),那么我就找不到AnonymousClassLoader(sun.dyn.anon.AnonymousClassLoader或Java.dyn.anon.AnonymousClassLoader)。我使用OpenJDK8,这里没有这样的类
invokedynamic
和匿名类加载器。如果第一个很容易通过org.objectweb.asm
library访问(标准Java库中提供了必要的辅助类,如CallSite和MethodHandle),那么我就找不到AnonymousClassLoader(sun.dyn.anon.AnonymousClassLoader或Java.dyn.anon.AnonymousClassLoader)。我使用OpenJDK8,这里没有这样的类
我正在读这篇文章,不能重复上面引用的实验,因为Java编译器找不到匿名类加载器。网络上的搜索显示,关于这个类的信息非常少。但是,它似乎出现在JDK源代码中
有什么问题?我在哪里可以找到这个班?还是这项技术只是实验性的,最终被其他技术取代了?该类存在于早期版本的Java 8中,但后来被删除了 无论它是实验性的还是非实验性的,它都是一个内部类,并且内部类不打算由应用程序代码使用
但是,如果您感到好奇,该类的源代码可以在Mercurial存储库中找到。。。而且(尽管包名不同)。您不应该使用以
sun
开头的包中的内容,它们是可能在不同版本之间更改的实现细节,可能在不同供应商的JVM中不可用。