Om Java Virtual Machine

Om Java Virtual Machine


Når folk snakker om Java, de ofte nevner Java Virtual Machine (JVM). Til noen nye til Java, kan dette være forvirrende. Naturen av JVM og hvilken rolle den spiller i å kjøre Java-programmer er nøkkelen til mange av språkets egenskaper og fordeler.

Virtuell maskin

Java virtuell maskin er en programvare simulering av en ekte maskin. Når du kjører et Java-program, starter datamaskinen opp Java virtuell maskin og den virtuelle maskinen kjører programmet. Instruksjoner fra programmet er oversatt av den virtuelle maskinen til instruksjoner for systemet den kjører på. Det finnes forskjellige versjoner av Java virtuell maskin for hver plattform - PC, Mac eller Linux - men det samme Java-program som vil kjøre på noen av dem.

Virtual Hardware

Den virtuelle maskinen er bygget av fire virtuelle deler: registrene, stabelen, metoden området og heap. Registrene holde orden på tilstanden av stabelen og den aktuelle sted i programmet. Stabelen holder variabler og adresser som brukes i operasjoner som programmet kjører. Metoden området har den faktiske Bytecode av programmet som kjøres. Haugen er der minnet trengs av programmet er tildelt, og senere returnert av søppelrydding prosessen.

Søppelsamling

En av funksjonene i Java virtuell maskin er innebygd søppelrydding. I mange programmeringsspråk, har programmereren å holde styr på minnet programmet tar og avkastning manuelt. I Java, gjør den virtuelle maskinen denne oppgaven av seg selv. Når et Java-program er ferdig med en del av minnet, forteller den virtuelle maskinen datamaskinen minnet er gratis. Dette hindrer en masse feil, og virkelig lindrer en stor hodepine for programmerere.

Memory Access

En annen funksjon i Java virtuell maskin er strukturert memory access. Enkelt sagt, er den eksakte plasseringen av alle variablene og datastrukturer i minnet aldri kjent og holdes orden på bare av den virtuelle maskinen. Programmerere kan ikke få på minnet de ikke burde. Dette er en stor fordel for sikkerhet, hindrer ikke bare tilfeldige problemer, men også vanskelige hacker taktikk. Den er bygget inn i den virtuelle maskinens design, helt ned til Bytecode nivå.

Sandbox

Bruken av en virtuell maskin gir fordeler for Java-programmer. Foruten cross-platform kompatibilitet, Java-programmer er også sikrere. Den virtuelle maskinen er en "sandkasse", som betyr et program kan ikke få tilgang til prosesser eller minnet utenfor den virtuelle maskinen. Hvis et program tilfeldigvis krasjer, vil det krasje den virtuelle maskinen og la systemet urørt. Sandkassen har også iboende beskyttelse mot virus og hackere, og hindre dem fra å få tilgang til resten av datamaskinen.