1 |
This check ensures that code to be executed does not violate various semantic rules of the Language and its runtime
|
2 |
In particular check that pointers are legal, access restrictions obeyed and types correct
|
3 |
a .class file consists of some overall information including a magic number, versioning information, a constant pool, information about the class itself (name, superclass etc.), information about fields and methods with the byte codes themselves, debugging information.
|
4 |
The byte codes are essentially machine language for an idealized stack based machine which are translated into true machine code
-
Note such stack based machines are not necessarily best for optimized performance. Compilers use rather different intermediate representation
|