Tinker Programmer
Author

Tinker Programmer

Solving problems with code, sharing practical tech insights, and leveling up together!

42
Articles
0
Likes
2
Views
0
Comments
Recent Articles

Latest from Tinker Programmer

42 recent articles
Tinker Programmer
Tinker Programmer
Jul 21, 2026 · Backend Development

Migrating a High‑Traffic Java 8 Service to JDK 21/25: Pitfalls, Compatibility Checks, and Best‑Practice SOP

The author details a production migration of a core transaction service from Java 8 to JDK 21/25—handling millions of users and 30 k QPS—by exposing runtime silent‑failure pitfalls, outlining six compatibility‑risk categories, prescribing version‑selection rules, a step‑by‑step gray‑scale upgrade and rollback plan, and quantifying performance gains such as ZGC latency reduction and AppCDS startup speedup.

JDK 21JDK 25Performance
0 likes · 20 min read
Migrating a High‑Traffic Java 8 Service to JDK 21/25: Pitfalls, Compatibility Checks, and Best‑Practice SOP
Tinker Programmer
Tinker Programmer
Jul 18, 2026 · Backend Development

From CMS to ZGC: How Java GC Pauses Dropped Below 1 ms

The article chronicles Java’s garbage‑collector evolution—from the deprecated CMS to G1’s pitfalls and the low‑latency ZGC and Shenandoah—explaining why CMS was removed, how G1 can degrade, and how ZGC/Shenandoah achieve sub‑millisecond pauses, plus new JDK 25/26 features and practical tuning steps.

G1Garbage CollectionJDK25
0 likes · 18 min read
From CMS to ZGC: How Java GC Pauses Dropped Below 1 ms
Tinker Programmer
Tinker Programmer
Jul 17, 2026 · Backend Development

How Java 21 Virtual Threads Enable 100 k Threads Without Thread‑Pool Tuning

After weeks of futile thread‑pool tuning for an IO‑bound gateway, the author switched to Java 21 virtual threads, achieving stable 5,000 concurrent requests with dramatically lower P99 latency, reduced memory usage, and higher CPU efficiency, and then explains virtual‑thread internals, Scoped Values, migration steps, and limitations.

PerformanceScoped ValuesThread Pool
0 likes · 18 min read
How Java 21 Virtual Threads Enable 100 k Threads Without Thread‑Pool Tuning
Tinker Programmer
Tinker Programmer
Jul 16, 2026 · Fundamentals

How Pattern Matching Let Me Scrap the Visitor Pattern in Java

The article walks through a real‑world refactor of a Java event‑handling system, showing how instanceof pattern matching, switch pattern matching, record patterns, sealed classes and the new JDK 25 syntax features replace verbose if‑else chains and the Visitor pattern, yielding shorter, safer, compile‑time‑checked code.

JDK 25Pattern MatchingRecords
0 likes · 15 min read
How Pattern Matching Let Me Scrap the Visitor Pattern in Java
Tinker Programmer
Tinker Programmer
Jul 15, 2026 · Fundamentals

Java Syntax Revolution (Part 2): No More POJOs—Records, Sealed Classes, Text Blocks

From Java 9 to 17 the language adds text blocks, switch expressions, helpful NullPointerExceptions, records and sealed classes, each illustrated with real‑world code, pitfalls and best‑practice tips that dramatically cut boilerplate, prevent bugs like missing breaks, and make data‑centric code far more concise.

Helpful NPERecordsSealed Classes
0 likes · 16 min read
Java Syntax Revolution (Part 2): No More POJOs—Records, Sealed Classes, Text Blocks
Tinker Programmer
Tinker Programmer
Jul 14, 2026 · Fundamentals

Lambda Isn’t Just Sugar: Avoid the ParallelStream Pitfall That Blocks Your Thread Pool

The article dissects Java 8‑10 core features—revealing that Lambda is powered by invokedynamic rather than anonymous classes, exposing the danger of default parallelStream blocking the common ForkJoinPool in I/O‑heavy code, and offering concrete best‑practice guidelines for Optional, var, and collection factory usage.

CollectionFactoryLambdaOptional
0 likes · 17 min read
Lambda Isn’t Just Sugar: Avoid the ParallelStream Pitfall That Blocks Your Thread Pool
Tinker Programmer
Tinker Programmer
Jul 13, 2026 · Backend Development

Choosing the Right Java LTS for Production: Lessons from 12 Years of Java 8‑25 Evolution

The article reviews the twelve‑year evolution of Java LTS releases from 8 to 25, explains the new six‑month release cadence, details common upgrade pitfalls, quantifies performance gains such as virtual threads and ZGC, and provides concrete version‑selection guidance for legacy, mid‑life, and new projects.

Garbage CollectionJDKLTS
0 likes · 16 min read
Choosing the Right Java LTS for Production: Lessons from 12 Years of Java 8‑25 Evolution
Tinker Programmer
Tinker Programmer
Jul 12, 2026 · Backend Development

Go Concurrency Interview: 5 Fatal Close Pitfalls That Crash Programs

The article dissects five common ways misusing the close operation on Go channels can cause runtime panics, explains the underlying reasons, demonstrates correct patterns such as the single‑sender rule and for‑range consumption, and provides interview‑ready takeaways.

channelcloseconcurrency
0 likes · 10 min read
Go Concurrency Interview: 5 Fatal Close Pitfalls That Crash Programs
Tinker Programmer
Tinker Programmer
Jul 11, 2026 · Backend Development

Why Does Your Go Worker Pool Leak Goroutines? Common Pitfalls and Fixes

This article dissects the frequent bugs that cause Go worker‑pool implementations to panic, deadlock, or leak goroutines, explains the four core principles for correct channel and WaitGroup usage, showcases five typical error patterns with concrete code, and provides a complete, production‑ready solution.

channelconcurrencygo
0 likes · 14 min read
Why Does Your Go Worker Pool Leak Goroutines? Common Pitfalls and Fixes
Tinker Programmer
Tinker Programmer
Jul 10, 2026 · Backend Development

Go Concurrency Interview: Alternating Print with Dual‑Channel Relay Technique

This article dissects the classic Go interview problem of printing numbers and letters alternately (1a2b…26z), explains why sleep‑based solutions fail, details deadlock and token‑count pitfalls, and presents a robust dual‑channel token relay implementation with step‑by‑step code and three key takeaways.

Channelsdeadlockgoroutine
0 likes · 9 min read
Go Concurrency Interview: Alternating Print with Dual‑Channel Relay Technique