HostedDB - Dedicated UNIX Servers

-->
Internet Security Professional Reference:Java Security
Previous Table of Contents Next


Java Is High Performance

Typically, the cost of such portability, security, and robustness is the loss of performance. It seems unreasonable to believe that interpreted code can run at the same speed as native code. Java has a few tricks, however, that reduce the amount of overhead significantly:

  Built-in multithreading
  Efficient bytecodes
  Just-in-time compilation
  Capability to link in native C methods

One way Java overcomes the performance problems of traditional interpreters is by including built-in multithreading capability. Rarely does a program constantly use up CPU cycles. Instead, programs must wait for user input or file or network access. These actions leave the processor idle in single-threaded applications. Instead, Java uses this idle time to perform the necessary garbage cleanup and general system maintenance that causes interpreters to slow down many applications.

Additionally, the compiled Java bytecodes are very close to machine code, so interpreting them on any specific platform is very efficient. In cases where the interpreter is not going to be sufficient, the programmer has two options: compiling the code at runtime to native code or linking in native C code. Linking in native C code is the quicker of the two, but places an additional burden on the programmer and reduces portability. Compiling at runtime means that code is still portable, but there is an initial delay while the code compiles.

Java Is Easy

Finally, the Java language is easy. The Java language is simple and effective because of its well-thought-out design and implementation. The following are the three most important elements that make it an easy language to use:

  It is familiar, being fashioned after C++.
  It eliminates problematic language elements.
  It provides powerful class libraries.

Java is consciously fashioned after the C++ language, providing a look and feel with which most programmers are comfortable. At the same time, Java eliminates difficult and problematic elements of C++ such as pointers and memory management. This means that programmers can spend less time worrying about whether code will run and more time developing functionality. Java also has a powerful set of class libraries that provide much of the basic functionality needed to develop an application quickly and effectively. Of course, these libraries include security classes.

History of the Java Language

In April, 1991, a small group of Sun employees moved off campus to Sand Hill Road, breaking direct LAN connection and most communication with the parent company. Settling on the name Green for their project, work began on what they considered a move into commercial electronics. In May, 1995, Sun officially announced Java and HotJava at SunWorld ’95. During this four-year period, the Green group moved through consumer electronics, PDAs, set-top boxes, and CD-ROMs to emerge as the most likely contender for becoming the ubiquitous language of the Internet in the next decade. The following is a history of how the Java language evolved.

When the Green group was first envisioned as a foray into selling modern software technology to consumer electronics companies, it was realized that a platform-independent development environment was needed. The public was not interested in which processor was inside their machines, as long as it worked well; developing for a single platform would be suicide. James Gosling began work by attempting to extend the C++ compiler, but soon realized that C++ would need too much work for it to succeed. Gosling proceeded to develop a new language for the Green project—Oak. The name came to Gosling when he saw a tree outside his window as he was entering the directory structure for the new language; however, after failing a trademark search, it would later come to be known as Java.

Originally, four elements—Oak, an operating system known as the GreenOS, User Interface, and hardware-—were combined into a PDA-like device known as *7 (star seven), named for the telephone sequence used to answer any ringing phone from any other in the Sand Hill offices. The small, hand-held device was good enough to impress Sun executives, but they were uncertain what the next step should be.

The technology in *7 was first envisioned by the Green team as a marketable product that could be sold to consumer electronics manufacturers who would place the company logo on the front of boxes, as Dolby Labs had done for years. In early 1993, however, the Green team, now incorporated as FirstPerson, Inc., heard that Time-Warner was asking for proposals for set-top box operating systems and video-on-demand technology. These boxes would be used to decode the data stream that entertainment companies would send to consumers all over the country for display on television sets.

Ironically, at the same time FirstPerson heard about and began focusing on the set-top box market of interactive television, NCSA Mosaic 1.0, the first graphical web browser, was released. Even as the Green technology was being developed for one market—set-top boxes, the field in which it would gain the most acceptance was itself just getting started. The Web had, of course, been around for several years by this time, developed at CERN by Tim Berners-Lee in 1990. Up to this point, however, it had retained the text-based interface that reminded people too much of Unix and lingering DOS—a text-based interface that was quickly becoming obsolete in the new graphical user interface environment of software development. NCSA’s Mosaic changed the face of the Internet by enabling graphics and text to be merged into a seamless interface from a formerly cryptic and confusing system of protocols and commands.

Java and the web were both developed at the beginning of the decade, an ocean apart. It took another three years for the potential of the web to be realized in Mosaic, and another two years before Java was made available to the wider Internet community.

At the time of Mosaic’s release, FirstPerson was bidding on the Time-Warner TV trial, in which hundreds of homes would be outfitted with experimental video-on-demand hardware for testing. In June, 1993, Time-Warner chose Silicon Graphics, Inc. over Sun. By early 1994, after a near deal with 3DO fell through and no new partners or marketing strategy were forthcoming, FirstPerson’s public launch was canceled. Half of the staff left for Sun Interactive to work on digital video servers, and FirstPerson was dissolved. With the remaining staff, however, work continued at Sun on applying FirstPerson’s technology to CD-ROM, online multimedia, and network-based computing.


Previous Table of Contents Next