Java¶
This track studies Java features through their contracts and trade-offs. It assumes familiarity with classes, interfaces, methods, and basic control flow.
Sequence¶
- Object-oriented programming
- Design principles
- Design patterns
- Collections and generics
- Equality, hashing, and immutability
- Exceptions
- Streams
- JVM and garbage collection
- Testing and benchmarking
- Concurrency and parallelism
- 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.