Als mensen praten over Java , ze vaak noemen de Java Virtual Machine ( JVM ) . Aan iemand die nieuw voor Java , kan dit verwarrend zijn. De aard van de JVM en de rol die het speelt in het uitvoeren van Java -programma's is de sleutel tot veel van de kenmerken en voordelen van de taal . Virtual Machine De Java virtuele machine is een software simulatie van een echte machine . Als u een Java- programma uit te voeren , de computer wordt opgestart de Java virtual machine en de virtuele machine draait het programma . Instructies van het programma worden vertaald door de virtuele machine in instructies voor het systeem waarop het draait . Er zijn verschillende versies van de Java virtuele machine voor elk platform - PC , Mac of Linux - maar hetzelfde Java-programma zal draaien op een van hen Virtual Hardware . de virtuele machine is opgebouwd uit vier virtuele onderdelen : de registers , de stack , de methode gebied en de heap . De registers bijhouden van de staat van de stack en de huidige plaats in het programma . De stack houdt variabelen en adressen in verrichtingen als het programma loopt . De methode gebied heeft de eigenlijke bytecode van het programma wordt uitgevoerd . De hoop is waar het geheugen nodig is door het programma is toegewezen , en later terug door de garbage collection proces . Garbage Collection Een van de kenmerken van de Java virtual machine is ingebouwd garbage collection . In veel programmeertalen , de programmeur moet spoor handmatig te houden van de herinnering de applicatie neemt en geeft . In Java , de virtuele machine doet deze taak op zich . Wanneer een Java-programma is afgewerkt met een gedeelte van het geheugen , de virtuele machine geeft de computer het geheugen vrij . Dit voorkomt veel fouten , en echt verlicht een belangrijk probleem voor programmeurs . Memory Access Een ander kenmerk van de de Java virtuele machine is gestructureerde toegang tot het geheugen . Simpel gezegd , is de exacte locaties van alle variabelen en data structuren in het geheugen nooit gekend en is van slechts bijgehouden door de virtuele machine . Programmeurs kunnen niet krijgen op het geheugen dat niet zou moeten . Dit is een enorm voordeel voor de veiligheid , het voorkomen van niet alleen toevallige problemen , maar ook lastig hacker tactiek . Het is ingebouwd in het ontwerp van de virtuele machine , tot aan de bytecode niveau . Sandbox Het gebruik van een virtuele machine geeft voordelen voor Java-programma's . Naast het cross-platform compatibiliteit , Java- programma's zijn ook veiliger . De virtuele machine is een " zandbak " betekent een programma geen toegang processen of geheugen buiten de virtuele machine . Als een programma per ongeluk crasht , zal de virtuele machine crashen en laat het systeem onaangeroerd . De zandbak heeft ook inherente bescherming tegen virussen of hackers , voorkomen dat ze toegang krijgen tot de rest van de computer .
|