Articles & Blog
Technical articles, tutorials, and insights on AI, Spring Framework, Java, and software development
Spring Boot Data Leak Prevention: Detecting Sensitive Information with Apache Tika
Learn how to use Apache Tika with Spring Boot to automatically scan uploaded files for sensitive data like SSN, credit cards, and emails for DLP compliance.
In-depth understanding of JVM inline caching: method tables and implementation principles
Learn how the JVM optimizes method invocation through inline caching, virtual method tables, and adaptive optimization techniques for improved performance.
Introduction to RAG Development and Basic Concepts
Complete guide to RAG architecture, core components, and how to build a knowledge-intensive AI system for Java developers.
Chapter 2: Building a Knowledge Base and Vectorization
Learn to build RAG knowledge bases with document preprocessing, embedding models, FAISS vector storage, and semantic retrieval.
Chapter 3: Implementing the Core Logic of RAG
Complete RAG workflow with LangChain: query processing, retrieval, context enhancement, generation, and optimization strategies.
Differences between Red-Black Trees and Binary Search Trees and their Search Efficiency Analysis
Deep dive into BST vs Red-Black Tree comparison, self-balancing mechanisms, time complexity analysis, and why Red-Black Trees are used in Java's TreeMap and TreeSet.
Red-black trees are the most frequently used underlying technology in the JDK
Learn why Red-Black Trees exist, their properties, rotation mechanisms, color transformation rules, and how they compare to AVL trees in the JDK.
Integrating Spring Boot with Quartz to implement automatic order cancellation functionality
Complete guide to implementing scheduled order cancellation using Quartz with task persistence, dynamic job management, and REST API integration.
Encrypting API response data using Spring Boot and AES
Learn how to automatically encrypt sensitive API responses using AES encryption with Spring Boot's ResponseBodyAdvice and Hutool toolkit.
Implement a simple JAR file encryption feature in a Spring Boot project to prevent decompilation
Protect your Spring Boot application's core code from decompilation using AES encryption for JAR files with dynamic decryption at runtime.
Spring Data JPA Practical Techniques to Boost Performance
Master Spring Data JPA with repository interfaces, Specification API, Criteria Builder, caching, batch processing, and performance optimization techniques.
Combining generics and functional programming can make code so elegant!
Learn how to eliminate structured code duplication using Java generics and functional programming with practical pagination and async callback examples.
Why is Tomcat's maximum number of connections 200? Unveiling the technical truth behind it.
Deep dive into Tomcat's default connection limit design, I/O-intensive characteristics, thread pools, HTTP Keep-Alive, and practical optimization strategies.
Spring Boot Lightweight Distributed Transactions: A Practical Guide to Eventual Consistency
Implement eventual consistency using RocketMQ transaction messages, local event tables, idempotent design, and compensation mechanisms in Spring Boot.
Debezium CDC: Real-Time MySQL to Redis Synchronization
Master Change Data Capture with Debezium and Kafka Connect for production-grade real-time data synchronization from MySQL binlog to Redis cache.
Spring JDBCTemplate in Practice: From CRUD to Advanced Techniques
Master Spring JDBCTemplate with query operations, batch processing, RowMapper, streaming queries, stored procedures, and optimistic locking.
Introduction to the LRU Algorithm and Its Implementation
Learn the LRU cache eviction algorithm with LinkedHashMap and custom HashMap + doubly linked list implementations in Java.
Data Synchronization in Multi-Active Architecture: A Simple Solution
Implement real-time data sync between data centers using Spring Boot, MySQL master-slave replication, and Kafka message queues.
SpringBoot Integration with Spring Statemachine: A Practical Tutorial
Implement order status transitions using Spring Statemachine with persistence, state recovery, and conditional guards for complex workflows.
Cross-Timezone Data Integrity in Global Data Pipelines
Learn best practices for ensuring data consistency across time zones using UTC standardization, DST handling, and centralized time management.
Big news! Ollama releases its UI, say goodbye to command windows!
Ollama has released an official UI, making it easier than ever to run local LLMs without command line. Learn about this exciting update and how to get started.
JVM Interview Explosive Question: Deep Copy vs. Shallow Copy
Master the key differences between deep copy and shallow copy in Java. Understand when to use each, their implementation methods, and ace your JVM interview questions.
Amazing! SpringAI takes the lead in multimodal computing: Google Vertex AI's embedded models are incredibly powerful!
Explore how Spring AI integrates with Google Vertex AI for powerful multimodal computing capabilities. Learn about embedded models and their amazing potential.
The interviewer's question stumped me: "Java isn't fast anymore, so why is your company still using it?"
A deep dive into why Java remains relevant in 2025, the role of reverse proxies, SSL termination, and proper architecture design for enterprise systems.
A Redis interview question that stumped 80% of Java experienced hires: How do you handle concurrent keys?
Deep dive into Redis concurrent key contention, atomic operations, Lua scripts, distributed locks, and CAS approach for handling concurrent access.
What's the difference between JDK dynamic proxies and CGLIB dynamic proxies? I was stumped by this question!
A deep dive into JDK vs CGLIB dynamic proxies, their implementation differences, performance characteristics, and how Spring AOP chooses between them.
What are the differences between Spring AOP and AspectJ? Did you really answer it correctly?
Deep dive into Spring AOP vs AspectJ AOP, implementation methods, internal method calls limitation, and real interview experiences with practical solutions.
Synchronized methods and synchronized blocks – 90% of people choose the wrong answer!
Deep analysis of synchronized methods vs synchronized blocks from performance, flexibility, and readability perspectives with practical usage scenarios.
The best data format for LLM calls: TOON, reducing costs by 50%
Learn how TOON format reduces token costs by 40-60% compared to JSON while improving LLM accuracy, with Java usage guide included.
Solution to disordered column order when Spring Data JPA automatically generates tables
Fix for Spring Boot 3.3.5+ where JPA auto-generated table columns don't match Entity variable order. Updated solution for the latest Hibernate version.
Six ways to read API request parameters in Spring Boot
A comprehensive guide to reading request parameters in Spring Boot: @RequestParam, @PathVariable, @MatrixVariable, @RequestBody, @RequestHeader, and @CookieValue.
How to dynamically specify the database in Spring Boot for different users?
Learn how to configure dynamic schema in Spring Boot for SaaS applications with multi-tenant data isolation using runtime database switching.
The implicit cost of Jackson serialization
Deep dive into Jackson performance issues under high concurrency, optimization strategies including @JsonView, custom serializers, and when to use alternatives.
Explaining the 6 New Features in Java 25
Compact source files, flexible constructors, Scoped Values, module imports, AOT profiling, and generational Shenandoah GC explained with examples.
How to configure multiple Spring AI LLM clients in a Spring Boot application
Learn to integrate multiple LLMs from different vendors with automatic failover using Spring AI and Spring Retry for resilient chatbots.
How to use ShedLock to ensure scheduled tasks execute only once in multi-instance environments
Prevent duplicate scheduled task execution in multi-instance Spring Boot deployments using ShedLock with database-backed distributed locking.
Spring Boot 4 and Spring Framework 7: New Features, Upgrade Guide
Comprehensive analysis of Spring Boot 4 and Spring Framework 7 with API versioning, declarative HTTP clients, built-in resilience, and cloud-native improvements.
I finally understand public keys, private keys, symmetric and asymmetric encryption
A beginner-friendly guide to encryption: symmetric (AES) vs asymmetric (RSA), public/private key pairs, and real-world use cases in payment integrations.
More Articles Coming Soon
Stay tuned for more technical articles on Spring AI, Java, and software development!