- CompletableFuture
CompletableFuture runs work on another thread and lets you describe what should happen when it finishes — without blocking to wait for it. It is how you stop making a caller wait for three slow things in sequence when they could happen at once. Starting work supplyAsync when you want a value back,…
- Array Parallel Sort
Arrays.parallelSort sorts an array using every core on the machine instead of one. It is a single-word change from Arrays.sort , which makes it tempting to use everywhere — and it is slower than the sequential version on most of the arrays you will actually sort. Using it Like Arrays.sort , it…
- Linked Lists
Nodes joined by references. O(1) at the front where an array is O(n), O(n) for random access where an array is O(1) — the trade in both directions. Reversing a list in one pass, Floyd's cycle detection, and why the tail reference matters.
- React – useReducer
When a component grows six setState calls that must agree with each other, a reducer collapses them into one function you can read top to bottom. Actions, the reducer's purity requirement, typing actions as a discriminated union, and the useReducer + context pairing that gives you Redux's shape without Redux.
- Spring Boot – Schema Migrations with Liquibase
Let the database schema live in version control. Changelogs, changesets and the checksum that makes editing an applied migration a mistake you only make once. Pairing Liquibase with ddl-auto=validate so drift fails at boot, and the Boot 4 starter you need or Liquibase silently never runs at all.