Java™ Language Specification, The, 3rd Edition
- By James Gosling, Bill Joy, Guy L. Steele, Gilad Bracha
- Published Jun 14, 2005 by Addison-Wesley Professional. Part of the Java Series series.
- Copyright 2005
- Dimensions: 7x9-1/4
- Pages: 688
- Edition: 3rd
- ISBN-10: 0-321-24678-0
- ISBN-13: 978-0-321-24678-3
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
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® 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,™ 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.
Written by the inventors of the technology, The Java™ Language Specification, Third Edition, is the definitive technical reference for the Java™ 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.
14 of 14 people found the following review helpful
For the guts of Java, there's nothing better...,
This review is from: The Java¿ Language Specification (3rd Edition) (Paperback)Are you the type that has to know the "why" and "how" behind how a language behaves? Then this is the book you need... The Java Language Specification, Third Edition by James Gosling, Bill Joy, Guy Steele, Gilad Bracha. Provided you're buying it for the right reason, there's nothing close to it.
Contents: Introduction; Grammars; Lexical Structure; Types, Values, and Variables; Conversions and Promotions; Names; Packages; Classes; Interfaces; Arrays; Exceptions; Execution; Binary Compatibility; Blocks and Statements; Expressions; Definite Assignment; Threads and Locks; Syntax; Index
So why do I say "for the right reason"? Because if you pick it up expecting something else, you'll be highly disappointed. This is *not* a tutorial of the language, nor is it an easy-to-read conversation or discussion of Java. Instead, it's a computer engineering level coverage of how Java is structured and how it works, from the people who wrote it. As such, you're going to... Read more
17 of 18 people found the following review helpful
Best Java book for experienced programmers.,
By A Customer
This review is from: The Java(TM) Language Specification (Paperback)Never buy Internet/Programming books by the pound.
If you already know how programming languages and
compilers work (maybe you've written a compiler or
two..) and you want evaluate Java as a language or
you want to develop your Java programming "head" in
addition to your "C" "head" and your assembler "head",
this is the resource.
This is learning the beauty of the Java language by
drinking from the firehose, not slodging through the
mud. The book is mercifully concise, Emily Dickinson
would be proud.
12 of 12 people found the following review helpful
Must-have for the Java system developer,
Amazon Verified Purchase(What's this?)
This review is from: The Java¿ Language Specification (3rd Edition) (Paperback)This is it, the complete and authoritative definition of the Java programming language. This edition covers the Java language up to 1.5, so it gives a full description of generics and type parameters, boxing and unboxing, enums, annotation, and all the latest. If you develop Java language tools - debuggers, compilers, etc. - you simply must have this book. If you care about Java details that much, you must have the newest edition.
The typical programmer, someone who uses Java for application development, probably won't find much of interest in this book. This isn't a programmer's how-to manual. Nearly nothing describes how to use the language features. The code samples just illustrate language syntax and subtleties. There's nearly no discussion of the Java APIs, not even the java.lang.* packages or language-dependent reflection features. These are not flaws in this reference manual - this simply isn't a book meant to serve those needs.
Despite its 650+ pages,... Read more
› See all 16 customer reviews...
Online Sample Chapter
Table of Contents
Preface to the Second Edition.
Preface to the Third Edition.
Relationship to Predefined Classes and Interfaces.
The Lexical Grammar.
The Syntactic Grammar.
3. Lexical Structure.
Input Elements and Tokens.
4. Types, Values, and Variables.
The Kinds of Types and Values.
Primitive Types and Values.
Reference Types and Values.
Where Types Are Used.
5. Conversions and Promotions.
Kinds of Conversion.
Method Invocation Conversion.
Names and Identifiers.
Scope of a Declaration.
Members and Inheritance.
Determining the Meaning of a Name.
Fully Qualified Names and Canonical Names.
Host Support for Packages.
Top Level Type Declarations.
Unique Package Names.
Member Type Declarations.
Field (Constant) Declarations.
Abstract Method Declarations.
Member Type Declarations.
Arrays: A Simple Example.
Class Objects for Arrays.
An Array of Characters is Not a String.
Array Store Exception.
The Causes of Exceptions.
Compile-Time Checking of Exceptions.
Handling of an Exception.
An Example of Exceptions.
The Exception Hierarchy.
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.
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.
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.
Evaluation, Denotation, and Result.
Variables as Values.
Type of an Expression.
Expressions and Run-Time Checks.
Normal and Abrupt Completion of Evaluation.
Class Instance Creation Expressions.
Array Creation Expressions.
Field Access Expressions.
Method Invocation Expressions.
Array Access Expressions.
Bitwise and Logical Operators.
Conditional-And Operator &&.
Conditional-Or Operator ||.
Conditional Operator ? :.
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.
Final Field Semantics.
Non-atomic Treatment of double and long.
Wait Sets and Notification.
Sleep and Yield.
The Grammar of the Java Programming Language.
This edition of the Java Programming Language Specification represents the largest set of changes in the language's history. Generics, annotations, asserts, autoboxing and unboxing, enum types, for-each loops, variable arity methods and static imports have all been added to the language recently. All but asserts are new to the 5.0 release of autumn 2004.
This third edition of The Java Language Specification reflects these developments. It integrates all the changes made to the Java programming language since the publication of the second edition in 2000.
The language has grown a great deal in these past four years. Unfortunately, it is unrealistic to shrink a commercially successful programming language--only to grow it more and more. The challenge of managing this growth under the constraints of compatibility and the conflicting demands of a wide variety of uses and users is non-trivial. I can only hope that we have met this challenge successfully with this specification; time will tell.
Downloadable Sample Chapter
Download the Sample
Chapter related to this title.
Download the Index
file related to this title.
This book includes free shipping!
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.