The Java Language Specification, 2/e (Paperback)
James Gosling, Bill Joy, Guy L. Steele Jr., Gilad Bracha
- 出版商: Addison Wesley
- 出版日期: 2000-06-15
- 定價: $1,200
- 售價: 5.0 折 $600
- 語言: 英文
- 頁數: 544
- 裝訂: Paperback
- ISBN: 0201310082
- ISBN-13: 9780201310085
-
相關分類:
Java 程式語言
立即出貨(限量)
買這商品的人也買了...
-
$1,029Fundamentals of Data Structures in C++
-
$680$537 -
$2,610$2,480 -
$1,068Software Engineering, 6/e
-
$350$298 -
$980$774 -
$580$452 -
$970Introduction to Algorithms, 2/e
-
$1,330$1,260 -
$560$504 -
$1,029Operating System Concepts, 6/e (Windows XP Update)
-
$860$731 -
$560$476 -
$690$587 -
$780$741 -
$590$466 -
$560$437 -
$690$538 -
$720$569 -
$750$675 -
$720$569 -
$860$731 -
$800$760 -
$560$504 -
$550$468
相關主題
商品描述
Description
The definitive Java 2 reference for every developer: a long-awaited, complete update by the language's creators!
- Covers every key aspect of the Java language.
- Classes, interface types, arrays, exceptions, expressions, threading, locks, and more.
- Detailed chapters on program execution, structure, and binary compatibility.
James Gosling is Sun Fellow and Sun Microsystems Vice President, and the inventor of the Java programming language. Bill Joy is chief scientist of Sun Microsystems, Inc. Guy Steele, Distinguished Engineer at Sun Microsystems, Inc., is responsible for the specification of the Java programming language. Gilad Bracha is a staff engineer at Sun Microsystems specializing in Java software.
Java--Intermediate Programming.
Table Of Contents
Preface.Preface to the Second Edition.
1. Introduction.
Notation.
Relationship to Predefined Classes and Interfaces.
References.
2. Grammars.
The Lexical Grammar.
The Syntactic Grammar.
Grammar Notation.
3. Lexical Structure.
Lexical Translations.
Unicode Escapes.
Line Terminators.
Input Elements and Tokens.
White Space.
Comments.
Identifiers.
Keywords.
Literals.
Floating-Point Literals.
Boolean Literals.
Character Literals.
String Literals.
Escape Sequences for Character and String Literals.
The Null Literal.
Separators.
Operators.
4. Types, Values, and Variables.
Primitive Types and Values.
Integer Operations.
Floating-Point Types, Formats, and Values.
Floating-Point Operations.
The boolean Type and boolean Values.
Reference Types and Values
The Class Object.
The Class String.
When Reference Types Are the Same.
Where Types Are Used.
Variables.
Variables of Reference Type.
Kinds of Variables.
Final Variables.
Initial Values of Variables.
Types, Classes, and Interfaces.
5. Conversions and Promotions.
Widening Primitive Conversion.
Narrowing Primitive Conversions.
Widening Reference Conversions.
Narrowing Reference Conversions.
String Conversions.
Forbidden Conversions.
Value Set Conversion.
Assignment Conversion.
Method Invocation Conversion.
String Conversion.
Casting Conversion.
Numeric Promotions.
Binary Numeric Promotion.
6. Names.
Names and Identifiers.
Scope of a Declaration.
Obscured Declarations.
Members and Inheritance.
The Members of a Class Type.
The Members of an Interface Type.
The Members of an Array Type.
Determining the Meaning of a Name.
Reclassification of Contextually Ambiguous Names.
Meaning of Package Names.
Qualified Package Names.
Meaning of PackageOrTypeNames.
Qualified PackageOrTypeNames.
Meaning of Type Names.
Qualified Type Names.
Meaning of Expression Names.
Qualified Expression Names.
Meaning of Method Names.
Qualified Method Names.
Access Control.
Details on protected Access.
Qualified Access to a protected Constructor.
An Example of Access Control.
Example: Access to public and Non-public Classes.
Example: Default-Access Fields, Methods, and Constructors.
Example: public Fields, Methods, and Constructors.
Example: protected Fields, Methods, and Constructors.
Example: private Fields, Methods, and Constructors.
Fully Qualified Names and Canonical Names.
Naming Conventions.
Class and Interface Type Names.
Method Names.
Field Names.
Constant Names.
Local Variable and Parameter Names.
7. Packages.
Host Support for Packages.
Storing Packages in a Database.
Compilation Units.
Package Declarations.
Unnamed Packages.
Observability of a Package.
Scope of a Package Declaration.
Import Declarations.
Type-Import-on-Demand Declaration.
Automatic Imports.
A Strange Example.
Top Level Type Declarations.
Unique Package Names.
8. Classes.
final Classes.
strictfp Classes.
Inner Classes and Enclosing Instances.
Superclasses and Subclasses.
Superinterfaces.
Class Body and Member Declarations.
Class Members.
Inheritance with public and protected.
Inheritance with private.
Accessing Members of Inaccessible Classes.
Field Declarations.
final Fields.
transient Fields.
volatile Fields.
Initialization of Fields.
Initializers for Instance Variables.
Restrictions on the use of Fields during Initialization.
Examples of Field Declarations.
Example: Hiding of Instance Variables.
Example: Multiply Inherited Fields.
Example: Re-inheritance of Fields.
Method Declarations.
Method Signature.
Method Modifiers.
static Methods.
final Methods.
native Methods.
strictfp Methods.
synchronized Methods.
Method Throws.
Method Body.
Inheritance, Overriding, and Hiding.
Hiding (by Class Methods).
Requirements in Overriding and Hiding.
Inheriting Methods with the Same Signature.
Overloading.
Examples of Method Declarations.
Example: Overloading, Overriding, and Hiding.
Example: Incorrect Overriding.
Example: Overriding versus Hiding.
Example: Invocation of Hidden Class Methods.
Large Example of Overriding.
Example: Incorrect Overriding because of Throws.
Member Type Declarations.
Static Member Type Declarations.
Instance Initializers.
Static Initializers.
Constructor Declarations.
Constructor Signature.
Constructor Modifiers.
Constructor Throws.
Constructor Body.
Constructor Overloading.
Default Constructor.
Preventing Instantiation of a Class.
9. Interfaces.
strictfp Interfaces.
Superinterfaces and Subinterfaces.
Interface Body and Member Declarations.
Access to Interface Member Names.
Interface Members.
Field (Constant) Declarations.
Examples of Field Declarations.
Multiply Inherited Fields.
Abstract Method Declarations.
Overloading.
Examples of Abstract Method Declarations.
Example: Overloading.
Member Type Declarations.
10. Arrays.
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.
Compile-Time Checking of Exceptions.
Why Runtime Exceptions are Not Checked.
Handling of an Exception.
Handling Asynchronous Exceptions.
An Example of Exceptions.
The Exception Hierarchy.
Virtual Machine Errors.
12. Execution.
Link Test: Verify, Prepare, (Optionally) Resolve.
Initialize Test: Execute Initializers.
Invoke Test.main.
Loading of Classes and Interfaces.
Linking of Classes and Interfaces.
Preparation of a Class or Interface Type.
Resolution of Symbolic References.
Initialization of Classes and Interfaces.
Detailed Initialization Procedure.
Initialization: Implications for Code Generation.
Creation of New Class Instances.
Finalization of Class Instances.
Finalizer Invocations are Not Ordered.
Unloading of Classes and Interfaces.
Program Exit.
13. Binary Compatibility.
What Binary Compatibility Is and Is Not.
Evolution of Packages.
Evolution of Classes.
Final Classes.
Public Classes.
Superclasses and Superinterfaces.
Class Body and Member Declarations.
Access to Members and Constructors.
Field Declarations.
Final Fields and Constants.
Static Fields.
Transient Fields.
Method and Constructor Declarations.
Method and Constructor Parameters.
Method Result Type.
Abstract Methods.
Final Methods.
Native Methods.
Static Methods.
Synchronized Methods.
Method and Constructor Throws.
Method and Constructor Body.
Method and Constructor Overloading.
Method Overriding.
Static Initializers.
Evolution of Interfaces.
Superinterfaces.
The Interface Members.
Field Declarations.
Abstract Method Declarations.
14. Blocks and Statements.
Blocks.
Local Class Declarations.
Local Variable Declaration Statements.
Scope of Local Variable Declarations.
Shadowing of Names by Local Variables.
Execution of Local Variable Declarations.
Statements.
The Empty Statement.
Labeled Statements.
Expression Statements.
The if Statement.
The if—then—else Statement.
The switch Statement.
The while Statement.
The do Statement.
Example of do statement.
The for Statement.
Iteration of for statement.
Abrupt Completion of for statement.
The break Statement.
The continue Statement.
The return Statement.
The throw Statement.
The synchronized Statement.
The try statement.
Execution of try—catch—finally.
Unreachable Statements.
15. Expressions.
Variables as Values.
Type of an Expression.
FP-strict Expressions.
Expressions and Run-Time Checks.
Normal and Abrupt Completion of Evaluation.
Evaluation Order.
Evaluate Operands before Operation.
Evaluation Respects Parentheses and Precedence.
Argument Lists are Evaluated Left-to-Right.
Evaluation Order for Other Expressions.
Primary Expressions.
Class Literals.
this.
Qualified this.
Parenthesized Expressions.
Class Instance Creation Expressions.
Determining Enclosing Instances.
Choosing the Constructor and its Arguments.
Run-time Evaluation of Class Instance Creation Expressions.
Anonymous Class Declarations.
Example: Evaluation Order and Out-of-Memory Detection.
Array Creation Expressions.
Example: Array Creation Evaluation Order.
Example: Array Creation and Out-of-Memory Detection.
Field Access Expressions.
Accessing Superclass Members using super.
Method Invocation Expressions.
Compile-Time Step 2: Determine Method Signature.
Choose the Most Specific Method.
Example: Overloading Ambiguity.
Example: Return Type Not Considered.
Example: Compile-Time Resolution.
Compile-Time Step 3: Is the Chosen Method Appropriate?
Runtime Evaluation of Method Invocation.
Evaluate Arguments.
Locate Method to Invoke.
Create Frame, Synchronize, Transfer Control.
Example: Target Reference and Static Methods.
Example: Evaluation Order.
Example: Overriding.
Example: Method Invocation using super.
Array Access Expressions.
Examples: Array Access Evaluation Order.
Postfix Expressions.
Postfix Decrement Operator.
Unary Operators.
Prefix Decrement Operator.
Unary Plus Operator.
Unary Minus Operator.
Bitwise Complement Operator ~
Logical Complement Operator !
Cast Expressions.
Multiplicative Operators.
Division Operator /
Remainder Operator %
Additive Operators.
Optimization of String Concatenation.
Examples of String Concatenation.
Additive Operators (+ and -) for Numeric Types.
Shift Operators.
Relational Operators.
Type Comparison Operator instanceof.
Equality Operators.
Boolean Equality Operators == and !=
Reference Equality Operators == and !=
Bitwise and Logical Operators.
Boolean Logical Operators &, ^, and |
Conditional-And Operator &&
Conditional-Or Operator ||
Conditional Operator ? :
Assignment Operators.
Compound Assignment Operators.
Expression.
Constant Expression.
16. Definite Assignment.
The Boolean Operator &&
The Boolean Operator ||
The Boolean Operator !
The Boolean Operator ? :
The Conditional Operator ? :
Assignment Expressions.
Operators ++ and --
Other Expressions.
Definite Assignment and Statements.
Blocks.
Local Class Declaration Statements.
Local Variable Declaration Statements.
Labeled Statements.
Expression Statements.
if Statements.
switch Statements.
while Statements.
do Statements.
for Statements.
Incrementation Part.
break, continue, return, and throw Statements.
synchronized Statements.
try Statements.
Definite Assignment and Parameters.
Definite Assignment and Array Initializers.
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.
Execution Order.
Rules about Variables.
Nonatomic Treatment of double and long.
Rules about Locks.
Rules about the Interaction of Locks and Variables.
Rules for Volatile Variables.
Prescient Store Actions.
Discussion.
Example: Possible Swap.
Example: Out-of-Order Writes.
Threads.
Locks and Synchronization.
Wait Sets and Notification.
18. Syntax.
Index.
Credits.
Colophon. 0201310082T04062001
商品描述(中文翻譯)
描述
這是每個開發者必備的Java 2參考資料:由語言的創造者進行了期待已久的全面更新!涵蓋了Java語言的每個關鍵方面。類別、介面類型、陣列、例外、表達式、執行緒、鎖定等等。詳細介紹了程式執行、結構和二進制相容性。近五年來,有一本書成為所有嚴肅開發者的Java參考資料:《Java語言規範》,作者是James Gosling、Bill Joy和Guy Steele。現在,這些世界知名的Java專家(以及新合著者Gilad Bracha)帶來了一次重大更新。這本完全修訂的第二版深入而精確地介紹了Java 2™平台標準版1.3,為每個開發者提供了Java創造者的寶貴見解。這是學習Java程式語言語法和語義的最佳來源。開發者會一再翻閱這本書。
James Gosling是Sun Fellow和Sun Microsystems副總裁,也是Java程式語言的發明者。Bill Joy是Sun Microsystems的首席科學家。Guy Steele是Sun Microsystems的傑出工程師,負責Java程式語言的規範。Gilad Bracha是Sun Microsystems的高級工程師,專門從事Java軟體開發。
適合的課程
Java - 中級程式設計。
目錄
前言。第二版前言。1.介紹。範例程式。符號。與預定義類別和介面的關係。參考資料。2.文法。上下文無關文法。詞法文法。語法文法。文法符號。3.詞法結構。Unicode。詞法轉換。Unicode逸出字元。行結束字元。輸入元素和標記。空白。註解。識別字。關鍵字。文字。整數文字。浮點數文字。布林文字。字元文字。字串文字。字元和字串文字的逸出序列。空值文字。分隔符。運算子。4.類型、值和變數。類型和值的種類。基本類型和值。整數類型和值。整數運算。浮點數類型、格式和值。浮點數運算。布林類型和布林值。參考類型和參考值。物件。類別物件。字串類別。當參考類型相同時。類型的使用位置。變數。基本類型的變數。參考類型的變數。變數的種類。最終變數。變數的初始值。類型、類別和介面。5.轉換和提升。轉換的種類。