J a v a

Java Language Page - arranged by In-Young Ko CSCI Dept., University of Southern California, August 30, 1996


1. History and Philosophy of Java

Created by James Gosling at SUN Microsystems Corp. the language was designed to be object-oriented, based upon C, but considerably simpler than C++. It removes many elements from C, such as pointers, and many elements from C++, such as multiple inheritance. Its use for creating applets on the World Wide Web has been its first major application area. However, it is a fully general purpose language.

Java retains the look-and-feel of C/C++ so programmers can migrate more easily to it. Java has a large collection of libraries of tested objects that can be reused. Java supports both object-oriented features and concurrency features. Java eliminates pointers entirely, no pointers and hence no pointer arithmetic, so there are no longer pointer problems. Java includes security in its language and run-time verification, so programs are safe from tampering. Java generates byte codes - an architecture neutral intermediate format which is interpreted at the local site. There is no binary distribution of code.

Java defines specific sizes for the basic data types, helping to insure that Java programs will be portable across platforms Java virtual machine is a layered architecture, based on the POSIX interface standard, so ports to new architectures should not be difficult. Garbage collection runs as a low-priority background thread, helping to avoid obnoxious garbage collects at inconvenient times. Compute-intensive programs can be written in native machine code and combined with a Java program. Java programs are edited, executed and tested, simplifying the compile, link, and load cycle of C/C++. Java supports multithreading at the language level.


2. Tutorials on Java


3. Reference Manuals and Libraries on Java


4. Java Grammars


5. Java Compilers(Development Environments)


6. Issues on Java


Click here to go Home