The Java Language Specification, Java SE 7 Edition
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-13-326022-9 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
James Gosling is the creator of the Java programming language and a former Fellow at Sun Microsystems. He developed the original Java compiler and Java Virtual Machine, and was a principal in the Andrew project at Carnegie Mellon University, where he earned a Ph.D. in Computer Science. He joined Liquid Robotics as Chief Software Architect in 2011. Bill Joy is a co-founder of Sun Microsystems and was the principal architect of the Berkeley version of UNIX®, for which he received a lifetime achievement award from the USENIX Association in 1993. Joy has had a central role in shaping the Java programming language. He joined KPCB as a Greentech Partner in 2005. Guy L. Steele Jr. is a Software Architect at Oracle Labs, where he conducts research in language design and implementation strategies, parallel algorithms, and computer arithmetic. Steele is a co-creator of the Scheme programming language, an ACM Fellow, an IEEE Fellow, and a member of the National Academy of Engineering. Gilad Bracha is the creator of the Newspeak programming language and a former Distinguished Engineer at Sun Microsystems. Prior to Sun, he worked on Strongtalk, the Animorphic Smalltalk System. He holds a Ph.D. in Computer Science from the University of Utah. Alex Buckley is the Specification Lead for the Java programming language and the Java Virtual Machine at Oracle. He holds a Ph.D. in Computing from Imperial College London.
Preface to the Java SE 7 Edition xvii Preface to the Third Edition xix
Preface to the Second Edition xxiii
Preface to the First Edition xxv
Chapter 1: Introduction 1
1.1 Organization of the Specification 2
1.2 Example Programs 5
1.3 Notation 6
1.4 Relationship to Predefined Classes and Interfaces 6
1.5 References 7
Chapter 2: Grammars 9
2.1 Context-Free Grammars 9
2.2 The Lexical Grammar 9
2.3 The Syntactic Grammar 10
2.4 Grammar Notation 10
Chapter 3: Lexical Structure 15
3.1 Unicode 15
3.2 Lexical Translations 16
3.3 Unicode Escapes 17
3.4 Line Terminators 18
3.5 Input Elements and Tokens 19
3.6 White Space 21
3.7 Comments 21
3.8 Identifiers 23
3.9 Keywords 24
3.10 Literals 25
3.11 Separators 40
3.12 Operators 40
Chapter 4: Types, Values, and Variables 41
4.1 The Kinds of Types and Values 41
4.2 Primitive Types and Values 42
4.3 Reference Types and Values 52
4.4 Type Variables 58
4.5 Parameterized Types 60
4.6 Type Erasure 65
4.7 Reifiable Types 66
4.8 Raw Types 67
4.9 Intersection Types 71
4.10 Subtyping 72
4.11 Where Types Are Used 74
4.12 Variables 75
Chapter 5: Conversions and Promotions 85
5.1 Kinds of Conversion 88
5.2 Assignment Conversion 101
5.3 Method Invocation Conversion 106
5.4 String Conversion 108
5.5 Casting Conversion 108
5.6 Numeric Promotions 117
Chapter 6: Names 121
6.1 Declarations 122
6.2 Names and Identifiers 127
6.3 Scope of a Declaration 130
6.4 Shadowing and Obscuring 133
6.5 Determining the Meaning of a Name 140
6.6 Access Control 152
6.7 Fully Qualified Names and Canonical Names 159
Chapter 7: Packages 163
7.1 Package Members 163
7.2 Host Support for Packages 165
7.3 Compilation Units 167
7.4 Package Declarations 168
7.5 Import Declarations 170
7.6 Top Level Type Declarations 175
Chapter 8: Classes 179
8.1 Class Declarations 181
8.2 Class Members 196
8.3 Field Declarations 201
8.4 Method Declarations 215
8.5 Member Type Declarations 242
8.6 Instance Initializers 243
8.7 Static Initializers 243
8.8 Constructor Declarations 244
8.9 Enums 253
Chapter 9: Interfaces 263
9.1 Interface Declarations 264
9.2 Interface Members 268
9.3 Field (Constant) Declarations 269
9.4 Abstract Method Declarations 271
9.5 Member Type Declarations 274
9.6 Annotation Types 275
9.7 Annotations 285
Chapter 10: Arrays 291
10.1 Array Types 292
10.2 Array Variables 292
10.3 Array Creation 294
10.4 Array Access 294
10.5 Array Store Exception 295
10.6 Array Initializers 297
10.7 Array Members 298
10.8 Class Objects for Arrays 300
10.9 An Array of Characters is Not a String 301
Chapter 11: Exceptions 303
11.1 The Kinds and Causes of Exceptions 304
11.2 Compile-Time Checking of Exceptions 306
11.3 Run-Time Handling of an Exception 311
Chapter 12: Execution 315
12.1 Java Virtual Machine Startup 315
12.2 Loading of Classes and Interfaces 318
12.3 Linking of Classes and Interfaces 320
12.4 Initialization of Classes and Interfaces 322
12.5 Creation of New Class Instances 327
12.6 Finalization of Class Instances 331
12.7 Unloading of Classes and Interfaces 335
12.8 Program Exit 336
Chapter 13: Binary Compatibility 337
13.1 The Form of a Binary 338
13.2 What Binary Compatibility Is and Is Not 343
13.3 Evolution of Packages 344
13.4 Evolution of Classes 344
13.5 Evolution of Interfaces 361
Chapter 14: Blocks and Statements 365
14.1 Normal and Abrupt Completion of Statements 365
14.2 Blocks 367
14.3 Local Class Declarations 367
14.4 Local Variable Declaration Statements 369
14.5 Statements 371
14.6 The Empty Statement 373
14.7 Labeled Statements 373
14.8 Expression Statements 374
14.9 The if Statement 375
14.10 The assert Statement 376
14.11 The switch Statement 379
14.12 The while Statement 383
14.13 The do Statement 385
14.14 The for Statement 387
14.15 The break Statement 392
14.16 The continue Statement 394
14.17 The return Statement 396
14.18 The throw Statement 397
14.19 The synchronized Statement 399
14.20 The try statement 400
14.21 Unreachable Statements 411
Chapter 15: Expressions 417
15.1 Evaluation, Denotation, and Result 417
15.2 Variables as Values 418
15.3 Type of an Expression 418
15.4 FP-strict Expressions 419
15.5 Expressions and Run-Time Checks 419
15.6 Normal and Abrupt Completion of Evaluation 421
15.7 Evaluation Order 423
15.8 Primary Expressions 428
15.9 Class Instance Creation Expressions 432
15.10 Array Creation Expressions 442
15.11 Field Access Expressions 446
15.12 Method Invocation Expressions 451
15.13 Array Access Expressions 490
15.14 Postfix Expressions 493
15.15 Unary Operators 495
15.16 Cast Expressions 499
15.17 Multiplicative Operators 500
15.18 Additive Operators 506
15.19 Shift Operators 511
15.20 Relational Operators 512
15.21 Equality Operators 514
15.22 Bitwise and Logical Operators 517
15.23 Conditional-And Operator 519
15.24 Conditional-Or Operator 520
15.25 Conditional Operator 521
15.26 Assignment Operators 523
15.27 Expression 535
15.28 Constant Expressions 536
Chapter 16: Definite Assignment 539
16.1 Definite Assignment and Expressions 545
16.2 Definite Assignment and Statements 549
16.3 Definite Assignment and Parameters 558
16.4 Definite Assignment and Array Initializers 558
16.5 Definite Assignment and Enum Constants 559
16.6 Definite Assignment and Anonymous Classes 559
16.7 Definite Assignment and Member Types 559
16.8 Definite Assignment and Static Initializers 560
16.9 Definite Assignment, Constructors, and Instance Initializers 560
Chapter 17: Threads and Locks 563
17.1 Synchronization 564
17.2 Wait Sets and Notification 564
17.3 Sleep and Yield 568
17.4 Memory Model 569
17.5 final Field Semantics 584
17.6 Word Tearing 589
17.7 Non-atomic Treatment of double and long 590
Chapter 18: Syntax 591
Index 607
A Limited License Grant 641
Erscheint lt. Verlag | 28.2.2013 |
---|---|
Verlagsort | New Jersey |
Sprache | englisch |
Maße | 180 x 230 mm |
Gewicht | 1046 g |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Java |
Mathematik / Informatik ► Informatik ► Web / Internet | |
ISBN-10 | 0-13-326022-4 / 0133260224 |
ISBN-13 | 978-0-13-326022-9 / 9780133260229 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich