It is a program that interprets the bytecodes and changes the states of a simulated virtual machine.
Java Virtual Machine:
It is a specification for an architecture independent state machine. This machine is implemented by the Java Interpreter.
Runtime Environment:
The support environment attached to the virtual machine. It connects the virtual machine to the underlying OS and add many basic functions, like I/O, networking, etc.
Portability:
Java bytecodes can run in any machine that has a Java Interpreter running. It is not necessary to recompile the Java program. Only the virtual machine and the runtime system need to be ported to each architecture.
Automatic Garbage Collection.
Multithreading with synchronization primitives.
Runtime type checking.
Dynamic linking on demand (even over the Internet).
java.lang
The collection of basic classes like Object, Class, String, etc.
java.io
I/O classes like Streams, IOStreams, etc.
java.util
Miscellaneous utility classes, like Dictionary, Stack, Date, Time, etc.
java.awt
Abstract Windowing Toolkit - Classes to deal with graphics (machine independently).
Copyright © 1998-2009 Dilvan Moreira