|
Previous | Table of Contents | Next |
The Java language changes the passive nature of the Internet and World Wide Web by enabling architecturally neutral code to be dynamically loaded and run on a heterogeneous network of machines such as the Internet. Java provides this functionality by incorporating the following characteristics into its architecture. These features make Java the most promising contender for soon becoming the major protocol for the Internet.
The job of providing dynamic content for the Internet is daunting, but the protocol that succeeds will become as universal as e-mail or HTML is today.
At the time of this writing, Java version 1.1 is the current version. (It can be downloaded, along with documentation, from their WWW site at www.javasoft.com.) Version 1.1 includes support for several new features, among which is the support for JavaBeans, a technology that gives vendors another way to add increased functionality to Java applications. Perhaps the most interesting enhancement from a security standpoint is the new capability to sign Java applications to verify their origin. Although browsers from Netscape and Microsoft do not support the signing feature as of this writing, the HotJava browser from Sun does.
The Java programming language provides portability in several ways. Two of these ways are as follows:
By executing in an interpreter environment, the Java code need not conform to any single hardware platform. The Java compiler that creates the executable programs from source code compiles for a target machine that does not physically existthe Java Virtual Machine (JVM). The JVM is a specification for a hypothetical processor that can run Java code. The traditional problem with interpreters has always been their lack of performance. Java attempts to overcome this by compiling to an intermediate stage and converting the source code to bytecode, which can then be efficiently converted into native code for a particular processor.
In addition to specifying a virtual machine code specification to ensure portability, the Java language also makes sure that data takes up the same amount of space in all implementations. On the other hand, C programming language types change, depending upon the underlying hardware and operating system. An integer that occupied 16 bits under Windows 3.1, for example, now takes up 32 bits on Windows 95. The same problem exists across processor platforms, in which computers such as the DEC Alpha are 64 bits, while others, such as Intels 486, are only 32 bits. By creating a single standard for data size, Java makes sure that programs are hardware-independent.
These features and others ensure that Java is capable of running on any machine for which the interpreter is ported. Thus, once a single application has been ported, the developer and user have the benefit of every program written for Java.
Previous | Table of Contents | Next |