java components java platform
Deze tutorial geeft een gedetailleerde beschrijving van Java als een platform en zijn componenten, d.w.z. JRE, JDK, Java Virtual Machine en het verschil tussen JRE en JDK:
Java is beschreven als een programmeertaal en als platform. In onze inleidende tutorial bespraken we al dat een platform een softwareomgeving is waarmee we programma's of applicaties kunnen uitvoeren.
In deze tutorial bespreken we Java als platform. We zullen ook de componenten van het Java-platform bespreken en kijken hoe ze werken.
Lees de Easy Java Training Series door.
Wat je leert:
Java-platform
Java-platform is een software of verzameling programma's die ons helpen bij het uitvoeren van applicaties die zijn geschreven in de programmeertaal Java. Een Java-platform bestaat uit een Java-compiler, een set bibliotheken en een uitvoeringsengine.
Het Java-platform is onafhankelijk van een bepaald besturingssysteem, waardoor de programmeertaal van Java een platformonafhankelijke taal is.
Java-platform bestaat uit de volgende componenten.
- Java-taal
- De Java Development Kit (JDK)
- De Java Runtime Environment (JRE)
- De Java-compiler
- De Java Virtual Machine (JVM)
Afgezien van de bovenstaande hoofdcomponenten, bevat het Java-platform ook garbage collectors, een set bibliotheken en andere aanvullende componenten en tools die nodig zijn om de Java-applicaties efficiënt uit te voeren.
Laten we eens kijken naar het volgende diagram dat de relatie tussen al deze componenten weergeeft.
Dus uit het bovenstaande diagram kunnen we concluderen dat,
JRE = JVM + bibliotheekklassen.
JDK = JRE + Developer tools.
software om video van elke website te downloaden
Voordat we elk van de componenten behandelen, moeten we eerst de uitvoeringsstroom van het uitvoeren van Java-programma’s begrijpen.
Het volgende diagram toont de stroom van een Java-programma.
Het bovenstaande diagram toont dus een eenvoudige uitvoeringsstroom voor een Java-programma. Een programma geschreven in Java-taal wordt gecompileerd door de Java-compiler (javac). In tegenstelling tot andere taalcompilers die machinecode genereren na compilatie, genereert de Javac-compiler een klassebestand dat uit bytecode bestaat.
Dit klassenbestand wordt nu aan Java Virtual Machine (JVM) gegeven, die het klassenbestand vertaalt naar een objectbestand met machine-afhankelijke code. Vervolgens wordt deze code uitgevoerd door de machine.
Laten we elk van deze componenten in detail bespreken.
Java-taal
Java is een programmeertaal die door het Java-platform wordt gebruikt. Java is een objectgeoriënteerde programmeertaal waarvan de syntaxis is afgeleid van C en OOPS-functies zijn afgeleid van C ++. Het heeft zijn syntaxis, regels, formaat en programmeerparadigma.
In deze serie leren we alle belangrijke concepten in Java en programmeren in detail.
De Java-compiler
Dit is een compiler voor Java-programmeertaal en zijn functie is om Java-klassebestanden te genereren uit de Java-broncode. Java-klassebestand bevat een platformonafhankelijke Java-bytecode.
Na het genereren van klassebestanden laadt JVM deze klassebestanden en interpreteert het de bytecode of compileert het naar machinecode met behulp van Just-in-time (JIT) -compiler.
De Java Virtual Machine (JVM)
JVM is het centrum van de programmeertaal Java en het Java-platform. De JVM zet de bytecode om in machinespecifieke code (ook bekend als objectcode in andere programmeertalen).
JVM biedt de functionaliteit van garbage collection, geheugenbeheer, beveiliging, enz. JVM is platformonafhankelijk en we kunnen de functionaliteit aanpassen met behulp van een virtuele interface die niet machine-afhankelijk is en ook onafhankelijk van het besturingssysteem.
Deze platformonafhankelijkheid van JVM stelt ons in staat om Java-programma's op de ene machine te maken en deze op een andere machine uit te voeren (WORA - Write - Once - Run - Anywhere).
Het volgende diagram illustreert de verschillende onderdelen van een JVM.
De JVM is aanwezig op het RAM. Wanneer het Java-programma door de Java-compiler wordt geconverteerd naar een klassebestand, moet het worden uitgevoerd.
Voor uitvoering wordt het klassenbestand door de klassenlader op de ram gebracht. Hier wordt de BYTE-code gecontroleerd op eventuele beveiligingsproblemen. Classloader is ook verantwoordelijk voor het laden, koppelen en initialiseren van het uit te voeren programma.
Het JVM-geheugen dat in het bovenstaande diagram wordt getoond, bevat verschillende componenten zoals weergegeven en ze helpen bij de uitvoering van het programma door pc-registers bij te houden die de huidige instructie bevatten die moet worden uitgevoerd, Heap die variabelen, arrays, enz.
JVM-geheugen bevat ook methodegebied en Native method stack die respectievelijk methodcode en native taalspecificatie bevatten. JVM-stack bevat de instantie van het programma of de huidige thread. Als er meer dan één thread is, heeft elke thread zijn JVM-stack.
Als het programma eenmaal goed is gekoppeld, wordt het doorgegeven aan de executiemachine. De uitvoeringsengine werkt samen met de native methode-interface en native method-bibliotheken. Native method-interface is een programmeerraamwerk waarmee Java-code bibliotheken en native applicaties kan oproepen die deel uitmaken van de native method-bibliotheken.
Vervolgens zet de executie-engine de bytecode om in native machinecode met behulp van just-in-time (JIT) -compiler. Vervolgens wordt het programma uitgevoerd door de machine.
Opmerking: JIT of Just-in-time-compiler is een onderdeel van de Java Virtual Machine (JVM). Het interpreteert een deel van de bytecode dat tegelijkertijd een vergelijkbare functionaliteit heeft. Met andere woorden, het zet de bytecode om in native machinecode op hetzelfde programmeerniveau. Dit is de reden waarom Java is gecompileerd, evenals een geïnterpreteerde taal.
hoe u EPS-bestanden opent in Windows
De Java Runtime Environment (JRE)
JRE is, zoals de naam al doet vermoeden, de runtime-omgeving die nodig is om Java-programma's en -toepassingen uit te voeren. JRE bestaat uit Java Virtual Machine (JVM) en binaire bestanden en andere klassen om Java-programma's met succes uit te voeren.
JRE is een subset van JDK en bevat geen ontwikkeltools zoals Java-compiler, debugger, enz. Dus als uw Java-applicaties ergens anders zijn ontwikkeld en u ze alleen op uw computer hoeft uit te voeren, kunt u JRE afzonderlijk installeren. Hiervoor moet u JDK installeren.
U moet een JRE op uw computer hebben geïnstalleerd, aangezien dit de minimumvereiste is om Java-programma's op uw computer uit te voeren.
De JRE omvat de volgende componenten.
- Codebibliotheken, eigenschapsinstellingen en bronbestanden : Deze omvatten bestanden zoals charsets.jar, rt.jar, etc.
- DLL-bestanden : Gebruikt door de virtuele machine van de Java-hotspotclient en de virtuele server van de server.
- Java-extensiebestanden Bijvoorbeeld, bestanden gerelateerd aan de locale specificatie zoals localedata.jar
- Bestanden vereist voor beveiligingsbeheer. Bijvoorbeeld, java.policy, java.beveiliging
- Applet-ondersteuningsklassen.
- True Type-lettertypebestanden : Meestal vereist door het platform.
Om een toepassing / programma geschreven in Java uit te voeren, moet JRE op uw systeem zijn geïnstalleerd. JRE is platformafhankelijk. Dit betekent dat u JRE moet downloaden en installeren dat compatibel is met uw besturingssysteem en architectuur.
De Java Development Kit (JDK)
Dit is de kerncomponent van elke Java-omgeving. JDK bevat JRE (Java Runtime Environment) samen met Java-compiler, Java-foutopsporing en andere kernklassen. JDK wordt gebruikt voor Java-ontwikkeling omdat het het volledige uitvoerbare bestand en de binaire bestanden biedt, evenals de tools die nodig zijn om een Java-programma te compileren en te debuggen.
JDK is een platformspecifieke software en daarom hebben we voor elk besturingssysteem afzonderlijke JDK-installatieprogramma's.
JDK bevat de volgende componenten:
- jConsole : Dit is een Java-bewakings- en beheerconsole.
- pot : Dit is de archiver. Deze tool wordt gebruikt om gerelateerde klassenbibliotheken in een enkel Jar-bestand te verpakken en om Jar-bestanden te beheren.
- jarSigner : Deze tool wordt gebruikt voor het ondertekenen en verifiëren van jar.
- Javap: Dit is een hulpmiddel voor het uit elkaar halen van klassenbestanden.
- kaken : Java-startprogramma voor JNLP-toepassingen.
- jhat : Java-heapanalysetool.
- jrunscript : Java-opdrachtregelscriptshell.
- jstack : Hulpprogramma dat wordt gebruikt om stapeltraces voor Java-threads af te drukken.
- Javadoc : Dit genereert automatisch documentatie van de broncode commentaren.
- appletviewer : Wordt gebruikt voor het uitvoeren van applets en foutopsporing zonder webbrowser.
- apt : Annotatieverwerkingstool.
- extCheck : Hulpprogramma dat wordt gebruikt om conflicten met jar-bestanden te controleren.
- belangrijk hulpmiddel : Met dit hulpprogramma kunt u Keystore manipuleren.
- policytool : Dit is een tool voor het maken en beheren van beleid.
- xjc : Dit is een onderdeel van de XML-binding (JAXB) API die XML-schema accepteert en Java-klassen genereert.
U kunt dus zien dat de componenten van JDK degene zijn die wij vanuit ontwikkelingsoogpunt nodig hebben.
Zoals weergegeven in het bovenstaande diagram, wordt de Java-broncode geconverteerd naar bytecodes door de Java-compiler die deel uitmaakt van JDK. Vervolgens wordt deze bytecode doorgegeven aan JVM (dit proces is hierboven al beschreven) en van daaruit gaat het naar JRE waar de code wordt uitgevoerd.
Nu we de details over JDK en JRE hebben gezien, gaan we nu de verschillen tussen JRE en JDK bespreken.
JRE versus JDK
Nee | JRE | JDK |
---|---|---|
7 | Neemt het gecompileerde / geïnterpreteerde Java-programma als invoer en genereert uitvoer. | Gecompileerd Java-bronprogramma en genereert een klassebestand dat vervolgens aan JVM wordt gegeven. |
een | JRE staat voor Java Runtime Environment. | JDK staat voor Java Development Kit. |
twee | Meestal gebruikt voor het uitvoeren van Java-programma's. | JDK wordt door ontwikkelaars gebruikt voor het ontwikkelen van Java-programma's. |
3 | Bevat Java Virtual Machine (JVM) erin gebundeld. | Heeft geen JVM. |
4 | JRE heeft geen Java-compiler en kan dus geen programma's compileren. | JDK heeft javac-compiler en is verantwoordelijk voor het compileren van programma's. |
5 | Bevat Java-klassebibliotheek, de Java-opdracht en andere infrastructuur. | JDK bevat tools zoals Javadoc en archiver die worden gebruikt om Java-applicaties te ontwikkelen. |
6 | JRE kan worden geïnstalleerd als een zelfstandig programma. | JDK is een afzonderlijk installatieprogramma en wordt gebundeld met JRE. |
Gevolgtrekking
In deze tutorial hebben we de details besproken van de Java Development Kit (JDK) die wordt geleverd met Java Runtime Environment (JRE) en Java-compiler. JRE bevat op zijn beurt Java Virtual Machine (JVM) die verantwoordelijk is voor het omzetten van bytecode die door de Java-compiler is gegenereerd in machinespecifieke code.
Al deze, inclusief de Java-taal, zijn componenten van een bovenliggende entiteit genaamd Java-platform, een omgeving die ons helpt een Java-applicatie uit te voeren. We hebben hier ook de gedetailleerde architectuur en werking van JVM besproken, evenals de uitvoering van een Java-programma.
Bekijk hier de Java-beginnershandleiding.
Aanbevolen literatuur
- Java Virtual Machine: hoe JVM helpt bij het uitvoeren van Java-applicaties
- Java SWING-zelfstudie: afhandeling van containers, componenten en gebeurtenissen
- Java-implementatie: creatie en uitvoering van Java JAR-bestand
- Toegang tot modificatoren in Java - Tutorial met voorbeelden
- Zelfstudie over reflectie in Java met voorbeelden
- Inleiding tot de programmeertaal van Java - videozelfstudie
- JAVA-zelfstudie voor beginners: 100+ praktische Java-videotutorials
- OOP Java: inleiding tot objectgeoriënteerd programmeren in Java