Oбщи термини в Java

Преди да се пристъпи към изучаването на Java, е необходимо да бъдат изяснени понятието Java bytecode и разликите между JVM, JRE и JDK.

Java bytecode

Java bytecode е набор от инструкции за виртуалната машина на Java. Може да се дефинира като междинен код, генериран от компилатора след компилирането на изходния код (JAVA програма). При изпълнение на JAVA програма:

  1. компилаторът преобразува изходния Java код в bytecode (машинен код под формата на .class файл) и

  2. интерпретаторът изпълнява bytecode в системата. Интерпретаторът може също да се нарече JVM (Java Virtual Machine).

Bytecode е общата част между компилатора (който го създава) и интерпретатора (който го изпълнява). С негова помощ постигаме платформена независимост в Java, тъй като bytecode може да се изпълнява във всяка платформа, в която има инсталация на Java.

Java Virtual Machine (JVM)

JVM е абстрактна машина. Нарича се виртуална машина, защото не съществува физически. Това е спецификация, която предоставя среда за изпълнение, в която може да се изпълнява Java байткод. Всеки път, когато пишете Java команда в командния ред, за да стартирате Java клас, се създава инстанция на JVM.

JVM изпълнява следните основни задачи:

  • Зарежда кода

  • Потвърждава кода

  • Изпълнява кода

  • Осигурява среда за изпълнение

За всяка операционна система са предвидени различни JVM, но изходът, който произвеждат след изпълнение на bytecode, е еднакъв за всяка една от тях. Ето защо Java e платформено независим език.

Java Runtime Environment (JRE)

JRE е набор от софтуерни инструменти, които се използват за разработване на Java приложения. Използва се за осигуряване на среда за изпълнение, като имплементира JVM. Физически съществува. Той съдържа набор от библиотеки + други файлове, които JVM използва по време на изпълнение.

JRE е част от JDK, но може да съществува и самостоятелно. Когато имате JRE инсталиран на вашата система, можете да стартирате Java програма, обаче няма да компилирате такава. Когато е необходимо единствено да стартирате Java програма на компютъра си, JRE е напълно достатъчна.

Java Development Kit (JDK)

Както подсказва името, JDK е пълен комплект за разработка на Java програми, който включва JRE (Java Runtime Environment), компилатори (javac) и различни инструменти като JavaDoc, Java дебъгер и т.н. Създаването, компилирането и стартирането на Java програми изисква инсталиран JDK.

Javac е основният компилатор за Java, включен в Java Development Kit. Той приема Java програма като вход и генерира Java bytecode като изход.

Last updated