## Rozdział 2. - Odkrywanie platformy Java pod kątem wzorców projektowych

#### Przykłady wykonywalne
```bash
# Przykład 2.1:
$ java ./Rozdzial02/Program.java

# Przykład 2.12 and Przykład 2.13
$ java ./Rozdzial02/StreamMain.java

# Przykład 2.18: JPMS
$ javac -d ./out/Rozdzial02/module-example ./Rozdzial02/module-example/module-info.java ./Rozdzial02/module-example/example/ExampleMain.java
$ jar --create --file ./out/Rozdzial02/module-example.jar  -C ./out/Rozdzial02/module-example .
$ java --module-path ./out/Rozdzial02/module-example.jar --module module.example/example.ExampleMain

# Przykład 2.20: JEP-323
$ java ./Rozdzial02/Jep323.java

# Przykład 2.21: JEP-361
$ java ./Rozdzial02/Jep361.java

# Przykład 2.22: JEP-394
$ java ./Rozdzial02/Jep394.java

# Przykład 2.23: JEP-395
$ java ./Rozdzial02/Jep395.java

# Przykład 2.24: JEP-409
$ javac --release 17 --enable-preview -g -cp ./out/Rozdzial02/jep409 -sourcepath java -d ./out/Rozdzial02/jep409 ./Rozdzial02/jep409/*.java
$ java --enable-preview -cp out/Rozdzial02/jep409 Jep409Main

# Przykład 2.27: JEP-420
$ javac --release 17 --enable-preview -g -d ./out/Rozdzial02 ./Rozdzial02/Jep420.java
$ java --enable-preview -cp ./out/Rozdzial02 Jep420

# Przykład 2.28:
$ java ./Rozdzial02/MultiThreadedProgram.java
```
