als je een Java-software bent die newbie ontwikkelt zoals Ik, heb je deze vraag een of twee keer eerder gesteld (meer dan waarschijnlijk in een interviewsetting). En als je op mij lijkt, heb je geprobeerd de verschillen te onderscheiden en heb je het behoorlijk moeilijk gehad om dat te doen.
dus-ik ga proberen om het op te splitsen in handelbare hapklare stukjes, zodat beginners zoals jij en ik onze hersenen kunnen wikkelen rond deze drie java nietjes. Laten we beginnen met de Betekenis van deze acroniemen..,
JDK vertegenwoordigt de “Java Development Kit”.
JRE staat voor “Java Runtime Environment”.
en JVM is gewoon de “Java Virtual Machine”.
het afbreken— de JDK: zowel de JRE als JVM kunnen worden ondergebracht in de JDK. Een JDK wordt gebruikt voor 1) Ontwikkelen 2) uitvoeren en 3) display code. De JDK is een superset van de JRE, en bevat alles wat in de JRE zit, plus tools zoals compilers en debuggers die nodig zijn voor het ontwikkelen van applets en applicaties (StackOverflow)., Als je een ontwikkelaar bent die geà nteresseerd is in het maken van je eigen Java applicaties of applets, wil je een JDK installeren. Voor ontwikkelaars die willen werken in een integrated development environment (IDE), een JDK gebundeld met Netbeans kan worden gedownload van de Oracle website (Techopedia). Er zijn verschillende JDKs voor een breed scala aan platforms. In een notendop, de JDK is een Java software Development environment, gebruikt door ontwikkelaars voor het maken en beheren van applicaties/applets.
OK! Laten we nu in de JRE: simpel gezegd, de JRE vertegenwoordigt de Java Runtime environment., Dit is waar de code is 1) uitgevoerd en 2) weergegeven. De JRE bevat een Java virtuele machine, class libraries, en andere ondersteunende bestanden. Het is essentieel voor het uitvoeren van een Java-applicatie / applet. Volgens Techopedia, de JRE bestaat uit de volgende componenten:
- Deployment technologies— met inbegrip van deployment, Java Web Start en Java Plug-In.,
- Integratiebibliotheken-inclusief Interface Definition Language( IDL), Java Database Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Remote Method Invocation (RMI), Remote Method Invocation via Internet Inter-Orb Protocol (RMI-IIOP) en scripting.
- andere basisbibliotheken-waaronder internationale ondersteuning, input / output( I / O), uitbreidingsmechanisme, Beans, Java Management Extensions (JMX), Java Native Interface (JNI), Math, Networking, Override mechanisme, beveiliging, serialisatie en Java for XML Processing (XML JAXP).,
- Lang en util basisbibliotheken-inclusief lang en util, management versioning, zip, instrument, reflectie, collecties, Concurrency Utilities, Java Archive (JAR), Logging, Voorkeuren API, Ref objecten en reguliere expressies.
- Java Virtual Machine (JVM), inclusief Java HotSpot Client en Server Virtual Machines.
nieuwere JREs host enkele duizenden klassen en geheel nieuwe API ‘ s zijn geïntroduceerd.
ten slotte, laten we het hebben over de kleinste eenheid van de drie: de JVM!, De Java virtual machine geeft Java applicaties / applets door in wezen interpreteren Java byte code in machine code. Het is verantwoordelijk voor alle dingen zoals garbage collection, array bounds controle, etc … JVM is platform afhankelijk (StackOverflow). Het heet “virtueel” omdat het een machine-interface biedt die niet afhankelijk is van het onderliggende besturingssysteem en de hardware-architectuur van de machine. Dankzij de JVM kan Java-code één keer worden geschreven en overal (op elke machine) worden uitgevoerd., In een notendop, de JVM heeft twee primaire functies 1) om Java-programma ‘ s vrijwel draaien op elk apparaat of besturingssysteem en 2) te beheren en optimaliseren van het geheugen van het programma.