21. Java
21.2 Java Platform
The Java Platform is a new software platform different from many other platforms like Microsoft Windows, Macintosh, OS/2, UNIX and NetWare; it is designed to deliver and run highly interactive, dynamic, and secure applets and applications on networked computer system. The Java Platform sits on top of these operating system. Applications written in the Java language compile to architecture neutral bytecodes for the Java Virtual Machine, rather than normal machine code. A Java interpreter then executes the translated code. The primary advantage of this approach is that it allows a Java application to run on any system, as long as that system implements the Java Virtual Machine.
The Java Platform consists of two main parts, the Java Virtual Machine and the Java API, as shown in Figure 1.
Java Virtual Machine -- The Java Virtual Machine is an abstract machine designed to be implemented on the top of existing processors. It hides the underlying operating system from Java-enabled applets and applications. The Java Virtual Machine can be implemented in software or hardware.
Java API -- The Java API (Application Programming Interface) consists of the functions and variables that programmers are allowed to use in their applications. It provides a standard interface to applets and applications, regardless of the underlying operation system.
The Java Platform has two forms: the Java Base Platform and the Embedded Java Platform.
According to the JavaSoft's White Paper, the Java Base Platform will soon be embedded in all leading desktop, workstation, and network operating systems.
On the Java Platform developers can create two different kinds of programs: applets and applications. The primary difference between them are: an applet requires a network to run while an application does not. While applets and applications for the most part have the same access to a wide range of language capabilities, applets are restricted from having read or write access to any file system except the server from which they came. This is because an applet can be potentially downloaded from an untrusted source. This constraint will be relaxed when mechanism is implemented so that applets can be marked with digital signatures, allowing the end-user to be assured that it has been downloaded unaltered from a trusted source.
Currently, JavaSoft is working with Sun Microelectronics to develop the JavaChip (tm) Family: picoJava (tm), microJava (tm) and ultraJava (tm). The first of these, picoJava, is actually a standard specification for the design of a microprocessor that supports the Java Virtual Machine. The JavaChip family adopts a new architecture that is not SPARC-based (SPARC -- Scalable Processor Architecture -- An instruction set architecture designed by Sun Microsysterms). Since it is optimized for the unique demands of Java, this new architecture enables Java to run in the most efficient, cost-effective manner.
Besides the JavaChip family, JavaSoft also has JavaOS -- an operating system that implements the Java Virtual Machine, Java Embedded API, and the underlying functionality for windowing, networking and file system. We will give more details about JavaOs in Section 4.
With the JavaChip family and JavaOS, the Java Platform will be available in a wide range of operating systems and hardware: all leading desktop, workstation, network operating systems, and consumer and industrial embedded devices.
In the next section, we shift our focus onto the Java Language -- the entry ramp to the Java Platform.
Copyright 1996 Guowei Huang, All Rights Reserved
Guowei Huang
<ghuang@csgrad.cs.vt.edu>
Last modified: Sun Nov 24 11:50:05 1996