|
Mange venner er måske som mig, der har brugt JAVA i lang tid, men forbindelsen og forskellen mellem JDK, JRE og JVM har altid været vag. I dag vil jeg skrive denne artikel for at få styr på forholdet mellem de tre.
JDK : Java Development ToolKit. JDK er kernen i hele JAVA, inklusive Java Runtime Envirnment, en række Java-værktøjer (javac/java/jdb osv.) og Java-baserede biblioteker (dvs. Java API'er inkluderer rt.jar). Den mest mainstream JDK er den JDK, der blev udgivet af Sun, ud over Sun er der mange virksomheder og organisationer, der har udviklet deres egen JDK, såsom udenlandske IBM-virksomheder, der har udviklet deres egen JDK, den indenlandske Taobao har også udviklet sin egen JDK, forskellige organisationer har udviklet deres egen JDK for at opnå forbedringer på visse områder, for at tilpasse sig deres egne behov, såsom IBMs JDK, der siges at være langt mere effektiv end SUNs JDK. Men under alle omstændigheder skal vi stadig mestre det grundlæggende Sun JDK først. Der findes tre versioner af JDK: J2SE, standardudgave, standardudgave, er en version, hvor vi normalt bruger J2EE, enterprise-udgave, og bruger denne JDK til at udvikle J2EE-applikationer J2ME, mikro-udgave, hovedsageligt brugt til Java-applikationer på mobile enheder, indlejrede enheder
Vi bruger ofte JDK til at henvise til Java API, Java API er Javas applikationsprogrammeringsgrænseflade, faktisk er det nogle Java-klasser skrevet af vores forgængere, inklusive nogle vigtige sprogstrukturer og grundlæggende grafik, netværk og fil-I/O osv., vi kalder disse klasser skrevet af vores forgængere i vores egne programmer som grundlag for vores egen udvikling. Selvfølgelig er der flere og flere tredjepartsbiblioteker med bedre ydeevne eller mere kraftfulde funktioner til rådighed.
JRE: Java Runtime Miljø. Med andre ord skal alle Java-programmer være under JRE for at køre. Inkluderer JVM- og JAVA-kernebiblioteker samt understøttende filer. Sammenlignet med JDK inkluderer den ikke udviklingsværktøjer – compilere, debuggere og andre værktøjer.
JVM: Java Virtual Mechinal (JAVA Virtual Machine). JVM er en del af JRE, som er en fiktiv computer, der implementeres ved at simulere forskellige computerfunktioner på en rigtig computer. JVM har sin egen komplette hardwarearkitektur, såsom processorer, stakke, registre osv., og har også et tilsvarende instruktionssystem. JVM'ens hovedopgave er at fortolke sit eget instruktionssæt (dvs. bytekode) og mappe det til den lokale CPU's instruktionssæt eller OS'ens systemkald. Java-sproget kører på tværs af platforme, hvilket faktisk er et andet operativsystem, der bruger forskellige JVM-kortlægningsregler for at gøre det uafhængigt af operativsystemet og komplet tværplatforms. JVM'en bekymrer sig ikke om de øverste Java-kildefiler, den bekymrer sig kun om klassefilerne, der genereres af kildefilerne. Klassefilen består af et JVM-instruktionssæt, en symboltabel og noget supplerende information. Følgende figur giver et godt overblik over forholdet mellem JDK, JRE og JVM:
Den faktiske udvikling er, at efter vi har udviklet vores eget ULAVEVA-program ved hjælp af JDK (kaldet JAVA API), kompilerer vi vores tekst-java-filer til JAVA-bytekode gennem compileren (javac) i JDK, kører disse JAVA-bytekoder på JRE, JVM parser disse bytekoder og mapper dem til CPU-instruktionssættet eller systemkald i operativsystemet.
|