macrozheng
Author

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

1.3k
Articles
0
Likes
3.8k
Views
0
Comments
Recent Articles

Latest from macrozheng

100 recent articles max
macrozheng
macrozheng
Nov 24, 2025 · Cloud Native

Diagnosing Excessive GC and CPU Spikes in a Kubernetes Java Pod

When a production pod suddenly hit 90% CPU and dozens of young and full GCs within two hours, the author walks through a step‑by‑step investigation using top, thread‑level monitoring, jstack, and stack analysis to pinpoint a Java‑level memory issue and resolve it.

JVMJavaPerformance
0 likes · 7 min read
Diagnosing Excessive GC and CPU Spikes in a Kubernetes Java Pod
macrozheng
macrozheng
Nov 21, 2025 · Backend Development

Master Java Concurrency: Locks, Singleton Patterns, ThreadLocal, Reflection and More

This article provides a comprehensive guide to Java concurrency and related concepts, covering synchronized lock upgrades, object vs class locks, lazy and double‑checked singleton implementations, ThreadLocal mechanics, reflection usage, annotation scopes, JVM class loading, and Redis cluster threading behavior.

JVMJavaRedis
0 likes · 22 min read
Master Java Concurrency: Locks, Singleton Patterns, ThreadLocal, Reflection and More
macrozheng
macrozheng
Nov 20, 2025 · Backend Development

How to Build a Spring Boot OSS Starter Compatible with Amazon S3

This guide walks through creating a reusable Spring Boot starter that abstracts object storage services (OSS) via the Amazon S3 API, covering project setup, Maven dependencies, configuration properties, template interfaces, implementation, auto‑configuration, packaging, and a simple test case.

Amazon S3OSSStarter
0 likes · 15 min read
How to Build a Spring Boot OSS Starter Compatible with Amazon S3
macrozheng
macrozheng
Nov 18, 2025 · Backend Development

Why Using the String "null" as a Username Leads to Hidden Bugs

The article explains how treating the literal string "null" as an empty value in user registration can cause subtle backend errors, illustrates the issue with Java code examples, and offers proper validation techniques to avoid such pitfalls.

Javanull stringuser registration
0 likes · 3 min read
Why Using the String "null" as a Username Leads to Hidden Bugs
macrozheng
macrozheng
Nov 15, 2025 · R&D Management

Why Most Developers Never Become Software Architects – Insights from Top‑Voted Zhihu Answers

The article compiles several highly up‑voted Zhihu answers explaining why only a small fraction of programmers become software architects, highlighting differences in mindset, the limited need for architects in small teams, career trade‑offs, and the practical challenges of gaining high‑scale architecture experience.

MicroservicesR&DSoftware Architecture
0 likes · 5 min read
Why Most Developers Never Become Software Architects – Insights from Top‑Voted Zhihu Answers
macrozheng
macrozheng
Nov 8, 2025 · Backend Development

Should try‑catch Be Inside or Outside a for Loop? Pros, Cons, and Performance

This article explains how placing a try‑catch block inside or outside a Java for loop affects exception handling, loop termination, and performance, providing code examples, execution results, memory analysis, and practical guidance for choosing the appropriate approach based on business needs.

Exception HandlingPerformancefor loop
0 likes · 5 min read
Should try‑catch Be Inside or Outside a for Loop? Pros, Cons, and Performance
macrozheng
macrozheng
Nov 7, 2025 · Operations

Run Windows Apps Seamlessly on Linux with WinBoat – A Complete Guide

WinBoat is an open‑source Electron‑based tool that lets Linux users run Windows applications as native windows by leveraging Docker containers, FreeRDP, and RemoteApp, offering seamless integration, automatic deployment, full compatibility, file‑system sharing, and flexible desktop modes, with detailed installation steps for both binary and source builds.

DockerElectronLinux
0 likes · 5 min read
Run Windows Apps Seamlessly on Linux with WinBoat – A Complete Guide
macrozheng
macrozheng
Nov 6, 2025 · Backend Development

Explore Cordys CRM: An Open-Source AI‑Powered Customer Management Platform

Cordys CRM is an open‑source, AI‑enhanced customer relationship management platform built with Spring Boot, Vue.js, Docker, and integrated tools like DataEase, SQLBot, and MaxKB, offering flexible UI, secure private deployment, powerful data visualization, and intelligent agents, with step‑by‑step Docker installation and usage guides.

AICRMDocker
0 likes · 7 min read
Explore Cordys CRM: An Open-Source AI‑Powered Customer Management Platform
macrozheng
macrozheng
Nov 5, 2025 · Backend Development

Why Java Records Outshine Lombok @Data: A Practical Migration Guide

This article examines the drawbacks of using Lombok in Java projects, demonstrates how replacing Lombok annotations with Java Records, explicit constructors, and MapStruct improves code readability, IDE support, and runtime safety, and shares the measurable benefits of the migration.

Backend DevelopmentCode RefactoringJava
0 likes · 5 min read
Why Java Records Outshine Lombok @Data: A Practical Migration Guide