Extra Credit

Java Language Specification

Official docs outline

9 sections
  1. Types, values and variables

    Primitive and reference types, type variables and parameterized types.

  2. Conversions and contexts

    Widening, narrowing, boxing and casting contexts.

  3. Names and scoping

    Declarations, scope, shadowing and access control.

  4. Classes

    Class declarations, fields, methods, constructors and initializers.

  5. Interfaces

    Default and static interface methods and annotations.

  6. Blocks, statements and patterns

    Switch statements, try-with-resources and pattern matching.

  7. Expressions

    Evaluation order, lambdas and method references.

  8. Execution

    Class loading, initialization and finalization.

  9. Threads and locks: memory model

    Happens-before, synchronization order and data races.

Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.

All 33