Repository for The Well-Grounded Java Developer, 2nd Edition project resources
- Ch01 - Introducing modern Java
- Ch02 - Java modules
- Ch03 - Java 17
- Ch04 - Class files and bytecode
- Ch05 - Java concurrency fundamentals
- Ch06 - JDK concurrency libraries
- Ch07 - Understanding Java performance
- Ch09 - Kotlin
- Ch10 - Clojure
- Ch11 - Building with Maven & Gradle
- Ch11 - Running Java in containers
- Ch13 - Testing fundamentals
- Ch14 - Testing beyond JUnit
- Ch15 - Advanced functional programming
- Ch16 - Advanced concurrent programming
- Ch17 - Modern internals
- Ch18 - Future Java
Examples throughout this repo come in three forms:
- Maven projects
- Gradle projects
- Simple examples with loose code files
Maven and Gradle projects should be ready to build mvn compile
or
./gradlew build
. Individual example README files will contain more precise
instructions for running from the command-line, as the details vary per project.
Examples with loose code files may be either compiled individually or loaded in an IDE. See the example README files for more precise instructions for each case. You may need to set the SDK version for the project.
Ch*
location should be loadable, though, even when it
contains multiple projects.