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