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
4.8k
Views
0
Comments
Recent Articles

Latest from macrozheng

100 recent articles max
macrozheng
macrozheng
Feb 3, 2026 · Backend Development

Long vs BigDecimal for Money: 10 Community Perspectives

The article explores the common dilemma of choosing between Long and BigDecimal for monetary values, summarizing ten distinct community suggestions ranging from using Long, BigDecimal, String, Protobuf, custom types, leadership advice, AI assistance, to minimalist integer approaches.

BigDecimalData TypesJava
0 likes · 4 min read
Long vs BigDecimal for Money: 10 Community Perspectives
macrozheng
macrozheng
Feb 2, 2026 · Fundamentals

Master Java Generics: Boost Type Safety and Reduce Casting

This article explains the motivation behind Java generics, their benefits such as compile‑time type checking and reduced casting, and provides concrete examples including generic classes, interfaces, collections, inheritance, custom generic methods, and common pitfalls, illustrated with code snippets and diagrams.

CollectionsGenericsJava
0 likes · 9 min read
Master Java Generics: Boost Type Safety and Reduce Casting
macrozheng
macrozheng
Jan 30, 2026 · Backend Development

Why MyBatis Triggers OutOfMemoryError and How to Fix It

The article examines a production OutOfMemoryError caused by MyBatis SQL construction, explains heap and metaspace exhaustion, analyzes MyBatis source code, reproduces the issue with JVM settings, and offers practical recommendations to prevent similar memory failures.

BackendDebuggingHeap
0 likes · 7 min read
Why MyBatis Triggers OutOfMemoryError and How to Fix It
macrozheng
macrozheng
Jan 28, 2026 · Backend Development

Why Switch from Maven to Gradle? A Hands‑On Migration Guide with Mall‑Tiny

This article walks through converting a SpringBoot Maven project (mall‑tiny) to Gradle, explains Gradle’s key features and plugins, shows step‑by‑step setup, demonstrates dependency migration, compares build times with Maven, and provides a complete Gradle build script with reference links.

Build ToolGradleJava
0 likes · 9 min read
Why Switch from Maven to Gradle? A Hands‑On Migration Guide with Mall‑Tiny
macrozheng
macrozheng
Jan 27, 2026 · Backend Development

Why Tomcat Beats Jetty 15× with SpringBoot 4 Virtual Threads

A performance comparison of SpringBoot 4.0 with virtual threads shows Tomcat achieving up to fifteen times higher QPS than Jetty, while startup times remain similar, and provides step‑by‑step instructions for building native Docker images and switching containers.

DockerJettySpringBoot
0 likes · 10 min read
Why Tomcat Beats Jetty 15× with SpringBoot 4 Virtual Threads
macrozheng
macrozheng
Jan 27, 2026 · Databases

Why Leading Companies Choose PostgreSQL Over MySQL: A Technical Comparison

This article compares PostgreSQL and MySQL, highlighting PostgreSQL's richer data types, native sequences, extensible ecosystem, advanced monitoring, robust replication, open licensing, and MVCC implementation, while also acknowledging MySQL's strengths in simplicity and read‑heavy web workloads.

ComparisonExtensionsPostgreSQL
0 likes · 9 min read
Why Leading Companies Choose PostgreSQL Over MySQL: A Technical Comparison
macrozheng
macrozheng
Jan 23, 2026 · Backend Development

Why Maven 4’s New Features Are a Game‑Changer for Java Projects

Maven 4 introduces a revamped POM model, native flattening, explicit artifact types, subproject support, a tree‑based lifecycle for parallel builds, and richer configuration options, making it a timely upgrade for modern Java development pipelines.

Build AutomationJavaMaven4
0 likes · 8 min read
Why Maven 4’s New Features Are a Game‑Changer for Java Projects
macrozheng
macrozheng
Jan 23, 2026 · Backend Development

Is Unified ORM Worth It? A Deep Dive into dbVisitor, Jimmer, and JdbcClient

The article critically examines the promise of a universal Java data‑access API like dbVisitor, contrasts it with specialized ORM solutions such as Jimmer, and highlights the lightweight JdbcClient approach, while considering the impact of AI‑generated SQL on traditional ORM relevance.

AIJavaJdbcClient
0 likes · 8 min read
Is Unified ORM Worth It? A Deep Dive into dbVisitor, Jimmer, and JdbcClient
macrozheng
macrozheng
Jan 22, 2026 · Backend Development

Mastering Java SPI: Build a Pluggable Authentication System with Spring Boot

This guide explains Java's Service Provider Interface (SPI) mechanism, compares it with APIs, and walks through creating a multi‑module Maven project that defines SPI interfaces, implements plugins, loads external JARs with a custom class loader, and integrates the plugins into a Spring Boot application for dynamic authentication.

Custom ClassLoaderDynamic LoadingJava SPI
0 likes · 15 min read
Mastering Java SPI: Build a Pluggable Authentication System with Spring Boot
macrozheng
macrozheng
Jan 22, 2026 · Backend Development

30 Must-Have IntelliJ IDEA Plugins to Supercharge Your Java Development

This guide presents a curated list of 30 essential IntelliJ IDEA plugins, covering installation tips, productivity boosters, code quality tools, UI enhancements, and handy shortcuts, each illustrated with screenshots and brief usage notes to help Java developers work more efficiently.

DevelopmentIDEAIntelliJ
0 likes · 7 min read
30 Must-Have IntelliJ IDEA Plugins to Supercharge Your Java Development