Når folk taler om Java , de ofte nævner Java Virtual Machine (JVM ) . Til en ny person til Java , kan dette være forvirrende. Arten af JVM og den rolle , den spiller i køre Java -programmer er nøglen til mange af de sproglige kendetegn og fordele. Virtual Machine
Java virtuel maskine er en software simulering af en reel maskine . Når du kører et Java-program , starter computeren op i Java virtuel maskine og den virtuelle maskine kører programmet . Instruktion fra programmet er oversat af den virtuelle maskine til instruktioner til det system, den kører på . Der er forskellige versioner af Java virtuel maskine for hver platform - PC, Mac eller Linux - men det samme Java -programmet vil køre på nogen af dem
Virtual Hardware
.
den virtuelle maskine er bygget ud af fire virtuelle dele: registre, skorsten, den metode område og den bunke . Registrene holde styr på den tilstand af stablen og det aktuelle sted i programmet . Stakken holder variabler og adresser, der bruges i operationer , som programmet kører . Fremgangsmåden område har den faktiske bytekode af programmet køres . Den bunke er, hvor nødvendige hukommelse af programmet er allokeret, og senere returneret af garbage collection processen.
Garbage Collection
Et af de elementer i Java virtuel maskine er indbygget garbage collection . I mange programmeringssprog, har programmøren manuelt holde styr på hukommelsen ansøgningen tager og returnerer . I Java gør den virtuelle maskine denne opgave af sig selv. Når et Java -program er færdig med en del af hukommelsen , den virtuelle maskine fortæller computeren hukommelsen er gratis. Dette forhindrer en masse fejl , og virkelig lindrer en stor hovedpine for programmører .
Memory Access
anden funktion i Java virtuel maskine er struktureret adgang til hukommelsen . Kort sagt, er de nøjagtige placeringer af alle de variabler og datastrukturer i hukommelsen aldrig kendt og holdes styr på kun den virtuelle maskine. Programmører ikke kan få på hukommelsen , de ikke skulle. Dette er en kæmpe fordel for sikkerhed, forebyggelse ikke blot utilsigtede problemer, men også vanskelige hacker taktik . Det er bygget ind i den virtuelle maskines design, helt ned til bytecode -niveau.
Sandbox
Brugen af en virtuel maskine giver fordele Java-programmer . Udover cross-platform kompatibilitet, er Java -programmer også mere sikker. Den virtuelle maskine er en " sandkasse ", hvilket betyder et program kan ikke få adgang til processer eller hukommelse uden for den virtuelle maskine. Hvis et program ved et uheld går ned , vil det gå ned den virtuelle maskine og forlade systemet uberørt. Sandkassen har også iboende beskyttelse mod virus eller hackere , hvilket forhindrer dem i at få adgang til resten af computeren.