logo

Er Java-tolket eller kompilert

Java-programmeringsspråket ble utviklet på begynnelsen av 1990-tallet av Sun Microsystem. Java er et objektorientert, enkelt, effektivt, robust og generell programmeringsspråk. Den brukes først og fremst til nettbaserte bedriftsapplikasjoner. Den ble opprinnelig designet for innebygde nettverksapplikasjoner som kjører på forskjellige plattformer.

Når vi begynner å lære Java programmering , oppstår ett spørsmål: om Java er tolket eller kompilert, eller begge deler. Dette spørsmålet kan også stilles av intervjuobjektet i dine Java-relaterte intervjuer. Så svaret på dette spørsmålet er Java er både tolket og kompilert . Det er imidlertid ikke klart om Java er kompilert eller tolket. Den genererer verken maskinkode etter å ha kompilert en kildefil eller tolket kildefilen for å utføre kodeinstruksjoner linje for linje. For å svare på dette spørsmålet, må vi forstå hvordan Java er et plattformuavhengig språk? Noe som betyr at vi kan skrive Java-kode på en plattform og kan kjøre på andre plattformer som maskinvare, uten å gjøre noen endringer. Så å forstå hvordan Java oppnår plattformuavhengighet vil gi et fullstendig svar på dette spørsmålet.

Java er fullstendig bærbart; den samme Java-koden vil kjøre identisk på forskjellige plattformer, uavhengig av maskinvarekompatibilitet eller operativsystemer.

Java-kildekoden ble først kompilert til en binær bytekode ved hjelp av Java-kompilator, deretter kjører denne bytekoden på JVM (Java Virtual Machine), som er en programvarebasert tolk. Så Java betraktes som både tolket og kompilert.

Den kompilerte bytekoden tillater JVM å være liten og effektiv, og rask ytelse. Dessuten gir denne bytekoden portabilitet til programmeringsspråket Java. Den tillater å utføre denne koden til enhver JVM som er riktig implementert på en maskin, uavhengig av maskinvare- og programvarekomponenter og konfigurasjoner av maskinen. Nesten alle nettlesere inneholder JVM for å kjøre Java-appletkoden.

La oss forstå det med et enkelt Java-program:

Enkelt Java-program og det fungerer

Lag en enkel .java-fil ved å bruke din favoritt tekstredigerer:

Er Java-tolket eller kompilert

Legg inn koden nedenfor:

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

Og lagre filen.

Sjekk nå katalogen vår der vi har lagret .java-filen.

Er Java-tolket eller kompilert

Vi kan kjøre en Java-applikasjon ved å følge to trinn.

  1. Kompiler Java-programmet
  2. Utfør applikasjonen

Kompiler Java-applikasjonen:

For å kompilere Java-programmet, kjør kommandoen nedenfor:

 javac Basic.java 

Kommandoen ovenfor vil kompilere Java-programmet og lage en .class-fil av Java-programmet som inneholder bytekoden til Java-applikasjonen.

Er Java-tolket eller kompilert

Vi kan se fra utdataene ovenfor at etter kompilering av Java-programmet, opprettes en .class-fil. Denne filen inneholder bytekoden til Java-programmet. Vi kan kjøre denne bytekoden til alle maskinene som implementerer JVM.

Utfør applikasjonen:

For å kjøre denne applikasjonen, kjør kommandoen nedenfor:

 java Basic 

Kommandoen ovenfor vil utføre bytekoden og utføre funksjonaliteten til programmet:

Er Java-tolket eller kompilert

Fra utgangen ovenfor har vi skrevet ut en enkel uttalelse.

Trinnvis utførelse av Java-programmet:

Er Java-tolket eller kompilert
  1. Skriv Java-kode og lagre filen med .java
  2. Nå vil denne filen bli kompilert ved hjelp av Java-kompilatoren, som er javac.
  3. Java-kompileren vil kompilere Java-filen og lage en .class-fil med bytekode (som egentlig ikke er en maskinkode, i motsetning til C-kompilatoren)
  4. Denne genererte bytekoden er en ikke-kjørbar kode, og nå trenger den en tolk for å konvertere den til maskinkode. Her håndterer JVM det.
  5. Nå vil JVM kjøre denne bytekoden for å utføre Java-bytekoden på en maskin.
  6. Nå vil programmet vårt utføre funksjonaliteten og gi ønsket utgang.

Konklusjon:

Java betraktes som både tolket og kompilert. Den bruker en Java-kompilator (javac) og JVM (som faktisk er en programvarebasert tolk) for å kjøre en Java-applikasjon på en maskin fullstendig.