Я не совсем уверен, как я попал в эту ситуацию, но каким-то образом я получаю нулевой ClassLoader от Thread.getContextClassLoader. После небольшого чтения (не много информации в документах или в google) у меня сложилось впечатление, что для текущего потока действительно существует нулевой загрузчик классов, а вызовы getContextClassLoader должны быть проверены для нулевой ссылки.Может ли загрузчик классов контекста потока быть нулевым?
Это довольно удивительно, так как я видел пару проектов с открытым исходным кодом, которые не были проверены на getContextClassLoader (что позволило мне проверить это в первую очередь). В частности, эта линия в codemodel: JCodeModel.java line 358
(я просто проверить, что log4j не проверяет, а)
Так должны призывает getContextClassLoader проверить нулевую ссылку или что-то напутали с моими потоками?
Вам известно, загружен ли загрузчик контекстного класса автоматически, когда собственные потоки подключены к JVM? Я не уверен, как я дошел до точки, где загрузчик контекстного класса равен нулю, потому что все работало до сих пор. –
Когда создается «Thread», он наследует загрузчик класса контекста потока текущего «потока». –
это родные потоки, а не потоки java. –