Java virtual machine: Difference between revisions

Content deleted Content added
m Cleanup. Move some sentences to Class (file format) and Jar (file format)
m Move applets paragraph from Java programming language.
Line 1:
TheA '''Java virtual machine''' or '''JVM''' is a [[virtual machine]] that runs Java [[byte code]]. This code is most often generated by [[Java programming language|Java]] [[compiler]]s, although the JVM has also been targeted by compilers of other languages.
 
The (JVM) is a crucial component of the [[Java platform]]. The availability of JVMs on almost all types of hardware and software [[platform (computing)|platforms]] enables Java to function both as [[middleware]] and a platform in its own right. Hence the expression "[[Write once, run anywhere]]."
Line 32:
 
[[Kaffe]] is an example of a group of developers writing such an implementation.
 
==Secure execution of remote code==
A virtual machine architecture allows very fine-grained control over the actions that code within the machine is permitted to take. This allows safe execution of untrusted code from remote sources, a model used most famously in Java ''applets''. Applet run within a VM incorporated into a user's browser, executing code downloaded from a remote [[HTTP]] server. The remote code runs in a highly restricted "[[sandbox]]", which protects the user from misbehaving or malicious code. Publishers can apply for a certificate with which to [[digital signature|digitally sign]] applets as "safe", giving them permission to break out of the sandbox and access the local filesystem and network, presumably under user control.
 
 
==See also==