Table of contents : 1. A Modern Language Enter Java Java’s Origins Growing Up A Virtual Machine Java Compared with Other Languages Safety of Design Simplify, Simplify, Simplify… Type Safety and Method Binding Incremental Development Dynamic Memory Management Error Handling Threads Scalability Safety of Implementation The Verifier Class Loaders Security Managers Application and User-Level Security A Java Road Map The Past: Java 1.0–Java 20 The Present: Java 21 The Future Exercises 2. A First Application Java Tools and Environment Installing the JDK Installing Corretto on Linux Installing Corretto on macOS Installing Corretto on Windows Installing IntelliJ IDEA and Creating a Project Running the Project Grabbing the Learning Java Examples HelloJava Classes The main() Method Classes and Objects Variables and Class Types HelloComponent Inheritance The JComponent Class Relationships and Finger-Pointing Packages and Imports The paintComponent() Method HelloJava2: The Sequel Instance Variables Constructors Events The repaint() Method Interfaces Goodbye and Hello Again Review Questions Code Exercises 3. Tools of the Trade JDK Environment The Java VM Running Java Applications System Properties Preview Features The Classpath CLASSPATH on Unix and macOS CLASSPATH on Windows CLASSPATH Wildcards Modules The Java Compiler Compiling Preview Features Trying Java JAR Files The jar Utility Tool Wrap Up Review Questions Code Exercises Advanced Code Exercises A. Code Examples and IntelliJ IDEA Grabbing the Main Code Examples Installing IntelliJ IDEA Installing on Linux Installing on macOS Installing on Windows Importing the Examples Running the Examples B. Exercise Answers Chapter 1: A Modern Language Chapter 2: A First Application Code Exercises Chapter 3: Tools of the Trade Code Exercises Chapter 4: The Java Language Code Exercises Advanced Exercises Chapter 5: Objects in Java Code Exercises Advanced Exercises Chapter 6: Error Handling and Logging Code Exercises Advanced Exercises Chapter 7: Collections and Generics Code Exercises Advanced Exercises Chapter 8: Text and Core Utilities Code Exercises Chapter 9: Threads Code Exercises Chapter 10 Code Exercises Advanced Exercises Chapter 11 Code Exercises Advanced Exercises Chapter 12 Code Exercises Chapter 13 Code Exercises Chapter 14 Code Exercises