Eclipse: как загрузить огромный класс/интерфейс (включая более 40000 статических полей) в фоновом потокеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Eclipse: как загрузить огромный класс/интерфейс (включая более 40000 статических полей) в фоновом потоке

Сообщение Anonymous »

У меня есть интерфейс примерно с 40 000 статических полей (я знаю, что он огромен), и я пытаюсь загрузить его эффективно. Обычная загрузка занимает 10 секунд и замораживает поток пользовательского интерфейса Eclipse, что неприятно для пользователя. Чтобы предотвратить зависание, я попытался загрузить интерфейс в фоновом потоке, используя следующий код:

Код: Выделить всё

var thread = new Thread(() -> {
var classLoader = My_Small_Class_Of_The_Same_Plugin.getClass().getClassLoader();
try {
classLoader.loadClass("My_Super_Big_Interface");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
});
thread.start();
Неожиданно поток пользовательского интерфейса все еще зависает. Ответственный EquinoxClassLoader зарегистрирован как «параллельный», что звучит так, как будто его можно использовать в отдельном потоке для повышения производительности.
Почему это не работает?
Есть ли способ загрузить класс/интерфейс независимо от основного потока/потока пользовательского интерфейса?
Обратите внимание: я не хочу обсуждать размер интерфейса и что его следует разделить на несколько интерфейсов или классов. К сожалению, так дано и мне приходится с этим смириться.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -fields-in
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»