När folk pratar om Java , nämner de ofta Java Virtual Machine ( JVM ) . Att någon ny till Java , kan det vara förvirrande . Den typ av JVM och den roll den spelar i att köra Java-program är nyckeln till många av språkets egenskaper och fördelar . Virtual Machine
Java Virtual Machine är en programvara simulering av en riktig maskin . När du kör ett Java -program , startar datorn upp Java virtuell maskin och den virtuella maskinen körs programmet . Instruktioner från programmet översätts av den virtuella maskinen till instruktioner för systemet det körs på . Det finns olika versioner av Java virtuell maskin för varje plattform - PC , Mac eller Linux - men samma Java-program kommer att köras på någon av dem Addera Virtual Hardware
.
den virtuella maskinen är byggd av fyra virtuella delar: register, bunten metoden området och högen . Registren hålla reda på tillståndet i stacken och den nuvarande platsen i programmet . Stapeln innehar variabler och adresser som används i verksamheten som programmet körs . Metoden området har den faktiska bytekod att programmet körs . Högen är där minnet behövs av programmet fördelas , och senare återvände med sophämtning processen .
Garbage Collection
En av funktionerna i Java Virtual Machine är inbyggd sophämtning . I många programmeringsspråk , har programmeraren att manuellt hålla reda på minnet ansökan tar och returnerar . I Java , gör den virtuella maskinen denna uppgift i sig . När ett Java- program är klar med en del av minnet , berättar den virtuella maskinen datorn minnet är gratis . Detta förhindrar att en hel del fel , och verkligen lindrar en stor huvudvärk för programmerare .
Memory Access
annan funktion i Java Virtual Machine är strukturerad minne tillgång . Enkelt uttryckt , är den exakta placeringen av alla variabler och datastrukturer i minnet aldrig känt och höll reda på endast den virtuella maskinen . Programmerare kan inte komma åt minnet de inte borde . Detta är en enorm fördel för säkerheten, förhindrar inte bara tillfälliga problem men också knepiga taktik hacker . Det är inbyggt i den virtuella maskinens utformning , ända ner till bytekod nivå . Användning av en virtuell maskin ger fördelar till Javaprogram Addera Sandbox
. Förutom plattformsoberoende kompatibilitet , Java-program är också säkrare . Den virtuella maskinen är en "sandlåda ", vilket innebär ett program inte kan komma åt processer eller minne utanför den virtuella maskinen . Om ett program av misstag kraschar , kommer det att krascha den virtuella maskinen och lämna systemet orörd . Sandlådan har också inneboende skydd mot virus och hackare , hindrar dem från att få tillgång till resten av datorn .