Java Language Specification, Java SE 8 Edition, The

Java Language Specification, Java SE 8 Edition, The book cover

Java Language Specification, Java SE 8 Edition, The

$59.99

In stock
0 out of 5

$59.99

SKU: 9780133900699 Category:
Title Range Discount
Trade Discount 5 + 25%

Description

        

Written by the inventors of the technology, The Java® Language Specification, Java SE 8 Edition is the definitive technical reference for the Java programming language. The book provides complete, accurate, and detailed coverage of the Java programming language. It fully describes the new features added in Java SE 8, including lambda expressions, method references, default methods, type annotations, and repeating annotations. The book also includes many explanatory notes and carefully distinguishes the formal rules of the language from the practical  behavior of compilers.

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.

This book provides complete, accurate, and detailed coverage of the Java programming language. It fully describes the new features added in Java SE 8, including lambda expressions, method references, default methods, type annotations, and repeating annotations. The book also includes many explanatory notes and carefully distinguishes the formal rules of the language from the practical behavior of compilers.

The definitive Java SE 8 reference, written by the inventors of the language

  • Fully reflects the single largest evolution of the Java language in its history
  • Provides meticulous coverage of Java SE 8’s syntax, semantics, and constructs
  • Thoroughly covers major, long-awaited improvements in Java SE 8, including lambda expressions, method references, default methods, and more
  • Fully addresses crucial enhancements to Java’s popular annotations features
  • Packed with valuable insights distinguishing Java’s formal rules from real-world compiler behavior
  • An indispensable resource for every serious programmer using the #1 language for enterprise development: Java
  • Fully reflects the single largest evolution of the Java language in its history
  • Provides meticulous coverage of Java SE 8’s syntax, semantics, and constructs
  • Thoroughly covers major, long-awaited improvements in Java SE 8, including lambda expressions, method references, default methods, and more
  • Fully addresses crucial enhancements to Java’s popular annotations features
  • Packed with valuable insights distinguishing Java’s formal rules from real-world compiler behavior
  • An indispensable resource for every serious programmer using the #1 language for enterprise development: Java

Preface to the Java SE 8 Edition xxi

Chapter 1: Introduction 1

1.1 Organization of the Specification 2

1.2 Example Programs 6

1.3 Notation 6

1.4 Relationship to Predefined Classes and Interfaces 7

1.5 Feedback 7

1.6 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 19

3.5 Input Elements and Tokens 19

3.6 White Space 20

3.7 Comments 21

3.8 Identifiers 22

3.9 Keywords 24

3.10 Literals 24

3.11 Separators 38

3.12 Operators 38

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 57

4.5 Parameterized Types 59

4.6 Type Erasure 64

4.7 Reifiable Types 64

4.8 Raw Types 66

4.9 Intersection Types 70

4.10 Subtyping 71

4.11 Where Types Are Used 75

4.12 Variables 80

Chapter 5: Conversions and Contexts 91

5.1 Kinds of Conversion 94

5.2 Assignment Contexts 107

5.3 Invocation Contexts 112

5.4 String Contexts 114

5.5 Casting Contexts 114

5.6 Numeric Contexts 124

Chapter 6: Names 129

6.1 Declarations 130

6.2 Names and Identifiers 137

6.3 Scope of a Declaration 139

6.4 Shadowing and Obscuring 142

6.5 Determining the Meaning of a Name 148

6.6 Access Control 161

6.7 Fully Qualified Names and Canonical Names 169

Chapter 7: Packages 173

7.1 Package Members 173

7.3 Compilation Units 177

7.4 Package Declarations 178

7.5 Import Declarations 180

7.6 Top Level Type Declarations 185

Chapter 8: Classes 189

8.1 Class Declarations 191

8.2 Class Members 206

8.3 Field Declarations 211

8.4 Method Declarations 225

8.5 Member Type Declarations 254

8.6 Instance Initializers 255

8.7 Static Initializers 255

8.8 Constructor Declarations 256

8.9 Enum Types 266

Chapter 9: Interfaces 277

9.1 Interface Declarations 278

9.2 Interface Members 282

9.3 Field (Constant) Declarations 283

9.4 Method Declarations 286

9.5 Member Type Declarations 291

9.6 Annotation Types 292

9.7 Annotations 308

9.8 Functional Interfaces 319

9.9 Function Types 323

Chapter 10: Arrays 329

10.1 Array Types 330

10.2 Array Variables 330

10.3 Array Creation 332

10.4 Array Access 332

10.5 Array Store Exception 333

10.6 Array Initializers 335

10.7 Array Members 336

10.8 Class Objects for Arrays 338

