Nearby lessons

97 of 125

Java - Module System (JPMS)

📌 What You Will Learn
  • JShell — the interactive Java playground
  • Modules (JPMS) — the big architecture change
  • Private methods in interfaces
  • Factory methods for collections: List.of, Set.of, Map.of
  • The updated try-with-resources

Module System (JPMS) is a core concept of the Java language. This lesson explains Modules (JPMS) — The Big Idea with complete, runnable code examples, clear step-by-step explanations, and common mistakes to avoid with exam-style MCQs at the end.

Modules (JPMS) — The Big Idea

A module is a group of packages with clear rules about what it offers to others and what it needs from others. The Java Platform Module System (JPMS) makes big projects safer and smaller.

In simple words: A module is a group of packages with a `module-info.java` file that declares what it exports and what it requires — that is how Java enforces clear boundaries inside a big project.

Benefits: clear boundaries (what each part can see), smaller apps (only load needed parts), and strong security (code cannot accidentally touch what it should not). You will meet modules in real projects; beginners can use them lightly.

Example01
JCode Cell
1// module-info.java - every module has this file
2module student.module {
3 requires java.sql; // needs the sql package
4 exports com.college.student; // allows others to use this package
5}
📝 Key Takeaways
  • JShell lets you test Java interactively without files.
  • JPMS modules group packages with clear exports and requirements.
  • Interfaces can now have private helper methods.
  • List.of / Set.of / Map.of create short, immutable collections.
  • try-with-resources can use existing variables (Java 9).
  • New stream helpers: Optional.stream(), Stream.ofNullable().

🧠 Test Your Knowledge

2 Questions
Progress: 0 / 2