Posts Tagged ‘jar файл’

Оптимизация загрузки классов

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , ,

В этой статье вы познакомитесь с оптимизацией загрузки классов с помощью базы данных.

По умолчанию JRE загружает классы посредством специальных классов — загрузчиков (classloaders). Происходит это следующим образом. У загрузчика класса запрашивается (например, посредством метода loadClass) экземпляр класса Class для необходимого класса. Загрузчик ищет класс в jar файлах, указанных в командной строке, и в файловой системе. Если необходимый файл с расширением .class будет найден — загрузчик вернет созданный по файлу экземпляр оболочки класса (Экземпляр Class), если нет — выбросит исключение.

Теперь займемся подсчетами. Каждый jar файл требует распаковки (если сжат). Время уходит на поиск файла, на его извлечение. Тут же выявляется еще один эффект. Поиск происходит последовательно в jar, в том порядке который был задан с командной строки. В командной строке их может быть порядка одного — двух десятков. Еще более тяжелая ситуация возникает когда приходится производить поиск в файловой системе — тут поиск может зятянуться на десятые доли секунды. (далее…)