Почему java в linux на каждый поток создает дескрипторы к jar файлам зависимостей?
Столкнулся с проблемой большого количества файловых дескрипторов в системе. Проверял с помощью lsof. И заметил что на каждый java поток создаются файловые дескрипторы к каждому jar файлу в папке зависимостей. Итого получается дескрипторов = количество потоков * количество файлов зависимостей. Что при большом количестве файлов в зависимостях создает проблему.
Почему так устроено в JVM? И можно ли потребовать чтобы дескрипторы jar файлов переиспользовались между потоками?
(Есть вариант - fat jar, но он не удобен при деплое)
Ну, если вкратце, то в линуксе, вообще практически всё принято делать через файлы.
Про конретную реализацию в JVM я ничего сказать не могу.
И вы говорите про "большое количество файловых дескрипторов" - это сколько?