@@ -33,9 +33,9 @@ src/main/java/org/nkcoder/
3333
3434** Preview (Experimental - API may change):**
3535
36- | Sub-package | Status | Examples | Concepts |
37- | -------------- | --------| ------------------------------- | ------------------------------------------|
38- | preview/ | [ x] | StructuredConcurrencyExample | StructuredTaskScope, Joiner (5th preview)|
36+ | Sub-package | Status | Examples | Concepts |
37+ | -------------| --------| ------------------------------| - ------------------------------------------|
38+ | preview/ | [ x] | StructuredConcurrencyExample | StructuredTaskScope, Joiner (5th preview) |
3939
4040** Medium:**
4141
@@ -47,12 +47,12 @@ src/main/java/org/nkcoder/
4747
4848** Foundational (Learn for interviews & legacy code, prefer modern alternatives for new code):**
4949
50- | Sub-package | Status | Examples | Java 25 Recommendation |
51- | ------------------| --------| ---------------------------------------------------------------| ---------------------------------------------|
52- | thread/ | [ x] | ThreadExample, DaemonThreadExample | ⚠️ Use ExecutorService or virtual threads |
53- | synchronization/ | [ x] | SynchronizedExample, VolatileExample, WaitNotifyExample | ⚠️ Prefer Atomic* , locks, BlockingQueue |
54- | locks/ | [ x] | ReentrantLockExample, ReadWriteLockExample | ✅ Still relevant for advanced locking |
55- | utilities/ | [ x] | CountDownLatchExample, SemaphoreExample | ✅ Semaphore useful; Latch → structured concurrency |
50+ | Sub-package | Status | Examples | Java 25 Recommendation |
51+ | ------------------| --------| ---------------------------------------------------------| ------- ---------------------------------------------|
52+ | thread/ | [ x] | ThreadExample, DaemonThreadExample | ⚠️ Use ExecutorService or virtual threads |
53+ | synchronization/ | [ x] | SynchronizedExample, VolatileExample, WaitNotifyExample | ⚠️ Prefer Atomic* , locks, BlockingQueue |
54+ | locks/ | [ x] | ReentrantLockExample, ReadWriteLockExample | ✅ Still relevant for advanced locking |
55+ | utilities/ | [ x] | CountDownLatchExample, SemaphoreExample | ✅ Semaphore useful; Latch → structured concurrency |
5656
5757** Why learn foundational concurrency?**
5858- Interview questions still focus heavily on these concepts
@@ -126,13 +126,13 @@ Last resort: Raw threads, synchronized, wait/notify
126126All pattern matching features below are ** finalized and production-ready** in Java 25.
127127
128128| Status | Example | Concepts | Java Version |
129- | --------| --------------------------| ----------------------------------------------------- | --------------|
130- | [ x] | InstanceofPatternExample | Pattern matching for instanceof, flow scoping | Java 16+ |
131- | [ x] | SwitchExpressionExample | Switch expressions, arrow syntax, yield | Java 14+ |
132- | [ x] | SwitchPatternExample | Type patterns in switch, null handling, dominance | Java 21+ |
133- | [ x] | RecordPatternExample | Deconstructing records, nested patterns, var | Java 21+ |
134- | [ x] | GuardedPatternExample | when clauses, guard ordering, complex conditions | Java 21+ |
135- | [ x] | ExhaustiveSwitchExample | Sealed types + switch = compiler-verified coverage | Java 17/21+ |
129+ | --------| --------------------------| ----------------------------------------------------| --------------|
130+ | [ x] | InstanceofPatternExample | Pattern matching for instanceof, flow scoping | Java 16+ |
131+ | [ x] | SwitchExpressionExample | Switch expressions, arrow syntax, yield | Java 14+ |
132+ | [ x] | SwitchPatternExample | Type patterns in switch, null handling, dominance | Java 21+ |
133+ | [ x] | RecordPatternExample | Deconstructing records, nested patterns, var | Java 21+ |
134+ | [ x] | GuardedPatternExample | when clauses, guard ordering, complex conditions | Java 21+ |
135+ | [ x] | ExhaustiveSwitchExample | Sealed types + switch = compiler-verified coverage | Java 17/21+ |
136136
137137---
138138
@@ -183,16 +183,16 @@ All pattern matching features below are **finalized and production-ready** in Ja
183183
184184## Progress Summary
185185
186- | Topic | Status | Progress |
187- | -------------- | -------------| ----------|
188- | concurrency | Complete | 18/18 |
189- | collections | Complete | 6/6 |
190- | streams | Complete | 4/4 |
191- | fp | Complete | 6/6 |
192- | oop | Complete | 6/6 |
193- | pattern | Complete | 6/6 |
194- | strings | Not Started | 0/5 |
195- | generics | Not Started | 0/5 |
196- | exceptions | Not Started | 0/4 |
197- | io | Not Started | 0/3 |
198- | ** Total** | | ** 46/63** |
186+ | Topic | Status | Progress |
187+ | -------------| -------------| - ----------|
188+ | concurrency | Complete | 18/18 |
189+ | collections | Complete | 6/6 |
190+ | streams | Complete | 4/4 |
191+ | fp | Complete | 6/6 |
192+ | oop | Complete | 6/6 |
193+ | pattern | Complete | 6/6 |
194+ | strings | Not Started | 0/5 |
195+ | generics | Not Started | 0/5 |
196+ | exceptions | Not Started | 0/4 |
197+ | io | Not Started | 0/3 |
198+ | ** Total** | | ** 46/63** |
0 commit comments