[PDF] The Java® Language Specification





Previous PDF Next PDF



ACS QR.book

Sun Sun Microsystems



Oracle Java SE Universal Subscription Global Price List

1 mars 2023 1The E-Business Discount Schedule does not apply. 3Contact Oracle for Pricing if Java SE Universal Subscription is installed on and/or is ...



Oracle Java SE 11 - Licensing Information User Manual

19 oct. 2021 Oracle Java SE Advanced for Independent Software Vendors (ISVs): Entitles you to use Oracle's Java SE 11 software to develop Java applications ...



ACSLS PI.book

Sun Sun Microsystems



Oracle Technology Global Price List March 1 2023

1 mars 2023 Page 11. For the purposes of the following programs: Application Management ... Java SE Advanced and Java SE Suite)



The Java® Virtual Machine Specification

2 nov. 2010 all the changes that have been made to the Java Virtual Machine since the Java SE. 7 Edition in 2011. ... 11. 11. ≥ 15. Emax. +127. ≥ +1023. + ...



OCP Oracle Certified Professional Java SE 11 Programmer I Exam

This book also wouldn't be possible without many people at Enthuware including Paul A Prem



Security Developers Guide - Java Platform Standard Edition

Page 1. Java Platform Standard Edition. Security Developer's Guide. Release 11 Java SE Platform Security Architecture gives an overview of the motivation ...



ACSLS PI.book

Sun Sun Microsystems



Java SE 11 Programmer I & Java SE 11 Programmer II Certification

By becoming a certified Java SE 11 Developer you demonstrate proficiency in Java software developing recognized by a wide range of worldwide industries. A Java 



The Java® Language Specification

???/???/???? The Java® Language. Specification. Java SE 11 Edition. James Gosling. Bill Joy. Guy Steele. Gilad Bracha. Alex Buckley. Daniel Smith.



The Java® Virtual Machine Specification

???/???/???? The Java® Virtual. Machine Specification. Java SE 11 Edition. Tim Lindholm. Frank Yellin. Gilad Bracha. Alex Buckley. Daniel Smith.



OCP Oracle® Certified Professional Java® SE 11 Developer

this book once you are thinking of taking the exam. We recommend the best-selling OCP Java SE 11 Developer Complete Study Guide.



OCP Java SE 11 Progammer - Part 1 Exam Fundamentals 1Z0-815

???/???/???? This book also wouldn't be possible without many people at Enthuware including Paul A Prem



Java SE 11 Certification Questions Answered

09 Who can take the Upgrade OCP Java 6 7. & 8 Programmer to Java SE 11 Developer.



OCP Oracle Certified Professional Java SE 11 Programmer I Study

Some material included with standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD 



Java Beginners Guide Herbert Schildt

Guide Supplement for key JDK 10 new features available from book's release Java SE 11 Thoroughly updated for Java Platform Standard Edition 11 ...



Oracle Java SE Subscription Global Price List - August 3 2018

???/???/???? Processor: shall be defined as all processors where the Oracle programs are installed and/or running. Programs licensed on a processor basis ...



Java™ - Ninth Edition

author of JavaWebSocket Programming and an upcoming book on Java EE. new material because Java SE 8 adds several new features to the Java language.



[PDF] Oracle® Certified Professional Java® SE 11 Developer Practice Tests

best-selling Java 11 certification books: OCP Java SE 11 Programmer I Study Guide (Sybex 2019) OCP Java SE 11 Programmer II Study Guide (Sybex 2020) 



OCP Oracle Certified Professional Java SE 11 - DOKUMENPUB

OCP Oracle Certified Professional Java SE 11 Programmer I Study Guide: Exam 1Z0-815 (True PDF) [1 ed ] 1119584701 9781119584704 True PDF



[PDF] Java SE 11 Programmer I & Java SE 11 Programmer II - Oracle

The Programming I course and Java SE 11 Programmer I exam focus on fundamental Java topics that lay the foundation for a Java Developer job role The 



(PDF) OCP Java SE 11 Progammer -Part 1 Exam Fundamentals 1Z0

