Java Reference
In-Depth Information
Chapter 1
Introduction
1.1 What is Java?
The term Java refers to more than just a computer language like C or Pascal. Java
encompasses several distinct components:
A high-level language -Javaisanobject-oriented language whose source code at a
glance looks very similar to C and C ++ but is unique in many ways.
Java bytecode -Acompiler transforms the Java language source code to files of binary
instructions and data called bytecode that run in the Java Virtual Machine.
Java Virtual Machine (JVM) -AJVM program takes bytecode as input and interprets
the instructions just as if it were a physical processor executing machine code. (We
discuss actual hardware implementations of the Java interpreter in Chapter 24.)
Sun Microsystems owns the Java trademark (see the next section on the history
of Java) and provides a set of programming tools and class libraries in bundles
called Java Software Development Kits (SDKs). The tools include javac ,which
compiles Java source code into bytecode, and java , the executable program that
creates a JVM that executes the bytecode. Sun provides SDKs for Windows,
Linux, and Solaris. Other vendors provide SDKs for their own platforms (IBM
AIX and Apple Mac OS X, for example). Sun also provides a runtime bundle
with just the JVM and a few tools for users who want to run Java programs on
their machines but have no intention of creating Java programs. This runtime
bundle is called the Java Runtime Environment (JRE).
In hope of making Java a widely used standard, Sun placed minimal restric-
tions on Java and gave substantial control of the development of the language
over to a broadly based Java community organization (see Section 1.4 “Java:
open or closed?”). So as long as other implementations obey the official Java
specifications, any or all of the Java components can be replaced by non-Sun
components. For example, just as compilers for different languages can create
machine code for the same processor, there are programs for compiling source
code written in other languages, such as Pascal and C, into Java bytecode. There
are even Java bytecode assembler programs. Many JVMs have been written by
independent sources.
3
Search WWH ::




Custom Search