Java is an object-oriented programming
language developed by Sun Microsystems.
Java language was designed to be small,
simple, and portable across platforms
and operating systems, both at the
source and at the binary level, which
means that Java programs (applets
and applications) can run on any machine
that has the Java virtual machine
is Platform independent, Platform
independence means, the ability of
a program to move easily from one
computer system to another-is one
of the most significant advantages
that Java has over other programming
languages, particularly if your software
needs to run on many different platforms.
Java language was developed at Sun
Microsystems in 1991 as part of a
research project to develop software
for consumer electronics devices.
Java's rapidly growing popularity
is due to the Web. But Java's inherent
power does not come from the fact
that it is a Web programming language.
The talented software engineers at
Sun, in bringing Java to the Web,
have elegantly solved a much broader
and more significant problem-how to
develop network-capable windowing
software that will run on almost any
32-bit computer and operating system.
A software developer writes programs
in the Java language that use predefined
software packages of the Java API.
The developer compiles his or her
programs using the Java compiler.
This results in what is known as compiled
bytecode. Bytecode is in a form that
can be executed on the Java virtual
machine, the core of the Java runtime
system. You can think of the virtual
machine as a microprocessor that is
implemented in software and runs using
the capabilities provided by your
operating system and computer hardware.
Since the Java virtual machine is
not a real microprocessor, the Java
bytecode is interpreted, rather than
executed directly in the native machine
instructions of the host computer.
is exceptionally well suited to distributed
networking applications because of
its built-in networking support and
the runtime system's capability to
dynamically load Java bytecode across
the network. Java also provides the
capability to dynamically utilize
new content and protocol handling
software. The HotJava browser, written
in Java, is an excellent example of
Java's distributed networking capabilities.
Java API provides full support of
multithreaded programming. Multithreaded
programs can be developed in a single,
consistent manner, independent of
the vagaries of the host operating
classes and objects directly support
the object-oriented concepts of encapsulation,
inheritance, messages and methods,
and data hiding. Java interfaces provide
support for multiple inheritance and
polymorphism. The Java language retains
all the benefits of object-oriented
programming without the performance
impacts associated with pure object
languages, such as Smalltalk.
Java API provides extensive support
of windowing and graphical user interface
development without the complexities
associated with maintaining multiple
window class libraries. Several visual
programming tools have been developed