The Java 11 exam requires you to learn new features of the language including modules generics and functional programming This book covers all such topics 



OCP Oracle Certified Professional Java SE 11 Programmer I Study

About This Book This OCP Oracle Certified Professional Java SE 11 Programmer I Study Guide: Exam 1Z0-815 and the Programmer II Study Guide: Exam 1Z0 



OCP Oracle Certified Professional Java SE 11 Programmer II Study

OCP Oracle Certified Professional Java SE 11 Programmer II Study Guide eBook - ePub Share book English ePUB (mobile friendly) and PDF



This is a full resource guide for my attempt to get Java 11 Certified

Most recommended! Selikof/Boyarsky book ( Oracle Certified Professional: Java SE 11 Developer : Complete Study Guide); Enthuware 819 Mock Test 



OCP Oracle Certified Professional Java SE 11 - Wiley Online Library

11 nov 2019 · About this book This OCP Oracle Certified Professional Java SE 11 Programmer I Study Guide: Exam 1Z0-815 and the Programmer II Study Guide: 



java se 11 books PDFDoc Images - PDFprof

OCP Oracle Certified Professional Java SE 11 Programmer I Study Some material included with standard print versions of this book may not be included in 



OCP Oracle Certified Professional Java SE 11 Developer Complete

Read it now on the O'Reilly learning platform with a 10-day free trial O'Reilly members get unlimited access to books live events courses curated by job 

  • How do I prepare for Java SE 11?

    It's indeed one of the difficult certifications to crack, and It's much harder than OCAJP 8; it's the predecessor, and some of the programmers who have attempted it call it even harder than OCPJP 8, a professional-level certification.
  • Is Java SE 11 certification hard?

    Getting Java accredited and recognized is always good for your career, even if you're a junior developer who has just started your career.
  • Is Java SE 11 certification worth it?

    Version 11 API Specification. This document is divided into two sections: Java SE. The Java Platform, Standard Edition (Java SE) APIs define the core Java platform for general-purpose computing. These APIs are in modules whose names start with java .

The Java® Language

Specification

Java SE 11 Edition

James Gosling

Bill Joy

Guy Steele

Gilad Bracha

Alex Buckley

Daniel Smith

2018-08-21

Specification: JSR-384 Java SE 11 (18.9) ("Specification")

Version: 11

Status: Final Release

Specification Lead: Oracle America, Inc. ("Specification Lead")

Release: September 2018

Copyright © 1997, 2018, Oracle America, Inc.

All rights reserved.

The Specification provided herein is provided to you only under the Limited License Grant included herein as Appendix A. Please see Appendix A, Limited License Grant. iiiTable of Contents

1Introduction1

1.1Organization of the Specification2

1.2Example Programs6

1.3Notation6

1.4Relationship to Predefined Classes and Interfaces7

1.5Feedback7

1.6References7

2Grammars9

2.1Context-Free Grammars9

2.2The Lexical Grammar9

2.3The Syntactic Grammar10

2.4Grammar Notation10

3Lexical Structure15

3.1Unicode15

3.2Lexical Translations16

3.3Unicode Escapes17

3.4Line Terminators19

3.5Input Elements and Tokens19

3.6White Space20

3.7Comments21

3.8Identifiers22

3.9Keywords24

3.10Literals25

3.10.1Integer Literals25

3.10.2Floating-Point Literals32

3.10.3Boolean Literals35

3.10.4Character Literals35

3.10.5String Literals36

3.10.6Escape Sequences for Character and String Literals38

3.10.7The Null Literal39

3.11Separators40

3.12Operators40

4Types, Values, and Variables41

4.1The Kinds of Types and Values41

4.2Primitive Types and Values42

4.2.1Integral Types and Values43

The Java® Language Specificationiv4.2.2Integer Operations43

4.2.3Floating-Point Types, Formats, and Values45

4.2.4Floating-Point Operations48

4.2.5The boolean Type and boolean Values51

4.3Reference Types and Values52

4.3.1Objects53

4.3.2The Class Object56

4.3.3The Class String56

4.3.4When Reference Types Are the Same57

4.4Type Variables57

