Some Java Buzzwords
In an early document (The Java Language: A White Paper)
Sun itself described Java (somewhat tongue in cheek, apparently)
using the following terms. The rest of the programming community
apparently took them at their word, and now just about everyone
has climbed on this buzzword bandwagon.
-
Simple The core Java language is small,
with many constructs that would be familiar at least
to the legions of C and C++ programmers, and has no
pointers that programmers need to handle directly.
-
Object-Oriented Unlike the situation in C++,
a Java programmer is forced to use classes and objects
from the very beginning, since (for example) a function
(method) in Java cannot exist outside a class. Java
comes with an extensive set of built-in classes, arranged
in "packages" that are "imported" for use in a program.
-
Distributed (Network-Savvy) Java has built-in
classes to support various levels of network connectivity.
These are found in the java.net package.
-
Interpreted Actually, java is both compiled
and interpreted. The source code is first compiled
to platform-independent byte code, which is then
interpreted by the platform-dependent JVM (Java Virtual
Machine).
-
Robust Java is highly reliable because of
its strong typing, its explicit method declarations,
its lack of explicit pointers, and its good
exception-handling facilities.
-
Secure Java's robustness
features help to make it secure, as
do the limitations on the access that
Java applets have the local machine
on which they are running.
-
Architecture Neutral
Any machine (architecture) that has
a JVM running on it it can execute any
Java program that has been compiled into
byte codes (in theory, at least, and to
a large extent, in practice).
-
Portable ("Write Once, Run Everywhere")
Java's portability derives (once again) largely from its
platform-independent byte code format. But portablility
is also supported by the fact that the language has, in
general, no system-dependent features. For example, all
primitive data types are required to have the same sizes
on all platforms. Also, the Java compiler is written in Java,
and the run-time system is written in ANSI C and has a clean
"portability boundary" that is essentially POSIX-compliant.
-
High-Performance :)
The jury is still out on this one, but performance has
been steadily improving, for a number of reasons.
-
Multithreaded Java has built-in classes
that support multithreading (also called "concurrency").
-
Dynamic Java is designed to be able to adapt
to an evolving environment in at least two ways: first,
at the language level, by adding new packages of classes
to its libraries; and second, at the program level, by being
able to load in new classes dynamically as the program runs.
Some Java Terms and Concepts
-
The Java Virtual Machine (JVM) This
is the interpreter that reads byte code and runs
the corresponding program by loading in and using
the necessary classes as needed.
-
The Java Platform This consists of the
Java language, together with the collection of
library classes and tools that provide the programmer
with the means to develop Java programs. There are
various versions of the platform, including the
Standard Edition (SE) (the one most "ordinary"
developers would be using), the Enterprise Edition (EE)
for corporate developers, and the Micro Edition (ME) for
development on hand-held devices. The so-called "Java 2
Platform" was the basis for all of these for a long time,
but in moving from version 5 to version 6, the 2 was
dropped and the Standard Edition (for example)
became just Java SE 6 (rather than Java 2 SE 6).
-
The Java Runtime Environment (JRE) The JRE
contains everything you need to run a Java program, but
not what you need to develop the program (the compiler,
for example).
-
The Java Plug-In This is a special version
of the JRE designed to be integrated into a browser,
such as Firefox or Internet Explorer.
List of All Topics