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.

18 lessonsEnglish + ArabicContent reviewed
Start learning

In 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

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.