4.5Parameterized Types59

4.5.1Type Arguments of Parameterized Types60

4.5.2Members and Constructors of Parameterized Types63

4.6Type Erasure64

4.7Reifiable Types65

4.8Raw Types66

4.9Intersection Types70

4.10Subtyping71

4.10.1Subtyping among Primitive Types71

4.10.2Subtyping among Class and Interface Types72

4.10.3Subtyping among Array Types73

4.10.4Least Upper Bound73

4.10.5Type Projections76

4.11Where Types Are Used78

4.12Variables83

4.12.1Variables of Primitive Type83

4.12.2Variables of Reference Type83

4.12.3Kinds of Variables85

4.12.4final Variables87

4.12.5Initial Values of Variables89

4.12.6Types, Classes, and Interfaces91

5Conversions and Contexts95

5.1Kinds of Conversion98

5.1.1Identity Conversion98

5.1.2Widening Primitive Conversion98

5.1.3Narrowing Primitive Conversion100

5.1.4Widening and Narrowing Primitive Conversion103

5.1.5Widening Reference Conversion103

5.1.6Narrowing Reference Conversion103

5.1.6.1Allowed Narrowing Reference Conversion104

5.1.6.2Checked and Unchecked Narrowing Reference

Conversions105

5.1.6.3Narrowing Reference Conversions at Run Time105

5.1.7Boxing Conversion107

5.1.8Unboxing Conversion109

5.1.9Unchecked Conversion110

The Java® Language Specificationv5.1.10Capture Conversion111

5.1.11String Conversion113

5.1.12Forbidden Conversions114

5.1.13Value Set Conversion114

5.2Assignment Contexts115

5.3Invocation Contexts120

5.4String Contexts122

5.5Casting Contexts122

5.6Numeric Contexts128

5.6.1Unary Numeric Promotion129

5.6.2Binary Numeric Promotion130

6Names133

6.1Declarations134

6.2Names and Identifiers141

6.3Scope of a Declaration143

6.4Shadowing and Obscuring147

6.4.1Shadowing149

6.4.2Obscuring152

6.5Determining the Meaning of a Name153

6.5.1Syntactic Classification of a Name According to Context154

6.5.2Reclassification of Contextually Ambiguous Names157

6.5.3Meaning of Module Names and Package Names160

6.5.3.1Simple Package Names160

6.5.3.2Qualified Package Names160

6.5.4Meaning of PackageOrTypeNames160

6.5.4.1Simple PackageOrTypeNames160

6.5.4.2Qualified PackageOrTypeNames160

6.5.5Meaning of Type Names161

6.5.5.1Simple Type Names161

6.5.5.2Qualified Type Names161

6.5.6Meaning of Expression Names162

6.5.6.1Simple Expression Names162

6.5.6.2Qualified Expression Names163

6.5.7Meaning of Method Names165

6.5.7.1Simple Method Names165

6.6Access Control166

6.6.1Determining Accessibility168

6.6.2Details on protected Access172

6.6.2.1Access to a protected Member172

6.6.2.2Access to a protected Constructor173

6.7Fully Qualified Names and Canonical Names174

7Packages and Modules177

7.1Package Members178

7.2Host Support for Modules and Packages179

7.3Compilation Units182

The Java® Language Specificationvi7.4Package Declarations183

7.4.1Named Packages184

7.4.2Unnamed Packages184

7.4.3Package Observability and Visibility185

7.5Import Declarations186

7.5.1Single-Type-Import Declarations187

7.5.2Type-Import-on-Demand Declarations189

7.5.3Single-Static-Import Declarations190

7.5.4Static-Import-on-Demand Declarations191

7.6Top Level Type Declarations192

7.7Module Declarations195

7.7.1Dependences197

7.7.2Exported and Opened Packages200

7.7.3Service Consumption201

7.7.4Service Provision201

7.7.5Unnamed Modules202

7.7.6Observability of a Module203

8Classes205

8.1Class Declarations207

8.1.1Class Modifiers207

8.1.1.1abstract Classes208

8.1.1.2final Classes210

8.1.1.3strictfp Classes210

