Java Classloader (дослівно завантажувач класів Java) є частиною Java Runtime Environment, що в Java Virtual Machine. Зазвичай класи завантажуються тільки за запитом (англ. on demand). Завдяки цьому, Java рантайм не має необхідності знати про файли і файлові системи, оскільки це завантажувачу класів.
У мові Java, бібліотеки, як правило, упаковані у файли Jar. Бібліотеки можуть містити об'єкти різних типів. Найважливішим об'єктом є клас. Java Classloader відповідальний за знаходження бібліотек, прочитання вмісту та завантаження класів що містяться в бібліотеках. Часто завантаження класів здійснюється на вимогу.
Процес завантаження класів
Кожен клас 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.
Примітки
- Mcmanis, Chuck (1 жовтня 1996). . . Архів оригіналу за 28 лютого 2021. Процитовано 13 липня 2020.
Посилання
- , "The basics of Java class loaders [ 13 липня 2011 у Wayback Machine.]", 1996
- , "Java Class Loading: The Basics [ 9 листопада 2020 у Wayback Machine.]", 2003
- , "Take Control of Class Loading in Java [ 4 грудня 2020 у Wayback Machine.]", 2006-06-01
- , "Inside Class Loaders [ 6 травня 2018 у Wayback Machine.]", 2003-11-12
- and , "Dynamic class loading in the Java virtual machine [ 19 квітня 2008 у Wayback Machine.]", In Proceedings of the 13th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'98), ACM SIGPLAN Notices, vol. 33, no. 10, ACM Press, 1998, pp. 36–44
- Dr. Christoph G. Jung, "Classloaders Revisited Hotdeploy [ 13 червня 2019 у Wayback Machine.]", Java Specialist Newsletter, 2001-06-07
- , "Managing Component Dependencies Using ClassLoaders [ 3 березня 2016 у Wayback Machine.]", 2005-04-13
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Java Classloader doslivno zavantazhuvach klasiv Java ye chastinoyu Java Runtime Environment sho v Java Virtual Machine Zazvichaj klasi zavantazhuyutsya tilki za zapitom angl on demand Zavdyaki comu Java rantajm ne maye neobhidnosti znati pro fajli i fajlovi sistemi oskilki ce zavantazhuvachu klasiv U movi Java biblioteki yak pravilo upakovani u fajli Jar Biblioteki mozhut mistiti ob yekti riznih tipiv Najvazhlivishim ob yektom ye klas Java Classloader vidpovidalnij za znahodzhennya bibliotek prochitannya vmistu ta zavantazhennya klasiv sho mistyatsya v bibliotekah Chasto zavantazhennya klasiv zdijsnyuyetsya na vimogu Proces zavantazhennya klasivKozhen klas Java povinen buti zavantazhenij zavantazhuvachem klasiv Koli JVM startuye tri zavantazhuvachi klasiv vikoristovuyutsya Bootstrap zavantazhuvach klasiv Extensions zavantazhuvach klasiv System zavantazhuvach klasiv Bootstrap zavantazhuvach klasiv zavantazhuye biblioteki yadra Java lt JAVA HOME gt lib direktoriya Cej zavantazhuvach klasiv ye chastinoyu yadra JVM napisanij v pridatnomu dlya ciyeyi operacijnoyi sistemi kodi Extensions zavantazhuvach klasiv zavantazhuye kod v direktoriyi lt JAVA HOME gt lib ext chi v inshij direktoriyi yaka propisana u parametri java ext dirs Implementacya v sun misc Launcher ExtClassLoader System sistemnij zavantazhuvach klasiv zavantazhuye klasi sho roztashovani za shlyahom java class path yakij mapuyetsya CLASSPATH sistemnoyu zminnoyu Implementovanij klasom sun misc Launcher AppClassLoader PrimitkiMcmanis Chuck 1 zhovtnya 1996 Arhiv originalu za 28 lyutogo 2021 Procitovano 13 lipnya 2020 Posilannya The basics of Java class loaders 13 lipnya 2011 u Wayback Machine 1996 Java Class Loading The Basics 9 listopada 2020 u Wayback Machine 2003 Take Control of Class Loading in Java 4 grudnya 2020 u Wayback Machine 2006 06 01 Inside Class Loaders 6 travnya 2018 u Wayback Machine 2003 11 12 and Dynamic class loading in the Java virtual machine 19 kvitnya 2008 u Wayback Machine In Proceedings of the 13th ACM Conference on Object Oriented Programming Systems Languages and Applications OOPSLA 98 ACM SIGPLAN Notices vol 33 no 10 ACM Press 1998 pp 36 44 Dr Christoph G Jung Classloaders Revisited Hotdeploy 13 chervnya 2019 u Wayback Machine Java Specialist Newsletter 2001 06 07 Managing Component Dependencies Using ClassLoaders 3 bereznya 2016 u Wayback Machine 2005 04 13