Modular Programming in Java 9
上QQ阅读APP看书,第一时间看更新

Introducing the Modular JDK

In the previous two chapters, you've learnt about the modular API in Java 9 and how to create your own custom modules. There's much more to Java 9 modules than that! The introduction of modularity in Java is not just a new feature for developers to use; it has resulted in major changes to the Java platform itself. In fact, Java 9 also has had perhaps the biggest overhaul of the internal Java codebase ever. Java 9 not only comes with the ability for developers to create their own modules, the whole Java platform itself has been modularized. In this chapter, let's examine these important changes, both to learn what the changes are, and to understand why they came about. Now that you have warmed up to Java modules by writing modules yourself, it's time to put our thinking caps on and really understand the problems and the requirements that resulted in this major change in the Java language. Not only will it help us appreciate the changes better, learning how and why the JDK was modularized will help us apply these lessons when we learn how to migrate our own Java code to Java 9 in Chapter 11, Migrating Your Code to Java 9.

Here are the topics that we'll cover in this chapter:

  • We'll start by examining two aspects of the JDK as they were before Java 9 and some problems with them. It's important for us to know the way things were, so that we can fully understand the effect of the new changes.
  • You'll learn how modularity has transformed the Java platform and be introduced to the built-in modules.
  • You'll learn how to browse built-in modules and get information about their module definitions.
  • You'll learn how to understand module relationships in a module graph.