Skip to content

Java

This track studies Java features through their contracts and trade-offs. It assumes familiarity with classes, interfaces, methods, and basic control flow.

Sequence

  1. Object-oriented programming
  2. Design principles
  3. Design patterns
  4. Collections and generics
  5. Equality, hashing, and immutability
  6. Exceptions
  7. Streams
  8. JVM and garbage collection
  9. Testing and benchmarking
  10. Concurrency and parallelism
  11. Practical engineering techniques

Specification versus implementation

The Java Language Specification defines language behavior; the Java Virtual Machine Specification defines the class-file and virtual-machine model; API documentation defines library contracts. A particular JVM may optimize code in ways that preserve these observable contracts. Do not confuse an observed implementation detail with a portable guarantee.

Examples favor small immutable value types, explicit failure contracts, and interfaces at boundaries. These are defaults, not universal rules.