Skip to content
Accessibility Policy
Products
Industries
Resources
Customers
Partners
Developers
Company
Close Search
Search Oracle.com
QUICK LINKS
Oracle Cloud Infrastructure
Oracle Fusion Cloud Applications
Oracle Database
Download Java
Careers at Oracle
Search
Country
View Accounts
Back
Cloud Account
Sign in to Cloud
Sign Up for Free Cloud Tier
Oracle Account
Sign-In
Create an Account
Help
Sign Out
Contact Sales
Menu
Menu
Java
Technologies
The Java Language Environment
The Java Language Environment: Contents
A White Paper
May 1996
James Gosling
Henry McGilton
Introduction to Java
Beginnings of the Java Language Project
Design Goals of Java
Simple, Object Oriented, and Familiar
Robust and Secure
Architecture Neutral and Portable
High Performance
Interpreted, Threaded, and Dynamic
The Java Platform--a New Approach to Distributed Computing
Java--Simple and Familiar
Main Features of the Java Language
Primitive Data Types
Arithmetic and Relational Operators
Arrays
Strings
Multi-Level Break
Memory Management and Garbage Collection
The Background Garbage Collector
Integrated Thread Synchronization
Features Removed from C and C++
No More Typedefs, Defines, or Preprocessor
No More Structures or Unions
No Enums
No More Functions
5No More Multiple Inheritance
No More Goto Statements
No More Operator Overloading
No More Automatic Coercions
No More Pointers
Summary
Java is Object Oriented
Object Technology in Java
What Are Objects?
Basics of Objects
Classes
Instantiating an Object from its Class
Constructors
Methods and Messaging
Finalizers
Subclasses
Java Language Interfaces
Access Control
Packages
Class Variables and Class Methods
Abstract Methods
Summary
Architecture Neutral, Portable, and Robust
Architecture Neutral
Byte Codes
Portable
Robust
Strict Compile-Time and Run-Time Checking
Summary
Interpreted and Dynamic
Dynamic Loading and Binding
The Fragile Superclass Problem
Solving the Fragile Superclass Problem
Run-Time Representations
Summary
Security in Java
Memory Allocation and Layout
Security Checks in the Class Loader
The Byte Code Verification Process
The Byte Code Verifier
Security in the Java Networking Package
Summary
Multithreading
Threads at the Java Language Level
Integrated Thread Synchronization
Multithreading Support--Conclusion
Performance and Comparisons
Performance
The Java Language Compared
A Major Benefit of Java: Fast and Fearless Prototyping
Summary
Java Base System and Libraries
Java Language Classes
Input Output Package
Utility Package
Abstract Window Toolkit