Топ питань
Часова шкала
Чат
Перспективи
Java Classloader
З Вікіпедії, вільної енциклопедії
Remove ads
Java Classloader (дослівно завантажувач класів Java) є частиною Java Runtime Environment, що динамічно завантажує Java класи в Java Virtual Machine.[1] Зазвичай класи завантажуються тільки за запитом (англ. on demand). Завдяки цьому, Java рантайм не має необхідності знати про файли і файлові системи, оскільки це делеговано завантажувачу класів.
У мові Java, бібліотеки, як правило, упаковані у файли Jar. Бібліотеки можуть містити об'єкти різних типів. Найважливішим об'єктом є клас. Java Classloader відповідальний за знаходження бібліотек, прочитання вмісту та завантаження класів що містяться в бібліотеках. Часто завантаження класів здійснюється на вимогу.
Remove ads
Процес завантаження класів
Кожен клас Java повинен бути завантажений завантажувачем класів. Коли JVM стартує, три завантажувачі класів використовуються:
- Bootstrap завантажувач класів
- Extensions завантажувач класів
- System завантажувач класів
Bootstrap завантажувач класів завантажує бібліотеки ядра Java(<JAVA_HOME>/lib директорія). Цей завантажувач класів, є частиною ядра JVM, написаний в придатному для цієї операційної системи коді.
Extensions завантажувач класів завантажує код в директорії <JAVA_HOME>/lib/ext чи в іншій директорії, яка прописана у параметрі java.ext.dirs. Імплементаця в sun.misc.Launcher$ExtClassLoader.
System(системний) завантажувач класів завантажує класи що розташовані за шляхом java.class.path, який мапується CLASSPATH системною змінною. Імплементований класом sun.misc.Launcher$AppClassLoader.
Примітки
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads