logo

Дали Java се интерпретира или компилира

Програмният език Java е разработен в началото на 90-те години от Sun Microsystem. Java е обектно-ориентиран, прост, ефективен, стабилен език за програмиране с общо предназначение. Използва се предимно за уеб базирани корпоративни приложения. Първоначално е проектиран за вградени мрежови приложения, работещи на различни платформи.

Когато започнем да учим Java програмиране , възниква един въпрос: дали Java се интерпретира или компилира, или и двете. Освен това този въпрос може да бъде зададен от интервюирания във вашите интервюта, свързани с Java. Така че отговорът на този въпрос е Java се интерпретира и компилира . Въпреки това не е ясно дали Java се компилира или интерпретира. Той нито генерира машинен код след компилиране на изходен файл, нито интерпретира изходния файл за изпълнение на кодови инструкции ред по ред. За да отговорим на този въпрос, трябва да разберем как Java е независим от платформата език? Което означава, че можем да пишем Java код на платформа и да работим на други платформи, като например хардуерна операционна машина, без да правим никакви промени. Така че разбирането как Java постига независимост от платформата ще даде пълен отговор на този въпрос.

Java е напълно преносима; един и същ Java код ще работи идентично на различни платформи, независимо от хардуерната съвместимост или операционните системи.

Изходният код на Java първо се компилира в двоичен байт код с помощта на Java компилатор, след което този байт код се изпълнява на JVM (Java Virtual Machine), който е софтуерен интерпретатор. Така че Java се счита едновременно за интерпретирана и компилирана.

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

Нека го разберем с проста програма на Java:

Проста Java програма и тя работи

Създайте прост .java файл с помощта на любимия си текстов редактор:

Дали Java се интерпретира или компилира

Поставете кода по-долу в него:

 class Basic{ public static void main(String args[]){ System.out.println('Hello JavaTpoint'); } } 

И запазете файла.

Сега проверете нашата директория, където сме запазили .java файла.

Дали Java се интерпретира или компилира

Можем да изпълним Java приложение, като следваме две стъпки.

  1. Компилирайте програмата Java
  2. Изпълнете приложението

Компилирайте Java приложението:

За да компилирате Java програмата, изпълнете командата по-долу:

 javac Basic.java 

Горната команда ще компилира Java програмата и ще създаде .class файл на Java програмата, който съдържа байт кода на Java приложението.

Дали Java се интерпретира или компилира

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

Изпълнете приложението:

За да изпълните това приложение, изпълнете командата по-долу:

 java Basic 

Горната команда ще изпълни байтовия код и ще изпълни функционалността на програмата:

Дали Java се интерпретира или компилира

От горния резултат отпечатахме просто изявление.

Стъпка по стъпка изпълнение на Java програмата:

Дали Java се интерпретира или компилира
  1. Напишете Java код и запазете файла с .java
  2. Сега този файл ще бъде компилиран с помощта на Java компилатора, който е javac.
  3. Java компилаторът ще компилира Java файла и ще създаде .class файл с байтов код (който всъщност не е машинен код, за разлика от C компилатора)
  4. Този генериран байт код е неизпълним код и сега се нуждае от интерпретатор, за да го преобразува в машинен код. Тук JVM се справя с това.
  5. Сега JVM ще изпълни този байт код, за да изпълни Java байт код на машина.
  6. Сега нашата програма ще изпълни функционалността и ще даде желания резултат.

Заключение:

Java се счита едновременно за интерпретирана и компилирана. Той използва Java компилатор (javac) и JVM (който всъщност е софтуерно базиран интерпретатор), за да изпълни напълно Java приложение на машина.