Java Reference
In-Depth Information
By the time this topic is in your hands, Sun will have released the Java 2
Standard Edition Version 5.0. The version number 5.0 replaces what would have
been version number 1.5. Undoubtedly many people will continue to use the
1.5 terminology. In fact, the Beta 2 release of J2SE 5.0 (the latest available at
the time of this writing) continues to use the value 1.5 in some places. You may
also come across the code name Tiger for the 5.0 release; however, we expect
that usage to fade away just like previous code names Kestrel and Merlin have all
but disappeared from the scene. This topic uses the notation J2SE 5.0 or Release
5.0 or Version 5.0 or Java 5.0 or sometimes just 5.0 when referring to this very
significant new release of Java.
We provide a brief overview of Java 5.0 in Section 1.9 and examine a number
of 5.0 topics in some detail throughout the topic.
1.4 Java - open or closed?
Java is not a true open language but not quite a proprietary one either. All the
core language components - compiler, virtual machines, core language class
packages, and many other tools - are free from Sun. Furthermore, Sun makes
detailed specifications and source code openly available for the core language.
Another company can legally create a so-called clean room compiler and/or a Java
Virtual Machine as long as it follows the detailed publicly available specifications
and agrees to the trademark and licensing terms. Microsoft, for example, created
its own version 1.1 JVM for the Internet Explorer browser. See the Web Course
for a listing of other independent Java compilers and virtual machines.
Sun, other companies, and independent programmers participate in the Java
Community Process (JCP) organization whose charter is “to develop and revise
Java technology specifications, reference implementations, and technology com-
patibility kits.” Proposals for new APIs, classes, and other changes to the language
now follow a formal process in the JCP to achieve acceptance.
Sun, however, does assert final say on the specifications and maintains various
restrictions and trademarks (such as the Java name). For example, Microsoft's
JVM differed in some significant details from the specifications and Sun filed a
lawsuit (later settled out of court) that claimed Microsoft attempted to weaken
Java's “Write Once, Run Anywhere” capabilities.
1.5 Java features and benefits
Before we examine how Java can benefit technical applications, we look at the
features that make Java a powerful and popular general programming language.
These features include:
Compiler/interpreter combination
Code is compiled to bytecode, which is interpreted by a Java Virtual Machine (JVM).
Search WWH ::




Custom Search