8.1.2Generic Classes and Type Parameters210

8.1.3Inner Classes and Enclosing Instances213

8.1.4Superclasses and Subclasses216

8.1.5Superinterfaces218

8.1.6Class Body and Member Declarations222

8.2Class Members222

8.3Field Declarations227

8.3.1Field Modifiers232

8.3.1.1static Fields232

8.3.1.2final Fields235

8.3.1.3transient Fields235

8.3.1.4volatile Fields236

8.3.2Field Initialization237

8.3.3Restrictions on Field References in Initializers239

8.4Method Declarations242

8.4.1Formal Parameters243

8.4.2Method Signature247

8.4.3Method Modifiers248

8.4.3.1abstract Methods248

8.4.3.2static Methods250

8.4.3.3final Methods250

8.4.3.4native Methods251

8.4.3.5strictfp Methods252

The Java® Language Specificationvii8.4.3.6synchronized Methods252

8.4.4Generic Methods253

8.4.5Method Result254

8.4.6Method Throws255

8.4.7Method Body256

8.4.8Inheritance, Overriding, and Hiding257

8.4.8.1Overriding (by Instance Methods)258

8.4.8.2Hiding (by Class Methods)262

8.4.8.3Requirements in Overriding and Hiding263

8.4.8.4Inheriting Methods with Override-Equivalent

Signatures267

8.4.9Overloading268

8.5Member Type Declarations271

8.5.1Static Member Type Declarations272

8.6Instance Initializers272

8.7Static Initializers272

8.8Constructor Declarations273

8.8.1Formal Parameters274

8.8.2Constructor Signature275

8.8.3Constructor Modifiers275

8.8.4Generic Constructors276

8.8.5Constructor Throws276

8.8.6The Type of a Constructor277

8.8.7Constructor Body277

8.8.7.1Explicit Constructor Invocations278

8.8.8Constructor Overloading282

8.8.9Default Constructor282

8.8.10Preventing Instantiation of a Class284

8.9Enum Types284

8.9.1Enum Constants285

8.9.2Enum Body Declarations286

8.9.3Enum Members288

9Interfaces295

9.1Interface Declarations296

9.1.1Interface Modifiers296

9.1.1.1abstract Interfaces297

9.1.1.2strictfp Interfaces297

9.1.2Generic Interfaces and Type Parameters297

9.1.3Superinterfaces and Subinterfaces298

9.1.4Interface Body and Member Declarations300

9.2Interface Members300

9.3Field (Constant) Declarations301

9.3.1Initialization of Fields in Interfaces303

9.4Method Declarations304

9.4.1Inheritance and Overriding305

9.4.1.1Overriding (by Instance Methods)307

The Java® Language Specificationviii9.4.1.2Requirements in Overriding307

9.4.1.3Inheriting Methods with Override-Equivalent

Signatures308

9.4.2Overloading309

9.4.3Interface Method Body309

9.5Member Type Declarations310

9.6Annotation Types311

9.6.1Annotation Type Elements312

9.6.2Defaults for Annotation Type Elements315

9.6.3Repeatable Annotation Types316

9.6.4Predefined Annotation Types320

9.6.4.1@Target320

9.6.4.2@Retention322

9.6.4.3@Inherited323

9.6.4.4@Override323

9.6.4.5@SuppressWarnings324

9.6.4.6@Deprecated325

9.6.4.7@SafeVarargs327

9.6.4.8@Repeatable328

9.6.4.9@FunctionalInterface328

9.7Annotations328

9.7.1Normal Annotations329

9.7.2Marker Annotations331

9.7.3Single-Element Annotations332

9.7.4Where Annotations May Appear333

9.7.5Multiple Annotations of the Same Type338

9.8Functional Interfaces339

9.9Function Types343

10Arrays349

10.1Array Types350

10.2Array Variables350

10.3Array Creation353

10.4Array Access353

10.5Array Store Exception354

10.6Array Initializers355

10.7Array Members357

10.8Class Objects for Arrays358

10.9An Array of Characters Is Not a String360

11Exceptions361

11.1The Kinds and Causes of Exceptions362

