|
Много приятели може да са като мен, които използват JAVA от дълго време, но връзката и разликата между JDK, JRE и JVM винаги са били неясни. Днес ще напиша тази статия, за да изясня връзката между тримата.
JDK : Java Development ToolKit. JDK е ядрото на цялата JAVA, включително Java Runtime Environment, множество Java инструменти (javac/java/jdb и др.) и библиотеки, базирани на Java (т.е. Java API включват rt.jar). Най-популярният JDK е JDK, пуснат от Sun, освен Sun, има много компании и организации, които са разработили свой собствен JDK, като чуждестранни компании на IBM са разработили свой собствен JDK, а местните Taobao също са разработили свой собствен JDK, различни организации са разработили свой собствен JDK, за да получат подобрение в някои аспекти и да се адаптират към собствените си нужди, например JDK на IBM се смята за много по-ефективен от JDK на SUN. Но във всеки случай, първо трябва да овладеем основния Sun JDK. Съществуват три версии на JDK: J2SE, стандартно издание, стандартно издание, е версия, която обикновено използваме J2EE, enterpsise edtion, enterprise edition, използвайки този JDK за разработване на J2EE приложения J2ME, микро редакция, основно използвана за java приложения на мобилни устройства, вградени устройства
Често използваме JDK за Java API, Java API е интерфейсът за програмиране на приложенията на Java, всъщност това са някои Java класове, написани от нашите предшественици, включително някои важни езикови структури и основни графики, мрежови и файлови вход/изходи и др., които наричаме класове написани от нашите предшественици в нашите собствени програми, като основа за нашето собствено развитие. Разбира се, има все повече трети страни с по-добра производителност или по-мощни функции на разположение.
JRE: Java Runtime Enviromental. С други думи, всички Java програми трябва да са под JRE, за да работят. Включва JVM и JAVA основни библиотеки и поддържащи файлове. В сравнение с JDK, той не включва инструменти за разработка – компилатори, дебъгери и други инструменти.
JVM: Java Virtual Mechinal (JAVA виртуална машина). JVM е част от JRE, който е измислен компютър, реализиран чрез симулиране на различни компютърни функции на реален компютър. JVM има собствена пълна хардуерна архитектура, като процесори, стекове, регистри и др., както и съответна система от инструкции. Основната задача на JVM е да интерпретира собствения си набор от инструкции (т.е. байткод) и да го съпоставя с набора от инструкции на локалния процесор или системните извиквания на операционната система. Езикът Java работи кросплатформено, което всъщност е различна операционна система, използвайки различни правила за JVM картографиране, за да стане независим от операционната система и да бъде напълно кросплатформен. JVM не се интересува от горните Java изходни файлове, а само от клас файловете, генерирани от изходните файлове. Класовият файл се състои от набор от инструкции на JVM, таблица със символи и допълнителна информация. Следващата фигура дава добър преглед на връзката между JDK, JRE и JVM:
Действителната ситуация на нашата разработка е, че след като разработим собствена JAVA програма с JDK (извикване на JAVA API), компилираме нашите текстови java файлове в JAVA байткод чрез компилатора (javac) в JDK, изпълняваме тези JAVA байткодове върху JRE, JVM парсира тези байткодове и ги съпоставя с инструкциите на процесора или системните извиквания на операционната система.
|