1
我想在JVM启动时加载额外的类。具体来说,应该在加载所有核心库之后加载类(至少在rt.jar
和lib/ext
之后)。Java - 在JVM启动时加载额外的类
该类未被引用。它包含一个静态块,用于设置JVM范围的代理,我们希望所有的URL连接都可以使用。
我试过了-Xbootclasspath/a
,-Xbootclasspath/p
选项。随着-verbose:class
被添加到JVM_OPTS
以及由-Xbootclasspath
变体创建的加载/打开输出表明所有核心库都被“加载”,而我的JAR只是“打开”。
在所有核心类加载完毕后,是否有强制加载类的方法 - 或者还是更好地加载JAR中的所有类?
在你的回答中,当你写下“自定义类加载进入这个静态块。”你的意思是你只是引用静态类来加载?还是你做了其他事情?既然现在你提出这个解决方案已经两年了,你有没有找到更好的方法来做到这一点? – 2015-05-16 15:07:24
@AndrewBate我修改了我的描述(这是错误的)和代码,虽然我现在无法测试,所以请告诉我,如果你这样做。正如你所提到的,我很久以前就为一个特定的用例写了这篇文章,并且从那以后没有重新尝试相同的目标,所以没有更好的选择建议。我甚至不知道非静态初始化是必要的,我原以为你可以简单地在构造函数中调用'loadClass' ......但是再一次,我希望以很好的理由解决这个问题:) – KomodoDave 2015-05-18 07:53:12