Om du är en Java-programvara som utvecklar nybörjare som jag själv har du ställts den här frågan en eller två gånger tidigare (mer än sannolikt i en intervjuinställning). Och om du är något som jag, du har försökt att skilja skillnaderna och har haft en betydligt svårt att göra det.
så — jag kommer att försöka bryta ner den i hanterbara bitstorlek bitar, så nybörjare som du och jag kan linda våra hjärnor runt dessa tre Java staples. Låt oss börja med betydelsen av dessa akronymer..,
JDK representerar ”Java Development Kit”.
JRE står för ”Java Runtime Environment”.
och JVM är helt enkelt ”Java Virtual Machine”.
bryta ner det— JDK: både JRE och JVM kan hysas inom JDK. En JDK används för att 1) utveckla 2) exekvera och 3) visningskod. JDK är en superset av JRE, och innehåller allt som finns i JRE, plus verktyg som kompilatorer och felsökare som är nödvändiga för att utveckla applets och applikationer (StackOverflow)., Om du är en utvecklare intresserad av att skapa egna Java-program eller applets, du kommer att vilja installera en JDK. För utvecklare som vill arbeta i en integrerad utvecklingsmiljö (IDE), en JDK levereras med Netbeans kan laddas ner från Oracles hemsida (Techopedia). Det finns olika JDKs som passar ett brett utbud av plattformar. I ett nötskal är JDK en Java-programvaruutvecklingsmiljö, som används av utvecklare för att skapa och hantera applikationer/applets.
OK! Låt oss nu komma in i JRE: enkelt uttryckt representerar JRE Java runtime environment., Det är där koden är 1) exekverad och 2) visas. JRE innehåller en Java virtuell maskin, klassbibliotek och andra stödjande filer. Det är viktigt att köra en Java-applikation / applet. Enligt Techopedia består JRE av följande komponenter:
- distributionsteknik— inklusive distribution, Java Web Start och Java Plug-in.,
- Integrationsbibliotek-inklusive Gränssnittsdefinitionsspråk (IDL), Java Database Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Remote Method Invocation (RMI), Remote Method Invocation Over Internet Inter-Orb Protocol (RMI-IIOP) och scripting.
- andra basbibliotek — inklusive internationellt stöd, input/output (I/O), förlängningsmekanism, bönor, Java Management Extensions (JMX), Java Native Interface (JNI), Math, nätverk, Åsidosätt mekanism, säkerhet, serialisering och Java för XML-bearbetning (XML JAXP).,
- Lang och util basbibliotek — inklusive lang och util, management versioning, zip, instrument, reflektion, Samlingar, samtidighet verktyg, Java Arkiv (JAR), loggning, Inställningar API, Ref objekt och reguljära uttryck.
- Java Virtual Machine (JVM), inklusive Java HotSpot klient och Server virtuella maskiner.
nyare jres värd flera tusen klasser och helt nya API har införts.
slutligen, låt oss prata om den minsta enheten av de tre: JVM!, Java virtual machine visar Java-program/applets genom att i huvudsak tolka Java byte-kod till maskinkod. Det är ansvarigt för alla saker som sophämtning, array bounds kontroll, etc… JVM är plattformsberoende (StackOverflow). Det kallas ”virtuellt” eftersom det ger ett maskingränssnitt som inte beror på det underliggande operativsystemet och maskinvaruarkitekturen. Tack vare JVM kan Java-kod skrivas en gång och köras var som helst (på vilken maskin som helst)., I ett nötskal har JVM två primära funktioner 1) så att Java-program kan köras praktiskt taget på alla enheter eller operativsystem och 2) för att hantera och optimera programminne.