Java-applikationer har blivit mer och mer kända under de senaste åren. Vi kan se det runt omkring oss på våra telefoner, surfplattor och på våra datorer. Detta skulle i huvudsak innebära att kompilera mödosamma mängder kod för att göra den i paritet med kompatibiliteten för att köra den på de olika operativsystemen.
Detta blir i sin tur en välsignelse för utvecklarna, eftersom Java är designat för att vara en plattformsoberoende – eller “Skriv en gång, kör var som helst”-modul. Så det blir en engångsaffär som hjälper i det långa loppet över plattformar.
Innehållsförteckning
Vad är JVM?
Java Virtual Machine (JVM) är ett program som i grunden är en exekveringsplats för Java-applikationerna. JVM fungerar som en mångsidig maskin som bearbetar tolkningen av bytekoderna som kompileras från Java-källkoden, genom att konvertera den till maskinspråk. JVM är en del av Java Run Environment (JRE).
Normalt, för andra programmeringsspråk, skulle kompilatorn producera maskinkoden för det specifika systemet. Eftersom en Java-kompilator producerar kod för en Java-maskin som är känd som Java Virtual Machine.
Som förklarat av Matthew Tyson, Java World i sin blogg på JVM – påpekar han differentieringen av definitionerna av Java Virtual Machine för utvecklarna såväl som de tekniska termerna.
Teknisk definitionJVM kan vara specifikationen för ett program som exekverar koden samt tillhandahåller körtiden för den givna koden.
Varje dag definition
JVM är hur vi genomför körningarna för våra Java-program. Vi kan ställa in JVM-inställningarna och sedan lita på att den hanterar programresurserna medan den körs.
“Under Java Development Services, när utvecklare talar om JVM, syftar de vanligtvis på processen som körs på en maskin, särskilt en server, en som representerar och kontrollerar resursanvändning för en Java-app. Medan JVM-specifikationen beskriver de krav som krävs för att bygga ett program för att utföra uppgifterna.”
Sopsamlingssystemet
Under tiden före Java hanterades programminnet av programmeraren. Men i Java hanteras den här uppgiften av JVM – den hanterar sitt minne genom denna process av sophämtning, som med jämna mellanrum identifierar och tar bort det oanvända minnet i Java-program. Allt detta finns i en Java Virtual Machine som körs.
Denna trend väckte dock ett stort uppståndelse om denna utveckling, eftersom det inte var en funktion för de andra programmeringsspråken, precis som dess andra funktioner. Posta detta, det har gjorts många optimeringar till vart det har kommit nu.
DE TRE DIMENSIONERNA PÅ JVM
De tre delarna av JVM som du behöver förstå är – Specifikation, implementering och instans. Låt oss titta närmare på var och en av dessa för att förstå bättre.
#1. JVM-specifikation JVM är en mjukvaruspecifikation, vilket innebär att dess implementeringsdetaljer inte definieras i själva specifikationen. För att kunna implementera den virtuella Java-maskinen korrekt krävs ett förutsättningskrav för att kunna läsa klassfilformatet och utföra de angivna operationerna.
JVM:s enda jobb med att köra Java-programmen är dock inte så enkelt som det kan tyckas från början. Detta beror på kraften och flexibiliteten som Java och dess räckvidd ger.
JVM den virtuella maskinen
Som namnet antyder är Java Virtual Machine en abstraktion från en verklig maskin – som en server som kör vilket program som helst. Men JVM ligger lite före spelet, där det skapar en förutsägbar miljö för program att köra inom.
Men JVM skapar faktiskt inte ett virtuellt operativsystem, som en riktig virtuell maskin skulle göra. För att uttrycka det med bättre ord är JVM mer som en “hanterad runtime-miljö” eller en “virtuell processmaskin”.
#2. JVM Implementations Implementering av Java Virtual Machine-specifikationer är som att producera ett verkligt program. Det finns många JVM-implementeringar, både öppen källkod och proprietära. Hotspot JVM är en av de mest använda JVM.
De flesta licensierade JVM:er skapas ofta för att ge OS-specifika prestandaförbättringar. I allmänhet kan du ladda ner och installera Java Virtual Machine som en medföljande del av Java Runtime Environment (JRE).
#3. JVM-instans I grund och botten, eftersom JVM-specifikationen implementeras och släpps på marknaden som en mjukvaruprodukt – kan folk ladda ner och köra den som ett program. Detta nedladdade program är en instansierad version av Java Virtual Machine.
Ofta i konversationer mellan utvecklare är JVM som är poängen med konversationen faktiskt att denna instans körs i en mjukvaru- eller produktmiljö.
JVM exekveringsmotor
Exekveringsmotorn i Java Virtual Machine-komponenten hanterar exekveringen av koden i varje klass, detta efter att klassladdaren har slutfört laddningsklasser. Detta är avgörande för driften av ett JVM. Det är faktiskt Java Virtual Machine-instansen i den praktiska linsen.
Exekvering av kod kräver hantering av åtkomsten till systemets resurser. JVM:s exekveringsmotor är mediet mellan det körande programmet och operativsystemet, som kopplar samman utbud och efterfrågan på filen, nätverket och minnesresurserna.
Exekveringsmotorns hantering av systemresurserSystemresurser kan i huvudsak delas in i de två stora kategorierna – minne och resten av komponenterna.
Java Virtual Machine har ansvaret för att kassera oanvänt minne genom sophämtning. Den tar också hand om att allokera och underhålla en “referensstruktur”. Även något så litet som ett nytt nyckelord i Java förvandlas till ett OS – specifik begäran om minnesallokering, som en del av dess funktionalitet.
Förutom minnesinsamling och bortskaffande underhåller exekveringsmotorn resurserna för systemåtkomst och nätverks-I/O. Det är detta som skiljer JVM från de andra, med dess applikations resursbehov och lyhördhet för varje OS-miljö. Således kan den fungera utan problem i alla operativsystem utan problem.
Författarens biografi:
Herr KunalsinhVaghela är grundare och VD för GlobalVox LLC. Han är en Oracle-certifierad arkitekt och mästare och har årtionden av erfarenhet bakom sig. Han har arbetat över hela världen för den uppskattade kundkretsen och tillhandahållit one-stop IT-lösningar till en uppsjö av företag. Han är en förmåga att hålla utkik efter framtidens teknik och gillar alltid att göra en plan för att nå nya obesegrade höjder. Förutom teknikvärlden är han också känd för sina entreprenöriella, oratoriska och antropologiska färdigheter.
Du kan också hitta mer användbara resurser på techiesline
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.