不安全的方法可以确保对类进行初始化:
Unsafe.ensureClassInitialized(Class) line: not available [native method]
我怀疑这种类型的初始化不会像常规的Java类加载那样锁定类,因为我偶尔会遇到一些不可能的情况。以后可以根据需要提供更多详细信息,但是有人知道使用Unsafe进行类加载是否有这种怪癖?
顺便说一句,这是该类如何加载的简短堆栈跟踪:
Unsafe.ensureClassInitialized(Class) line: not available [native method]
UnsafeFieldAccessorFactory.newFieldAccessor(Field, boolean) line: 25
ReflectionFactory.newFieldAccessor(Field, boolean) line: 122
Field.acquireFieldAccessor(boolean) line: 918
Field.getFieldAccessor(Object) line: 899
Field.get(Object) line: 358
最佳答案
对于参考和Web搜索,事实证明您可以不使用Unsafe
来强制类初始化:Class.forName(cls.getName(), true, cls.getClassLoader());
不漂亮,但是可以。