The Java Language Environment: Contents

   
CONTENTS | PREV | NEXT  

 


A White Paper

May 1996

James Gosling
Henry McGilton

         
         
 
         
1. Introduction to Java
   
1.1Beginnings of the Java Language Project
   
1.2Design Goals of Java
    1.2.1Simple, Object Oriented, and Familiar
    1.2.2Robust and Secure
    1.2.3Architecture Neutral and Portable
    1.2.4High Performance
    1.2.5Interpreted, Threaded, and Dynamic
   
1.3The Java Platform--a New Approach to Distributed Computing
         
2. Java--Simple and Familiar
   
2.1Main Features of the Java Language
    2.1.1Primitive Data Types
    2.1.2Arithmetic and Relational Operators
    2.1.3Arrays
    2.1.4Strings
    2.1.5Multi-Level Break
    2.1.6Memory Management and Garbage Collection
    2.1.7The Background Garbage Collector
    2.1.8Integrated Thread Synchronization
   
2.2Features Removed from C and C++
    2.2.1No More Typedefs, Defines, or Preprocessor
    2.2.2No More Structures or Unions
    2.2.3No Enums
    2.2.4No More Functions
    2.2.5No More Multiple Inheritance
    2.2.6No More Goto Statements
    2.2.7No More Operator Overloading
    2.2.8No More Automatic Coercions
    2.2.9No More Pointers
   
2.3Summary
         
3. Java is Object Oriented
   
3.1Object Technology in Java
   
3.2What Are Objects?
   
3.3Basics of Objects
    3.3.1Classes
    3.3.2Instantiating an Object from its Class
    3.3.3Constructors
    3.3.4Methods and Messaging
    3.3.5Finalizers
    3.3.6Subclasses
    3.3.7Java Language Interfaces
    3.3.8Access Control
    3.3.9Packages
    3.3.10Class Variables and Class Methods
    3.3.11Abstract Methods
   
3.4Summary
         
4. Architecture Neutral, Portable, and Robust
   
4.1Architecture Neutral
    4.1.1Byte Codes
   
4.2Portable
   
4.3Robust
    4.3.1Strict Compile-Time and Run-Time Checking
   
4.4Summary
         
5. Interpreted and Dynamic
   
5.1Dynamic Loading and Binding
    5.1.1The Fragile Superclass Problem
    5.1.2Solving the Fragile Superclass Problem
    5.1.3Run-Time Representations
   
5.2Summary
         
6. Security in Java
   
6.1Memory Allocation and Layout
   
6.2Security Checks in the Class Loader
   
6.3The Byte Code Verification Process
    6.3.1The Byte Code Verifier
   
6.4Security in the Java Networking Package
   
6.5Summary
         
7. Multithreading
   
7.1Threads at the Java Language Level
   
7.2Integrated Thread Synchronization
   
7.3Multithreading Support--Conclusion
         
8. Performance and Comparisons
   
8.1Performance
   
8.2The Java Language Compared
   
8.3A Major Benefit of Java: Fast and Fearless Prototyping
   
8.4Summary
         
9. Java Base System and Libraries
   
9.1Java Language Classes
   
9.2Input Output Package
   
9.3Utility Package
   
9.4Abstract Window Toolkit
         
10. The HotJava World-Wide Web Browser
   
10.1The Evolution of Cyberspace
    10.1.1First Generation Browsers
    10.1.2The HotJava Browser--A New Concept in Web Browsers
    10.1.3The Essential Difference
    10.1.4Dynamic Content
    10.1.5Dynamic Types
    10.1.6Dynamic Protocols
   
10.2Freedom to Innovate
   
10.3Implementation Details
   
10.4Security
    10.4.1The First Layer--the Java Language Interpreter
    10.4.2The Next Layer--the Higher Level Protocols
   
10.5HotJava--the Promise
         
11. Further Reading

James Gosling Henry McGilton


NEXT

Copyright © 1997 Sun Microsystems, Inc. All Rights Reserved.
Left Curve
Java SDKs and Tools
Right Curve
Left Curve
Java Resources
Right Curve
JavaOne Banner Java 8 banner (182)