10.9 An Array of Characters Is Not a String 339

Chapter 11: Exceptions 341

11.1 The Kinds and Causes of Exceptions 342

11.2 Compile-Time Checking of Exceptions 344

11.3 Run-Time Handling of an Exception 349

Chapter 12: Execution 353

12.1 Java Virtual Machine Startup 353

12.2 Loading of Classes and Interfaces 356

12.3 Linking of Classes and Interfaces 358

12.4 Initialization of Classes and Interfaces 360

12.5 Creation of New Class Instances 365

12.6 Finalization of Class Instances 369

12.7 Unloading of Classes and Interfaces 373

12.8 Program Exit 374

Chapter 13: Binary Compatibility 375

13.1 The Form of a Binary 376

13.2 What Binary Compatibility Is and Is Not 382

13.3 Evolution of Packages 383

13.4 Evolution of Classes 383

13.5 Evolution of Interfaces 400

Chapter 14: Blocks and Statements 405

14.1 Normal and Abrupt Completion of Statements 405

14.2 Blocks 407

14.3 Local Class Declarations 407

14.4 Local Variable Declaration Statements 408

14.5 Statements 410

14.6 The Empty Statement 412

14.7 Labeled Statements 413

14.8 Expression Statements 414

14.9 The if Statement 415

14.10 The assert Statement 416

14.11 The switch Statement 419

14.12 The while Statement 423

14.13 The do Statement 424

14.14 The for Statement 426

14.15 The break Statement 432

14.16 The continue Statement 434

14.17 The return Statement 436

14.18 The throw Statement 437

14.19 The synchronized Statement 439

14.20 The try statement 440

14.21 Unreachable Statements 452

Chapter 15: Expressions 459

15.1 Evaluation, Denotation, and Result 459

15.2 Forms of Expressions 460

15.3 Type of an Expression 461

15.4 FP-strict Expressions 462

15.5 Expressions and Run-Time Checks 462

15.6 Normal and Abrupt Completion of Evaluation 464

15.7 Evaluation Order 466

15.8 Primary Expressions 471

15.9 Class Instance Creation Expressions 476

15.10 Array Creation and Access Expressions 487

15.11 Field Access Expressions 494

15.12 Method Invocation Expressions 499

15.13 Method Reference Expressions 529

15.14 Postfix Expressions 542

15.15 Unary Operators 544

15.16 Cast Expressions 549

15.17 Multiplicative Operators 550

15.18 Additive Operators 556

15.19 Shift Operators 561

15.20 Relational Operators 562

15.21 Equality Operators 565

15.22 Bitwise and Logical Operators 568

15.23 Conditional-And Operator && 570

15.24 Conditional-Or Operator || 570

15.25 Conditional Operator ? : 571

15.26 Assignment Operators 581

15.27 Lambda Expressions 594

15.28 Constant Expressions 605

Chapter 16: Definite Assignment 607

16.1 Definite Assignment and Expressions 613

16.2 Definite Assignment and Statements 617

16.3 Definite Assignment and Parameters 626

16.4 Definite Assignment and Array Initializers 626

16.5 Definite Assignment and Enum Constants 626

16.6 Definite Assignment and Anonymous Classes 627

16.7 Definite Assignment and Member Types 627

16.8 Definite Assignment and Static Initializers 628

16.9 Definite Assignment, Constructors, and Instance Initializers 628

Chapter 17: Threads and Locks 631

17.1 Synchronization 632

17.2 Wait Sets and Notification 632

17.3 Sleep and Yield 636

17.4 Memory Model 637

17.5 final Field Semantics 652

17.6 Word Tearing 657

17.7 Non-Atomic Treatment of double and long 658

Chapter 18: Type Inference 659

18.1 Concepts and Notation 660

18.2 Reduction 663

18.3 Incorporation 673

18.4 Resolution 675

18.5 Uses of Inference 677

Chapter 19: Syntax 689

Index 715

Appendix A: Limited License Grant 755

Written by the inventors of the technology, The Java® Language Specification, Java SE 8 Edition is the definitive technical reference for the Java programming language.

The book provides complete, accurate, and detailed coverage of the Java programming language. It fully describes the new features added in Java SE 8, including lambda expressions, method references, default methods, type annotations, and repeating annotations. The book also includes many explanatory notes and carefully distinguishes the formal rules of the language from the practical behavior of compilers.

Additional information

Dimensions 1.90 × 7.00 × 8.80 in
Series

Imprint

Format

ISBN-13

ISBN-10

Author

, , , ,

Subjects

professional, higher education, Employability, IT Professional, Y-AH JAVA SERIES