10x Blogs Directory

Thursday, February 19, 2009

Java Features

  • Java Virtual Machine (JVM)‏
    -an imaginary machine that is implemented by emulating software on a real machine.
    -provides the hardware platform specifications to which you compile all Java technology code.
  • Bytecode
    -a special machine language that can be understood by the Java Virtual Machine (JVM)‏.
    -independent of any particular computer hardware, so any computer with a Java interpreter can execute the compiled Java program, no matter what type of computer the program was compiled on.
  • Garbage collection thread
    -responsible for freeing any memory that can be freed. This happens automatically during the lifetime of the Java program.
    -programmer is freed from the burden of having to deallocate that memory themselves.
  • Code security is attained in Java through the implementation of its Java Runtime Environment (JRE).
  • JRE
    -runs code compiled for a JVM and performs class loading (through the class loader), code verification (through the bytecode verifier) and finally code execution.
  • Class Loader
    -responsible for loading all classes needed for the Java program.
    -adds security by separating the namespaces for the classes of the local file system from those that are imported from network sources .
    -After loading all the classes, the memory layout of the executable is then determined. This adds protection against unauthorized access to restricted areas of the code since the memory layout is determined during runtime.
  • Bytecode verifier
    -tests the format of the code fragments and checks the code fragments for illegal code that can violate access rights to objects.