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.

92
Articles
0
Likes
62
Views
0
Comments
Recent Articles

Latest from Java Tech Workshop

92 recent articles
Java Tech Workshop
Java Tech Workshop
Apr 24, 2026 · Backend Development

SpringBoot Sensitive Data Desensitization via Jackson Serialization (Zero‑Intrusion, High‑Performance)

This article explains how to protect user privacy in SpringBoot applications by masking sensitive fields such as phone numbers, ID cards, emails, bank cards, names, and addresses during JSON serialization using a custom Jackson serializer and annotation, offering a zero‑intrusion, high‑performance solution compared to other approaches.

AnnotationBackendData Desensitization
0 likes · 16 min read
SpringBoot Sensitive Data Desensitization via Jackson Serialization (Zero‑Intrusion, High‑Performance)
Java Tech Workshop
Java Tech Workshop
Apr 22, 2026 · Information Security

Stateless Authentication in SpringBoot with JWT: Complete Implementation Guide

This article explains why traditional session authentication is unsuitable for distributed micro‑service systems, introduces JWT as a stateless alternative, and provides a step‑by‑step SpringBoot implementation—including double‑token handling, Redis blacklist logout, interceptor configuration, and end‑to‑end testing—complete with code snippets and best‑practice recommendations.

Redisauthenticationjwt
0 likes · 30 min read
Stateless Authentication in SpringBoot with JWT: Complete Implementation Guide
Java Tech Workshop
Java Tech Workshop
Apr 21, 2026 · Databases

Optimizing SpringBoot MySQL Indexes: From Slow Query Logs to InnoDB Explain Analysis

This guide walks through why caching alone can't solve performance bottlene bottlenecks, shows how to enable MySQL slow‑query logging in SpringBoot, analyzes slow SQL with tools like mysqldumpslow and pt‑query‑digest, explains the full EXPLAIN output, and dives into InnoDB B‑tree, clustered vs secondary indexes, covering indexes, and common causes of index loss.

Covering IndexExplainIndex Optimization
0 likes · 31 min read
Optimizing SpringBoot MySQL Indexes: From Slow Query Logs to InnoDB Explain Analysis
Java Tech Workshop
Java Tech Workshop
Apr 20, 2026 · Backend Development

Optimizing SpringBoot Batch Insert/Update with MyBatis: Real‑World Tips for High‑Volume Data

This article explains why naïve per‑record inserts or updates in SpringBoot cause severe performance problems, analyzes three common mistakes, and demonstrates how MyBatis batch processing—through connection reuse, prepared‑statement reuse, and batch transaction commits—can speed up operations by tens of times, with practical code examples and configuration tips for handling millions of rows.

BatchDatabaseJava
0 likes · 21 min read
Optimizing SpringBoot Batch Insert/Update with MyBatis: Real‑World Tips for High‑Volume Data
Java Tech Workshop
Java Tech Workshop
Apr 19, 2026 · Backend Development

Getting Started with Sharding-JDBC in SpringBoot: A Practical Guide to Database Sharding

When a single database table grows to millions of rows, query performance and storage become bottlenecks, and this article explains why sharding is needed, introduces Sharding-JDBC as a lightweight solution, and walks through the complete setup, configuration, code implementation, testing, and advanced concepts such as sharding strategies, key generation, binding tables, and broadcast tables for SpringBoot projects.

Database ShardingHorizontal PartitioningMyBatis
0 likes · 33 min read
Getting Started with Sharding-JDBC in SpringBoot: A Practical Guide to Database Sharding
Java Tech Workshop
Java Tech Workshop
Apr 19, 2026 · Backend Development

Mastering SpringBoot Concurrency: Pessimistic vs Optimistic Locks Explained

SpringBoot’s @Transactional ensures single‑transaction atomicity, but under high concurrency multiple transactions can still corrupt data; this article dissects why, demonstrates overselling scenarios, and provides detailed implementations of pessimistic (row/table locks) and optimistic (version/timestamp) locking with code, performance tests, and a comprehensive comparison guide.

ConcurrencyMySQLOptimisticLock
0 likes · 24 min read
Mastering SpringBoot Concurrency: Pessimistic vs Optimistic Locks Explained
Java Tech Workshop
Java Tech Workshop
Apr 18, 2026 · Backend Development

SpringBoot: Declarative @Transactional vs Programmatic TransactionTemplate

The article compares SpringBoot's declarative transaction management using @Transactional with programmatic transaction handling via TransactionTemplate, explaining their underlying mechanisms, code examples, advantages, disadvantages, and suitable scenarios, and provides a detailed side‑by‑side table to help developers choose the appropriate approach.

AOPDeclarative TransactionProgrammatic Transaction
0 likes · 15 min read
SpringBoot: Declarative @Transactional vs Programmatic TransactionTemplate
Java Tech Workshop
Java Tech Workshop
Apr 18, 2026 · Backend Development

Deep Dive into SpringBoot @Transactional: How It Works and Common Pitfalls

This article explains the fundamentals of transaction management in SpringBoot, detailing the ACID properties, the @Transactional annotation’s AOP‑based implementation, core attributes such as propagation, isolation, rollback rules, timeout and read‑only mode, and provides practical code examples for single‑ and multi‑datasource scenarios.

@TransactionalJavaSpring
0 likes · 20 min read
Deep Dive into SpringBoot @Transactional: How It Works and Common Pitfalls
Java Tech Workshop
Java Tech Workshop
Apr 17, 2026 · Backend Development

Spring AOP Proxy Modes: Differences Between CGLIB and JDK Dynamic Proxies

This article explains the two proxy mechanisms used by Spring AOP—JDK dynamic proxy and CGLIB—detailing their core principles, required conditions, code examples, performance trade‑offs, how Spring chooses between them, common pitfalls that cause proxy failure, and practical solutions.

CGLIB ProxyJDK Dynamic ProxyJava
0 likes · 17 min read
Spring AOP Proxy Modes: Differences Between CGLIB and JDK Dynamic Proxies