11.1.1The Kinds of Exceptions362

11.1.2The Causes of Exceptions363

11.1.3Asynchronous Exceptions364

11.2Compile-Time Checking of Exceptions365

11.2.1Exception Analysis of Expressions366

The Java® Language Specificationix11.2.2Exception Analysis of Statements367

11.2.3Exception Checking368

11.3Run-Time Handling of an Exception370

12Execution375

12.1Java Virtual Machine Startup375

12.1.1Load the Class Test376

12.1.2Link Test: Verify, Prepare, (Optionally) Resolve376

12.1.3Initialize Test: Execute Initializers377

12.1.4Invoke Test.main378

12.2Loading of Classes and Interfaces378

12.2.1The Loading Process379

12.3Linking of Classes and Interfaces380

12.3.1Verification of the Binary Representation380

12.3.2Preparation of a Class or Interface Type381

12.3.3Resolution of Symbolic References381

12.4Initialization of Classes and Interfaces383

12.4.1When Initialization Occurs383

12.4.2Detailed Initialization Procedure386

12.5Creation of New Class Instances388

12.6Finalization of Class Instances391

12.6.1Implementing Finalization393

12.6.2Interaction with the Memory Model394

12.7Unloading of Classes and Interfaces396

12.8Program Exit397

13Binary Compatibility399

13.1The Form of a Binary400

13.2What Binary Compatibility Is and Is Not406

13.3Evolution of Packages and Modules407

13.4Evolution of Classes408

13.4.1abstract Classes408

13.4.2final Classes409

13.4.3public Classes409

13.4.4Superclasses and Superinterfaces409

13.4.5Class Type Parameters411

13.4.6Class Body and Member Declarations411

13.4.7Access to Members and Constructors413

13.4.8Field Declarations414

13.4.9final Fields and static Constant Variables416

13.4.10static Fields417

13.4.11transient Fields417

13.4.12Method and Constructor Declarations417

13.4.13Method and Constructor Type Parameters418

13.4.14Method and Constructor Formal Parameters419

13.4.15Method Result Type420

13.4.16abstract Methods420

The Java® Language Specificationx13.4.17final Methods421

13.4.18native Methods421

13.4.19static Methods422

13.4.20synchronized Methods422

13.4.21Method and Constructor Throws422

13.4.22Method and Constructor Body422

13.4.23Method and Constructor Overloading422

13.4.24Method Overriding424

13.4.25Static Initializers424

13.4.26Evolution of Enums424

13.5Evolution of Interfaces424

13.5.1public Interfaces424

13.5.2Superinterfaces425

13.5.3Interface Members425

13.5.4Interface Type Parameters425

13.5.5Field Declarations426

13.5.6Interface Method Declarations426

13.5.7Evolution of Annotation Types427

14Blocks and Statements429

14.1Normal and Abrupt Completion of Statements429

14.2Blocks431

14.3Local Class Declarations431

14.4Local Variable Declaration Statements432

14.4.1Local Variable Declarators and Types434

14.4.2Execution of Local Variable Declarations435

14.5Statements436

14.6The Empty Statement438

14.7Labeled Statements438

14.8Expression Statements439

14.9The if Statement440

14.9.1The if-then Statement441

14.9.2The if-then-else Statement441

14.10The assert Statement442

14.11The switch Statement445

14.12The while Statement449

14.12.1Abrupt Completion of while Statement449

14.13The do Statement450

14.13.1Abrupt Completion of do Statement451

14.14The for Statement452

14.14.1The basic for Statement452

14.14.1.1Initialization of for Statement453

14.14.1.2Iteration of for Statement453

14.14.1.3Abrupt Completion of for Statement454

14.14.2The enhanced for statement455

14.15The break Statement458

14.16The continue Statement460

The Java® Language Specificationxi14.17The return Statement462

14.18The throw Statement464

14.19The synchronized Statement466

14.20The try statement467

14.20.1Execution of try-catch470

14.20.2Execution of try-finally and try-catch-finally471

14.20.3try-with-resources473

14.20.3.1Basic try-with-resources476

14.20.3.2Extended try-with-resources479

