Java Architect Handbook
Author

Java Architect Handbook

Focused on Java interview questions and practical article sharing, covering algorithms, databases, Spring Boot, microservices, high concurrency, JVM, Docker containers, and ELK-related knowledge. Looking forward to progressing together with you.

148
Articles
0
Likes
427
Views
0
Comments
Recent Articles

Latest from Java Architect Handbook

100 recent articles max
Java Architect Handbook
Java Architect Handbook
Jul 3, 2026 · Interview Experience

Router vs Switch: Core Differences Every Interviewee Should Know

This article explains the fundamental distinctions between routers and switches—including their OSI layers, addressing methods, forwarding mechanisms, broadcast domains, performance, and typical use cases—while providing interview‑focused insights, detailed operation principles, and common follow‑up questions.

OSI Modelinterviewnetworking
0 likes · 12 min read
Router vs Switch: Core Differences Every Interviewee Should Know
Java Architect Handbook
Java Architect Handbook
Jul 2, 2026 · Industry Insights

Why Facebook Dropped Git for Mercurial: Performance and Community Factors

Facebook originally used Git but switched to Mercurial around 2012 because its massive monolithic repository caused severe performance bottlenecks, especially during file stat operations, and Git’s maintainers were unwilling to improve scalability, leading the team to evaluate alternatives like Perforce before adopting Mercurial’s clearer architecture and collaborative community.

FacebookGitMercurial
0 likes · 13 min read
Why Facebook Dropped Git for Mercurial: Performance and Community Factors
Java Architect Handbook
Java Architect Handbook
Jun 30, 2026 · Backend Development

12 MyBatis‑Plus Tricks That Instantly Boost Development Efficiency

This article presents twelve practical MyBatis‑Plus techniques—including avoiding isNull checks, selecting specific fields, batch operations, EXISTS subqueries, safe ordering, LambdaQuery type safety, between clauses, index‑aware sorting, pagination limits, null‑handling, performance tracking, enum mapping, logical deletion, optimistic locking, and increment/decrement methods—to help developers write cleaner, faster, and more maintainable Java code.

Batch OperationsJavaLambdaQueryWrapper
0 likes · 18 min read
12 MyBatis‑Plus Tricks That Instantly Boost Development Efficiency
Java Architect Handbook
Java Architect Handbook
Jun 29, 2026 · Databases

Three Free Tools That Seamlessly Replace Navicat

If you need a cost‑free replacement for Navicat, this article compares three MySQL client tools—DBeaver, MySQL Workbench, and HeidiSQL—detailing their installation steps, supported databases, key features such as monitoring and ER diagrams, and practical usage tips.

DBeaverHeidiSQLMySQL
0 likes · 6 min read
Three Free Tools That Seamlessly Replace Navicat
Java Architect Handbook
Java Architect Handbook
Jun 24, 2026 · Backend Development

Auto‑Cancel Unpaid Orders After 30 Minutes with RabbitMQ: TTL + DLX vs Delayed Message Plugin

The article explains two ways to implement a 30‑minute order auto‑cancellation in RabbitMQ—using the classic TTL + dead‑letter exchange pattern (with its head‑blocking pitfall) and the newer delayed‑message‑exchange plugin—provides Spring Boot configuration examples, compares their trade‑offs, and offers interview tips on when to choose each solution.

Dead Letter QueueDelayed Message PluginMessage Queue
0 likes · 12 min read
Auto‑Cancel Unpaid Orders After 30 Minutes with RabbitMQ: TTL + DLX vs Delayed Message Plugin
Java Architect Handbook
Java Architect Handbook
Jun 22, 2026 · Backend Development

How to Implement Consumer‑Side Throttling in RabbitMQ

RabbitMQ achieves consumer‑side throttling by configuring basic.qos with a prefetchCount, disabling automatic ACK, and using manual ACK so that the broker only pushes a limited number of unacknowledged messages, with detailed guidance on parameter settings, pitfalls, and code examples.

Javabasic.qosconsumer throttling
0 likes · 10 min read
How to Implement Consumer‑Side Throttling in RabbitMQ