Free Shipping In the UK
The Java Language Specification By James Gosling

The Java Language Specification
by James Gosling

In Stock
Written by the inventors of the technology, this book acts as a technical reference for the Java programming language. Besides covering the Java programming language, it also includes various features such as generics, annotations, asserts, autoboxing, enums, for-each loops, variable arity methods, and static import clauses.
Only 1 left

The Java Language Specification Summary

The Java Language Specification by James Gosling

Written by the inventors of the technology, The Java (TM) Language Specification, Third Edition, is the definitive technical reference for the Java (TM) programming language. If you want to know the precise meaning of the language's constructs, this is the source for you.

The book provides complete, accurate, and detailed coverage of the Java programming language. It provides full coverage of all new features added since the previous edition, including generics, annotations, asserts, autoboxing, enums, for-each loops, variable arity methods, and static import clauses.

Why buy from World of Books

Our excellent value books literally don't cost the earth
Free delivery in the UK
Read more here
Every used book bought is one saved from landfill

About James Gosling

James Gosling is a Fellow and Chief Technology Officer of Sun's Developer Products group, the creator of the Java programming language, and one of the computer industry's most noted programmers. He is the 1996 recipient of Software Development's "Programming Excellence Award." He previously developed NeWS, Sun's network-extensible window system, and was a principal in the Andrew project at Carnegie Mellon University, where he earned a Ph.D. in computer science.

Bill Joy is a cofounder of Sun Microsystems, where he led the company's technical strategy until September 2003, working on both hardware and software architecture. He is well known as the creator of the Berkeley version of the UNIX (R) operating system, for which he received a lifetime achievement award from the USENIX Association in 1993. He received the ACM Grace Murray Hopper Award in 1986. Joy has had a central role in shaping the Java programming language. He joined KPCB as Partner in January 2005.

Guy L. Steele Jr. is a Sun Fellow at Sun Microsystems Laboratories, where he is responsible for research in language design and implementation strategies, parallel algorithms, and computer arithmetic. He is well known as the cocreator of the Scheme programming language and for his reference books for the C programming language (with Samuel Harbison) and for the Common Lisp programming language. Steele received the ACM Grace Murray Hopper Award in 1988 and was named an ACM Fellow in 1994, a member of the National Academy of Engineering in 2001, and a fellow of the American Academy of Arts and Science in 2002. He also received the 1996 ACM SIGPLAN Programming Languages Achievement Award and the 2005 Dr. Dobb's Journal Excellence in Programming Award.

Gilad Bracha is Computational Theologist at Sun Microsystems, and a researcher in the area of object-oriented programming. Prior to joining Sun, he worked on Strongtalk, (TM) the Animorphic Smalltalk System. He holds a B.S. in mathematics and computer science from Ben Gurion University in Israel and a Ph.D. in computer science from the University of Utah.

Table of Contents


Preface to the Second Edition.

Preface to the Third Edition.

1. Introduction.

Example Programs.


Relationship to Predefined Classes and Interfaces.


2. Grammars.

Context-Free Grammars.

The Lexical Grammar.

The Syntactic Grammar.

Grammar Notation.

3. Lexical Structure.


Lexical Translations.

Unicode Escapes.

Line Terminators.

Input Elements and Tokens.

White Space.







4. Types, Values, and Variables.

The Kinds of Types and Values.

Primitive Types and Values.

Reference Types and Values.

Type Variables.

Parameterized Types.

Type Erasure.

Reifable Types.

Raw Types.

Intersection Types.


Where Types Are Used.


5. Conversions and Promotions.

Kinds of Conversion.

Assignment Conversion.

Method Invocation Conversion.

String Conversion.

Casting Conversion.

Numeric Promotions.

6. Names.


Names and Identifiers.

Scope of a Declaration.

Members and Inheritance.

Determining the Meaning of a Name.

Access Control.

Fully Qualified Names and Canonical Names.

Naming Conventions.

7. Packages.

Package Members.

Host Support for Packages.

Compilation Units.

Package Declarations.

Import Declarations.

Top Level Type Declarations.

Unique Package Names.

8. Classes.

Class Declaration.

Class Members.

Field Declarations.

Method Declarations.

Member Type Declarations.

Instance Initializers.

Static Initializers.

Constructor Declarations.


9. Interfaces.

Interface Declarations.

Interface Members.

Field (Constant) Declarations.

Abstract Method Declarations.

Member Type Declarations.

Annotation Types.


10. Arrays.

Array Types.

Array Variables.

Array Creation.

Array Access.

Arrays: A Simple Example.

Array Initializers.

Array Members.

Class Objects for Arrays.

An Array of Characters is Not a String.

Array Store Exception.

11. Exceptions.

The Causes of Exceptions.

Compile-Time Checking of Exceptions.

Handling of an Exception.

An Example of Exceptions.

The Exception Hierarchy.

12. Execution.

Virtual Machine Start-Up.

Loading of Classes and Interfaces.

Linking of Classes and Interfaces.

Initialization of Classes and Interfaces.

Creation of New Class Instances.

Finalization of Class Instances.

Unloading of Classes and Interfaces.

Program Exit.

13. Binary Compatibility.

The Form of a Binary.

What Binary Compatibility Is and Is Not.

Evolution of Packages.

Evolution of Classes.

Evolution of Interfaces.

14. Blocks and Statements.

Normal and Abrupt Completion of Statements.


Local Class Declarations.

Local Variable Declaration Statements.


The Empty Statement.

Labeled Statements.

Expression Statements.

The if Statement.

The assert Statement.

The switch Statement.

The while Statement.

The do Statement.

The for Statement.

The break Statement.

The continue Statement.

The return Statement.

The throw Statement.

The synchronized Statement.

The try statement.

Unreachable Statements.

15. Expressions.

Evaluation, Denotation, and Result.

Variables as Values.

Type of an Expression.

FP-strict Expressions.

Expressions and Run-Time Checks.

Normal and Abrupt Completion of Evaluation.

Evaluation Order.

Primary Expressions.

Class Instance Creation Expressions.

Array Creation Expressions.

Field Access Expressions.

Method Invocation Expressions.

Array Access Expressions.

Postfix Expressions.

Unary Operators.

Cast Expressions.

Multiplicative Operators.

Additive Operators.

Shift Operators.

Relational Operators.

Equality Operators.

Bitwise and Logical Operators.

Conditional-And Operator &&.

Conditional-Or Operator ||.

Conditional Operator ? :.

Assignment Operators.


Constant Expression.

16. Definite Assignment.

Definite Assignment and Expressions.

Definite Assignment and Statements.

Definite Assignment and Parameters.

Definite Assignment and Array Initializers.

Definite Assignment and Enum Constants.

Definite Assignment and Anonymous Classes.

Definite Assignment and Member Types.

Definite Assignment and Static Initializers.

Definite Assignment, Constructors, and Instance Initializers.

17. Threads and Locks.


Notation in Examples.

Incorrectly Synchronized Programs Exhibit Surprising Behaviors.

Memory Model.

Final Field Semantics.

Word Tearing.

Non-atomic Treatment of double and long.

Wait Sets and Notification.

Sleep and Yield.

18. Syntax.

The Grammar of the Java Programming Language.




Additional information

The Java Language Specification by James Gosling
James Gosling
Used - Very Good
Pearson Education (US)
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us.