Free to read ยท Three levels
Java: from language foundations to resilient applications
A complete Java theory course covering reliable language use, collections, testing, modules, concurrency, performance, and secure application boundaries.
Start learningIn this course
Learn Java through complete programs and carefully bounded design examples. The course builds from the JDK toolchain and values to object ownership, generic collections, resource-safe I/O, deterministic tests, module boundaries, concurrency, profiling, and API design.
Each lesson includes developed explanations, two or more explained examples, common failures with cause/fix/prevention, worked exercises, takeaways, and primary documentation. All data is synthetic; the public library displays code and never executes it.
What you will learn
- Build and reason about complete Java programs with explicit type and control-flow contracts.
- Model valid objects and use collections, generics, exceptions, I/O, testing, and modules deliberately.
- Design concurrent work with memory-model reasoning, cancellation, admission limits, and resource ownership.
- Investigate performance and build secure, compatible application APIs.
Your learning path
Three levels
Basic
Learn the toolchain, values, decisions, methods, sequences, and encapsulated objects.
- JDK tools, compilation, and launching
- Values, types, and numeric expressions
- Conditions, loops, and invariants
- Methods, contracts, and parameter passing
- Arrays, strings, and text boundaries
- Classes, objects, and encapsulation
Intermediate
Build type-safe data transformations and reliable boundaries for failure, resources, tests, and deployment.
- Collections, equality, and ownership
- Generics, lambdas, and stream pipelines
- Exceptions, resource ownership, and absence
- I/O, paths, charsets, and time
- Tests, contracts, and deterministic evidence
- Packages, classpath, and modules
Advanced
Design concurrent, observable, secure applications with explicit compatibility and lifecycle decisions.
- The Java Memory Model and shared state
- Executors, futures, and cancellation
- Virtual threads and explicit version boundaries
- Profiling, garbage collection, and retention
- Secure boundaries and untrusted input
- API architecture, records, and evolution
Who this is for
- New programmers learning Java systematically.
- Developers maintaining Java applications and preparing for concurrency and operational work.
Before you start
- Basic computer use and familiarity with files and a terminal.
- No external service, database account, or third-party library is required for complete examples.