logo

Är Java-tolkad eller kompilerad

Programmeringsspråket Java utvecklades i början av 1990-talet av Sun Microsystem. Java är ett objektorienterat, enkelt, effektivt, robust och generellt programmeringsspråk. Den används främst för webbaserade företagsapplikationer. Det designades ursprungligen för inbäddade nätverksapplikationer som körs på olika plattformar.

När vi börjar lära oss Java programmering , en fråga uppstår: om Java tolkas eller kompileras, eller båda. Den här frågan kan också ställas av intervjupersonen i dina Java-relaterade intervjuer. Så svaret på denna fråga är Java är både tolkat och kompilerat . Det är dock inte klart om Java är kompilerat eller tolkat. Den genererar varken maskinkod efter att ha kompilerat en källfil eller tolkade källfilen för att exekvera kodinstruktioner rad för rad. För att svara på denna fråga måste vi förstå hur Java är ett plattformsoberoende språk? Vilket innebär att vi kan skriva Java-kod på en plattform och kan köra på andra plattformar som hårdvaruoperativmaskin, utan att göra några ändringar. Så att förstå hur Java uppnår plattformsoberoende kommer att ge ett fullständigt svar på denna fråga.

Java är helt portabelt; samma Java-kod kommer att köras identiskt på olika plattformar, oavsett hårdvarukompatibilitet eller operativsystem.

Java-källkoden kompilerades först till en binär bytekod med hjälp av Java-kompilatorn, sedan körs denna bytekod på JVM (Java Virtual Machine), som är en mjukvarubaserad tolk. Så Java betraktas som både tolkat och kompilerat.

Den kompilerade bytekoden tillåter JVM att vara liten och effektiv och snabbpresterande. Dessutom ger denna byte-kod portabilitet till programmeringsspråket Java. Det tillåter exekvering av den här koden till alla JVM som är korrekt implementerade på en maskin, oavsett maskin- och mjukvarukomponenter och konfigurationer av maskinen. Nästan alla webbläsare innehåller JVM för att exekvera Java-appletkoden.

Låt oss förstå det med ett enkelt Java-program:

Enkelt Java-program och det fungerar

Skapa en enkel .java-fil med din favorittextredigerare:

Är Java-tolkad eller kompilerad

Lägg koden nedan i den:

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

Och spara filen.

Kontrollera nu vår katalog där vi har sparat .java-filen.

Är Java-tolkad eller kompilerad

Vi kan köra en Java-applikation genom att följa två steg.

  1. Kompilera Java-programmet
  2. Kör applikationen

Kompilera Java-applikationen:

För att kompilera Java-programmet, kör följande kommando:

 javac Basic.java 

Kommandot ovan kommer att kompilera Java-programmet och skapa en .class-fil för Java-programmet som innehåller bytekoden för Java-applikationen.

Är Java-tolkad eller kompilerad

Vi kan se från ovanstående utdata att efter kompilering av Java-programmet skapas en .class-fil. Den här filen innehåller bytekoden för Java-programmet. Vi kan exekvera denna bytekod till vilken som helst av maskinerna som implementerar JVM.

Kör applikationen:

För att köra denna applikation, kör följande kommando:

 java Basic 

Ovanstående kommando kommer att köra bytekoden och utföra programmets funktionalitet:

Är Java-tolkad eller kompilerad

Från ovanstående utdata har vi skrivit ut ett enkelt uttalande.

Steg för steg körning av Java-programmet:

Är Java-tolkad eller kompilerad
  1. Skriv Java-kod och spara filen med .java
  2. Nu kommer den här filen att kompileras med hjälp av Java-kompilatorn, som är javac.
  3. Java-kompilatorn kompilerar Java-filen och skapar en .class-fil med bytekod (som egentligen inte är en maskinkod, till skillnad från C-kompilatorn)
  4. Denna genererade bytekod är en icke-körbar kod, och nu behöver den en tolk för att konvertera den till maskinkod. Här sköter JVM det.
  5. Nu kommer JVM att exekvera denna bytekod för att exekvera Java-bytekod på en maskin.
  6. Nu kommer vårt program att utföra funktionaliteten och ger önskad utdata.

Slutsats:

Java anses både tolkat och kompilerat. Den använder en Java-kompilator (javac) och JVM (som faktiskt är en mjukvarubaserad tolk) för att köra en Java-applikation på en maskin helt.