14.21Unreachable Statements479

15Expressions487

15.1Evaluation, Denotation, and Result487

15.2Forms of Expressions488

15.3Type of an Expression489

15.4FP-strict Expressions490

15.5Expressions and Run-Time Checks490

15.6Normal and Abrupt Completion of Evaluation492

15.7Evaluation Order494

15.7.1Evaluate Left-Hand Operand First494

15.7.2Evaluate Operands before Operation496

15.7.3Evaluation Respects Parentheses and Precedence497

15.7.4Argument Lists are Evaluated Left-to-Right498

15.7.5Evaluation Order for Other Expressions499

15.8Primary Expressions499

15.8.1Lexical Literals500

15.8.2Class Literals501

15.8.3this502

15.8.4Qualified this503

15.8.5Parenthesized Expressions503

15.9Class Instance Creation Expressions504

15.9.1Determining the Class being Instantiated506

15.9.2Determining Enclosing Instances507

15.9.3Choosing the Constructor and its Arguments509

15.9.4Run-Time Evaluation of Class Instance Creation

Expressions513

15.9.5Anonymous Class Declarations514

15.9.5.1Anonymous Constructors515

15.10Array Creation and Access Expressions516

15.10.1Array Creation Expressions516

15.10.2Run-Time Evaluation of Array Creation Expressions517

15.10.3Array Access Expressions521

15.10.4Run-Time Evaluation of Array Access Expressions521

15.11Field Access Expressions524

15.11.1Field Access Using a Primary524

15.11.2Accessing Superclass Members using super527

15.12Method Invocation Expressions529

The Java® Language Specificationxii15.12.1Compile-Time Step 1: Determine Class or Interface to

Search530

15.12.2Compile-Time Step 2: Determine Method Signature532

15.12.2.1Identify Potentially Applicable Methods538

15.12.2.2Phase 1: Identify Matching Arity Methods Applicable

by Strict Invocation541

15.12.2.3Phase 2: Identify Matching Arity Methods Applicable

by Loose Invocation542

15.12.2.4Phase 3: Identify Methods Applicable by Variable Arity

Invocation543

15.12.2.5Choosing the Most Specific Method543

15.12.2.6Method Invocation Type547

15.12.3Compile-Time Step 3: Is the Chosen Method Appropriate?548

15.12.4Run-Time Evaluation of Method Invocation551

15.12.4.1Compute Target Reference (If Necessary)551

15.12.4.2Evaluate Arguments553

15.12.4.3Check Accessibility of Type and Method554

15.12.4.4Locate Method to Invoke555

15.12.4.5Create Frame, Synchronize, Transfer Control559

15.13Method Reference Expressions561

15.13.1Compile-Time Declaration of a Method Reference564

15.13.2Type of a Method Reference569

15.13.3Run-Time Evaluation of Method References571

15.14Postfix Expressions574

15.14.1Expression Names575

15.14.2Postfix Increment Operator ++575

15.14.3Postfix Decrement Operator --575

15.15Unary Operators576

15.15.1Prefix Increment Operator ++578

15.15.2Prefix Decrement Operator --578

15.15.3Unary Plus Operator +579

15.15.4Unary Minus Operator -579

15.15.5Bitwise Complement Operator ~580

15.15.6Logical Complement Operator !580

15.16Cast Expressions580

15.17Multiplicative Operators582

15.17.1Multiplication Operator *583

15.17.2Division Operator /584

15.17.3Remainder Operator %585

15.18Additive Operators588

15.18.1String Concatenation Operator +588

quotesdbs_dbs19.pdfusesText_25
[PDF] java se 11 pdf download

[PDF] java send http get request example

[PDF] java series program examples

[PDF] java sort(comparator)

[PDF] java spring @componentscan example

[PDF] java spring boot componentscan

[PDF] java spring componentscan annotation

[PDF] java standalone application with database example

[PDF] java statements pdf

[PDF] java structure

[PDF] java style guide

[PDF] java subtype vs subclass

[PDF] java swing in jdk 11

[PDF] java swing project's pdf

[PDF] java threads book pdf