In Chapter 4, a lot of Java code was written, but when designing the class, only the most simple data types were used: a few numeric ones and texts. In the JDK, a lot of data types are declared for a multitude of purposes: for modelling calendar dates, for representing multiple types of numeric, for manipulating texts, collections, files, database connections, and so forth. Aside from JDK, there are libraries crated by other parties that provide even more functionality. But the data types provided by the JDK are fundamental ones, are the bricks every Java application is built from. Of course, depending on the type of application you are building, you might not need all of them. For example, I’ve never had the occasion to use the java.util.logging.Logger class. Most applications that I’ve worked on were already set up by a different team when I came along, and they were using external libraries like Log4j or Logback, or logging abstractions like Slf4j.