Java занимает много времени, прежде чем что-либо запускать, если время подключения к сети истекло
Интересно, почему для запуска любой программы Java должна использовать сеть. Поскольку мое подключение к беспроводной сети колледжа действительно отстой, я постоянно отключаюсь, но без какого-либо уведомления от точки доступа. Таким образом, я больше не могу получить доступ к сети, но операционная система все еще видит, что соединение установлено. (В моем случае я использую netctl в Arch Linux.)
В результате Java будет ждать 20 секунд, прежде чем запускать какой-либо код из метода main().
Эта проблема не появляется, если соединение не работает (с точки зрения сетевых утилит).
Знаете ли вы, почему Java это делает, и как это предотвратить?
Отредактируйте, поскольку это не кажется ясным:
Как воспроизвести ошибку:
- Используйте сломанный шлюз, такой как 240.0.0.1
- Напишите программу на Java с пустым методом main().
- Компиляция (javac)
- Запустите программу
Последний шаг занимает более 20 секунд.
Я хотел бы, чтобы вы объяснили не то, почему у меня проблемы с сетью, а то, что влияет на Java?
1 ответ
Проблема действительно была связана с библиотеками, так как пустой путь к классам решает проблему.
Обновление: как вы знаете, библиотека не была в сети, но делала запросы в сеть. Эта библиотека была JR.