Class.getName() 的静态调用
我偶然发现了以下代码:NestedRuntimeException
org.springframework.core
static {
NestedExceptionUtils.class.getName();
}
有这样一个块有什么用?
我偶然发现了以下代码:NestedRuntimeException
org.springframework.core
static {
NestedExceptionUtils.class.getName();
}
有这样一个块有什么用?
它将加载类以避免类装入器死锁。报告了一个错误(SPR-5607)“Non-trivial NestedRuntimeException.getMessage()可能导致OSGi上的死锁”,这是同一问题的解决方案。eagerly
NestedExceptionUtils
编辑:
在源代码中也将其作为注释提及。有关完整的源代码文档,请点击链接。下面是类的源代码部分。NestedRuntimeException
static {
// Eagerly load the NestedExceptionUtils class to avoid classloader deadlock
// issues on OSGi when calling getMessage(). Reported by Don Brown; SPR-5607.
NestedExceptionUtils.class.getName();
}