经典原版书库 Java语言规范 第三版 英文版
作者:(美)戈斯林等
出版时间:2006
丛编项: 经典原版书库
内容简介
本书由“Java之父”James Gosling以及另外三位顶级大师(Bill Joy、Guy L. Steele Jr.和Gilad Bracha)亲自撰写,无论是对Java语言的初学者还是资深使用者都具有极高的价值。本书是关于Java程序设计语言最权威的技术参考书。全书侧重于Java技术细节和内幕,提供了对Java语言及其语法的全面、准确、详尽的描述,使读者了解Java结构的精确含义。书中讲述了Java语言全部的语法和语义,论述了Java编译器所要检查的语法的各个方面和Java运行模式的各个方面,同时,还描述了Java语言最重要的新特征(包括generics、annotations、asserts、autoboxing enums、for-each loops、variable arity methods和static import clauses等)。本书适用于从Java初学者到专业程序员的各类Java读者。
目录
1. Introduction.
Example Programs.
Notation.
Relationship to Predefined Classes and Interfaces.
References.
2. Grammars.
Context-Free Grammars.
The Lexical Grammar.
The Syntactic Grammar.
Grammar Notation.
3. Lexical Structure.
Unicode.
Lexical Translations.
Unicode Escapes.
Line Terminators.
Input Elements and Tokens.
White Space.
Comments.
Identifiers.
Keywords.
Literals.
Separators.
Operators.
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.
Subtyping.
Where Types Are Used.
Variables.
5. Conversions and Promotions.
Kinds of Conversion.
Assignment Conversion.
Method Invocation Conversion.
String Conversion.
Casting Conversion.
Numeric Promotions.
6. Names.
Declarations.
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.
Enums.
9. Interfaces.
Interface Declarations.
Interface Members.
Field (Constant) Declarations.
Abstract Method Declarations.
Member Type Declarations.
Annotation Types.
Annotations.
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.
Blocks.
Local Class Declarations.
Local Variable Declaration Statements.
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.
Expression.
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.
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.
Index.
Credits.
Colophon.