Java Tech Workshop
Author

Java Tech Workshop

Focused on Java backend technologies, sharing fundamentals, multithreading, JVM, the Spring ecosystem, microservices, distributed systems, high concurrency, source‑code analysis, and practical experience. Continuously delivers high‑quality original content, interview guides, and learning roadmaps to help Java developers progress from beginner to advanced, enhancing technical skills and core competitiveness.

178
Articles
0
Likes
1.4k
Views
0
Comments
Recent Articles

Latest from Java Tech Workshop

100 recent articles max
Java Tech Workshop
Java Tech Workshop
Aug 18, 2026 · Backend Development

Beyond Adding Indexes: From Disk Pages to B+Tree – Master MySQL Index Design and Operation

This article explains why indexes speed up queries by reducing disk I/O, dives into MySQL's page structure and B+Tree evolution, compares clustered and secondary indexes, clarifies composite index rules, lists common index‑misuse scenarios, and provides seven practical guidelines for designing efficient MySQL indexes.

B-treeInnoDBMySQL
0 likes · 20 min read
Beyond Adding Indexes: From Disk Pages to B+Tree – Master MySQL Index Design and Operation
Java Tech Workshop
Java Tech Workshop
Aug 17, 2026 · Backend Development

How to Keep Redis and MySQL Consistent? Update DB First or Delete Cache First?

This article analyzes why cache and database can become inconsistent, compares four basic cache‑update patterns, explains the delayed double‑delete technique, shows how to use MQ for retrying cache deletions, and evaluates Canal binlog subscription as a zero‑intrusion solution for strong eventual consistency.

Cache AsideCanal BinlogDelayed Double Delete
0 likes · 28 min read
How to Keep Redis and MySQL Consistent? Update DB First or Delete Cache First?
Java Tech Workshop
Java Tech Workshop
Aug 14, 2026 · Backend Development

Is Your Configuration Actually Bound? A Full‑Stack Breakdown of Spring Boot @ConfigurationProperties

The article explains the complete binding process of Spring Boot’s @ConfigurationProperties, covering configuration loading, property source merging, Binder execution, validation, registration, registration methods, naming conventions, complex type handling, metadata generation, and dynamic refresh, while providing practical code examples and troubleshooting tips.

BinderSpring BootValidation
0 likes · 17 min read
Is Your Configuration Actually Bound? A Full‑Stack Breakdown of Spring Boot @ConfigurationProperties
Java Tech Workshop
Java Tech Workshop
Aug 13, 2026 · Backend Development

Is Your SpringBoot @Scheduled Task Reliable? A Full‑Stack Breakdown

This article examines the hidden pitfalls of SpringBoot’s @Scheduled annotation—such as duplicate runs in clusters, single‑thread blocking, uncaught exceptions, and lack of monitoring—and provides a step‑by‑step guide to configuring custom thread pools, distributed locks, timeout handling, dynamic task management, and observability for production‑grade reliability.

Dynamic ConfigurationException HandlingRedis Lock
0 likes · 19 min read
Is Your SpringBoot @Scheduled Task Reliable? A Full‑Stack Breakdown
Java Tech Workshop
Java Tech Workshop
Aug 12, 2026 · Backend Development

6 Elegant Ways to Auto‑Fill Common Fields in SpringBoot (No Hand‑Coding Needed)

SpringBoot developers can eliminate repetitive manual setting of common fields like create_time, update_time, create_by, and update_by by using six automatic filling solutions—from database default values and MyBatis‑Plus meta‑object handlers to JPA auditing, MyBatis interceptors, AOP aspects, and controller request‑body advice—each with its own pros, cons, and ideal scenarios.

AOPAuto-fillJPA
0 likes · 19 min read
6 Elegant Ways to Auto‑Fill Common Fields in SpringBoot (No Hand‑Coding Needed)
Java Tech Workshop
Java Tech Workshop
Aug 11, 2026 · Backend Development

Achieving 6 Million Orders per Second with SpringBoot and LMAX Disruptor

The article explains why traditional Java BlockingQueue struggles under high load, introduces the LMAX Disruptor’s lock‑free ring buffer design, compares performance showing up to 600 万+ events per second versus 100 万 for ArrayBlockingQueue, and provides step‑by‑step SpringBoot integration with code examples and best‑practice tips.

DisruptorJavaSpringBoot
0 likes · 17 min read
Achieving 6 Million Orders per Second with SpringBoot and LMAX Disruptor
Java Tech Workshop
Java Tech Workshop
Aug 10, 2026 · Backend Development

SpringBoot Backend Anti‑Duplicate Submission: Stop “Hand‑Shake” Clicks with Redis‑AOP

This article explains why frontend debouncing cannot fully prevent duplicate form submissions, compares common backend anti‑duplicate strategies, and provides a step‑by‑step guide to implementing a robust, annotation‑driven solution in SpringBoot using Redis distributed locks, AOP, and custom exception handling.

AOPAnnotationDuplicateSubmission
0 likes · 16 min read
SpringBoot Backend Anti‑Duplicate Submission: Stop “Hand‑Shake” Clicks with Redis‑AOP
Java Tech Workshop
Java Tech Workshop
Aug 9, 2026 · Backend Development

How Does Spring Boot Load Its Logging System?

This article explains Spring Boot's logging architecture, the early initialization process driven by LoggingApplicationListener, the three‑layer design with SLF4J, bridge packages and Logback, configuration file loading order, differences between logback.xml and logback‑spring.xml, and common troubleshooting steps.

ConfigurationJavaLogback
0 likes · 16 min read
How Does Spring Boot Load Its Logging System?
Java Tech Workshop
Java Tech Workshop
Aug 7, 2026 · Backend Development

Mastering MyBatis-Plus IPage: A Unified Solution for Pagination and Full-Data Export

This article examines common pitfalls of MyBatis-Plus IPage pagination, explains why naive approaches like using two mapper methods or setting pageSize to Integer.MAX_VALUE cause performance and consistency issues, and presents a single‑SQL strategy with custom count handling, cursor streaming, and best‑practice configurations for seamless pagination and full‑data export.

CursorFull ExportIPage
0 likes · 20 min read
Mastering MyBatis-Plus IPage: A Unified Solution for Pagination and Full-Data Export
Java Tech Workshop
Java Tech Workshop
Aug 4, 2026 · Databases

R2DBC vs JDBC: Choosing the Right Persistence for Reactive Spring Boot Projects

This article compares Spring Data JDBC and Spring Data R2DBC for Spring Boot 3.x/4.x projects, detailing setup, Maven dependencies, configuration, entity definitions, repository and service implementations, transaction handling, performance trade‑offs, and provides a hybrid approach that wraps JDBC calls in reactive Monos for WebFlux, helping developers decide which persistence layer best fits their reactive architecture.

Database AccessJDBCR2DBC
0 likes · 22 min read
R2DBC vs JDBC: Choosing the Right Persistence for Reactive Spring Boot Projects