Thread.getContextClassLoader() == null?
Thread.getContextClassLoader() 可以为 null 吗? javadoc 不太清楚。
图书馆应该考虑这种情况吗?
更新:我问的原因是 beansbinding.dev.java.net
在这种情况下不起作用(我的代码确实 setContextClassLoader(null)
Can Thread.getContextClassLoader()
be null ? The javadoc is not really clear.
Should a library take this case into account ?
Update: the reason I asked is that beansbinding.dev.java.net
does not work in this case (and my code does setContextClassLoader(null)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从非 Java 线程中的 JNI 代码创建的 Java 线程具有 null ContextClassloader,除非创建者显式设置它。
同样在这种情况下 Thread.currentThread() 返回 null。
Java threads created from JNI code in a non-java thread have null ContextClassloader unless the creator explicitly sets it.
Also in such context Thread.currentThread() returns null.
是的,你应该这样做,有人可以调用 Thread.setContextClassLoader(null) ,并且你的库 IMO 应该能够处理这个问题。
Yes you should, someone could have called
Thread.setContextClassLoader(null)
and your library IMO should be able to deal with that.