Tagged articles

Java

5000 articles · Page 14 of 50
Java Architecture Diary
Java Architecture Diary
Dec 29, 2025 · Information Security

Why Spring Authorization Server Merged into Spring Security 7.0 and How to Migrate

Spring Authorization Server has been integrated into Spring Security 7.0, ending its independent lifecycle; the article explains the three historical eras, the reasons for the merge, and provides concrete dependency and configuration changes—including Lambda DSL updates—to help developers migrate from SpringBoot3 to SpringBoot4 with minimal effort.

JavaOAuth2Spring Security
0 likes · 11 min read
Why Spring Authorization Server Merged into Spring Security 7.0 and How to Migrate
LuTiao Programming
LuTiao Programming
Dec 28, 2025 · Artificial Intelligence

Stop Memorizing Docs: Build a Spring AI RAG System That Instantly Understands Business

This article walks through creating a Retrieval‑Augmented Generation (RAG) powered Q&A service in Java using Spring AI, covering the rationale for choosing Spring AI over LangChain, required environment, Maven setup, configuration, document ingestion, Advisor‑based query handling, testing, and practical limitations of RAG implementations.

AdvisorJavaLangChain
0 likes · 11 min read
Stop Memorizing Docs: Build a Spring AI RAG System That Instantly Understands Business
Woodpecker Software Testing
Woodpecker Software Testing
Dec 28, 2025 · Backend Development

Deep Dive into JUnit: Core Concepts, Components, and Design Pattern Integration

This comprehensive tutorial explains JUnit's definition, core components, annotations, assertion methods, test suite creation, custom test rules, and how common design patterns such as Factory, Decorator, Strategy, and Template Method can be applied to write flexible, maintainable Java unit tests, plus installation steps and advanced usage tips.

Design PatternsJUnitJava
0 likes · 25 min read
Deep Dive into JUnit: Core Concepts, Components, and Design Pattern Integration
Woodpecker Software Testing
Woodpecker Software Testing
Dec 28, 2025 · Fundamentals

Mastering JUnit 5: The Modern Java Unit‑Testing Framework

JUnit 5 introduces a modular architecture with Platform, Jupiter, and Vintage, adds a fresh annotation model, dynamic and parameterized tests, tagging, exception assertions, and nested tests, and offers clear advantages over JUnit 4, as demonstrated through a complete Calculator example and Maven execution.

JUnit 5JavaMaven
0 likes · 8 min read
Mastering JUnit 5: The Modern Java Unit‑Testing Framework
Woodpecker Software Testing
Woodpecker Software Testing
Dec 28, 2025 · Backend Development

Adjusting GUI and API Test Cases with ChatGPT

This article explains how to handle leading and trailing spaces in user input by applying the .trim() method in both front‑end JavaScript validation functions and back‑end Java controllers, updates test data and cases, and verifies that all GUI and API tests pass successfully.

APIGUIJava
0 likes · 19 min read
Adjusting GUI and API Test Cases with ChatGPT
AI Architecture Hub
AI Architecture Hub
Dec 28, 2025 · Artificial Intelligence

Spring AI’s Model Context Protocol: Architecture, Code Walkthrough & Debugging

This article provides a comprehensive analysis of Spring AI’s Model Context Protocol (MCP), covering its layered client‑server architecture, core interaction sequences, key source‑code components, and step‑by‑step debugging of the SSE‑based initialization flow, enabling developers to integrate AI capabilities into Java applications with confidence.

AI integrationDebuggingJava
0 likes · 20 min read
Spring AI’s Model Context Protocol: Architecture, Code Walkthrough & Debugging
Top Architect
Top Architect
Dec 28, 2025 · Backend Development

Why FastExcel Is the Next‑Gen High‑Performance Excel Library for Java Developers

FastExcel, a Java library born from the discontinuation of EasyExcel, offers seamless migration, MIT‑licensed open‑source code, and dramatic performance gains for processing massive Excel files, while also introducing innovative features like selective row reading and Excel‑to‑PDF conversion, and it paves the way for the AI‑driven database tool Chat2DB.

Chat2DBEasyExcelExcel
0 likes · 18 min read
Why FastExcel Is the Next‑Gen High‑Performance Excel Library for Java Developers
LuTiao Programming
LuTiao Programming
Dec 27, 2025 · Fundamentals

What 500 Java Projects Reveal: The One Pitfall Almost Every Developer Falls Into

The article shows that most Java performance problems stem from a simple, often‑overlooked mistake—using immutable String concatenation in loops, large text building, and logging—while demonstrating how StringBuilder, proper logging placeholders, and understanding the string pool can dramatically reduce GC pressure and CPU waste.

Garbage CollectionJavaLogging
0 likes · 8 min read
What 500 Java Projects Reveal: The One Pitfall Almost Every Developer Falls Into
DevOps Coach
DevOps Coach
Dec 27, 2025 · Fundamentals

Why Does Integer == Fail for 128? Unveiling Java’s Autoboxing Cache

The article explains why comparing two Integer objects with `==` returns true for values within -128 to 127 but false for larger numbers, detailing Java’s integer cache, reference vs. value equality, and the correct use of `.equals()` to avoid subtle bugs.

AutoboxingJavaReference Equality
0 likes · 6 min read
Why Does Integer == Fail for 128? Unveiling Java’s Autoboxing Cache
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Dec 27, 2025 · Backend Development

Mastering Java Inner Classes: Organize, Encapsulate, and Simplify Your Code

The article explains how Java inner classes can be used to encapsulate related functionality, access private members of the outer class, implement interfaces for callbacks, and hide implementation details, providing clear code examples such as Car/Engine, Counter/Incrementer, Button listeners, and a Calculator with an Operation inner class.

Code OrganizationEncapsulationInner Classes
0 likes · 4 min read
Mastering Java Inner Classes: Organize, Encapsulate, and Simplify Your Code
Xiao Liu Lab
Xiao Liu Lab
Dec 26, 2025 · Operations

How to Achieve RabbitMQ High Availability with HAProxy: A Step‑by‑Step Guide

This tutorial explains why HAProxy is essential for RabbitMQ clusters, walks through installing HAProxy on Ubuntu, configuring load‑balancing and health‑check parameters, integrating with Java applications, and validating automatic failover to ensure high availability and efficient resource utilization.

HAProxyJavaLinux
0 likes · 8 min read
How to Achieve RabbitMQ High Availability with HAProxy: A Step‑by‑Step Guide
Ray's Galactic Tech
Ray's Galactic Tech
Dec 26, 2025 · Backend Development

Dubbo vs Spring Cloud: Which Java Microservice Framework Fits Your Needs?

This article compares Dubbo and Spring Cloud across four core dimensions—purpose, communication protocol, service registry, and ecosystem breadth—then expands the analysis with deployment complexity, learning curve, community activity, cloud‑native integration, and future trends to guide framework selection for Java microservice architectures.

ComparisonDubboJava
0 likes · 9 min read
Dubbo vs Spring Cloud: Which Java Microservice Framework Fits Your Needs?
Java One
Java One
Dec 26, 2025 · Fundamentals

How C/C++, Java, and Python Run: A Deep Dive into Compilation and Execution

This article compares the execution models of C/C++, Java, and Python, explaining how compiled machine code, bytecode with JVM, and interpreted bytecode with the Python virtual machine operate, and illustrates each process with example file structures and compilation steps.

C++CompilationJava
0 likes · 6 min read
How C/C++, Java, and Python Run: A Deep Dive into Compilation and Execution
Alibaba Cloud Developer
Alibaba Cloud Developer
Dec 26, 2025 · Artificial Intelligence

How AutoContextMemory Cuts LLM Costs by 70% in Long Conversations

This article explains the challenges of token explosion in long‑running AI agent dialogues and introduces AutoContextMemory, a Java component that automatically compresses, offloads, and summarizes conversation history to dramatically reduce token usage, speed up responses, and preserve critical information.

AgentScopeJavaLLM
0 likes · 12 min read
How AutoContextMemory Cuts LLM Costs by 70% in Long Conversations
JavaGuide
JavaGuide
Dec 26, 2025 · Artificial Intelligence

MiniMax M2.1 Review: Can It Handle Real‑World Java and Multi‑Language Projects?

After testing MiniMax M2.1 on a full‑stack e‑commerce order‑management task, the author finds the model correctly implements DDD layers, transaction handling, custom exceptions, and even generates a polished cyber‑punk UI, while its Java‑to‑Go code respects each language’s concurrency model and scores over 88 on the VIBE benchmark.

AI codingDDDGo
0 likes · 8 min read
MiniMax M2.1 Review: Can It Handle Real‑World Java and Multi‑Language Projects?
Java Architecture Diary
Java Architecture Diary
Dec 26, 2025 · Information Security

Secure Your Spring Boot 4 Apps with One Annotation: MFA Made Easy

This article explains how Spring Boot 4.0’s @EnableMultiFactorAuthentication annotation simplifies the implementation of password‑plus‑one‑time‑token multi‑factor authentication, providing step‑by‑step code examples, custom token services, endpoint‑level MFA configuration, and production‑grade considerations.

JavaMFASpring Boot
0 likes · 11 min read
Secure Your Spring Boot 4 Apps with One Annotation: MFA Made Easy
Woodpecker Software Testing
Woodpecker Software Testing
Dec 25, 2025 · Backend Development

Using ChatGPT to Refine Java Unit Tests – Episode 23

This article walks through adjusting Java unit tests with ChatGPT, measuring coverage using JaCoCo, rewriting test code for User and PasswordRecovery classes, adding Mockito and PowerMock mocks, and showing how the changes raise coverage from 73.7% to over 80% across the project.

ChatGPTJUnitJaCoCo
0 likes · 17 min read
Using ChatGPT to Refine Java Unit Tests – Episode 23
Ray's Galactic Tech
Ray's Galactic Tech
Dec 25, 2025 · Backend Development

Mastering Delayed Messaging: When to Use RabbitMQ, RocketMQ, or Redis

This guide explains why delayed messages are essential for distributed system stability, compares RabbitMQ's TTL+DLX and delayed‑message plugin, details RocketMQ's precise timing and delay‑level features, and offers custom Redis and time‑wheel solutions with practical Java code examples and deployment tips.

Delayed MessagingJavaMessage Queue
0 likes · 8 min read
Mastering Delayed Messaging: When to Use RabbitMQ, RocketMQ, or Redis
Top Architect
Top Architect
Dec 25, 2025 · Backend Development

Auto‑Inject UserId and OrderId into Logs with Spring AOP and MDC

This guide shows how to eliminate manual logging of user and order identifiers in a Java e‑commerce system by declaring log placeholders, storing values in ThreadLocal, and using a custom @UserLog annotation with Spring AOP to automatically populate MDC variables for Log4j2.

AOPAnnotationJava
0 likes · 9 min read
Auto‑Inject UserId and OrderId into Logs with Spring AOP and MDC
JavaGuide
JavaGuide
Dec 25, 2025 · Interview Experience

How I Secured Offers from Top Tech Companies in 80 Days

The author, a non‑elite undergraduate and a modest 211 master’s graduate, shares a step‑by‑step 80‑day crash‑course that turned zero Java experience into multiple offers from major tech firms, emphasizing fundamental understanding, AI‑assisted learning, and thoughtful project trade‑offs.

AI-assisted learningAlgorithm PreparationInterview
0 likes · 8 min read
How I Secured Offers from Top Tech Companies in 80 Days
Java Companion
Java Companion
Dec 25, 2025 · Backend Development

Druid Crashed in Production? How to Optimize the Spring Boot Connection Pool

The article explains why Druid can fail in a live Spring Boot service and provides a comprehensive, step‑by‑step optimization guide covering core pool parameters, monitoring setup, security hardening, leak detection, dynamic tuning, and best‑practice pitfalls to achieve stable, high‑performance database connections.

DruidJavaPerformance Tuning
0 likes · 12 min read
Druid Crashed in Production? How to Optimize the Spring Boot Connection Pool
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Dec 25, 2025 · Fundamentals

Overloads vs Overrides in Java: When and How They Differ

This article explains the distinction between method overloading and method overriding in Java, covering their definitions, how the compiler or runtime selects the appropriate method, differences in method signatures, return types, and timing, and provides clear code examples for each concept.

JavaMethod OverloadingOOP
0 likes · 5 min read
Overloads vs Overrides in Java: When and How They Differ
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Dec 24, 2025 · Fundamentals

Understanding Java’s final, finally, and finalize: Usage, Pitfalls, and Best Practices

This article explains the distinct purposes of Java's final keyword, finally block, and finalize method, shows how to use them with classes, methods, and variables, highlights scenarios where finally may not run, discusses finalize deprecation, and recommends modern resource‑management techniques like try‑with‑resources.

Javaexception handlingfinal
0 likes · 5 min read
Understanding Java’s final, finally, and finalize: Usage, Pitfalls, and Best Practices
Architect's Tech Stack
Architect's Tech Stack
Dec 24, 2025 · Backend Development

10 Proven Techniques to Supercharge API Performance in Java Applications

This article presents a comprehensive, step‑by‑step guide to optimizing Java‑based API interfaces, covering batch processing, asynchronous execution, caching, pre‑processing, pooling, transaction handling, pagination, SQL tuning, lock granularity, and code restructuring, with practical code examples and diagrams.

API optimizationAsynchronousBatch Processing
0 likes · 10 min read
10 Proven Techniques to Supercharge API Performance in Java Applications
Su San Talks Tech
Su San Talks Tech
Dec 24, 2025 · Backend Development

Fixing RabbitMQ Connection Leaks with Thread‑Pool Asynchrony

Facing frequent timeouts in the high‑traffic eLong red‑envelope API, we traced the root cause to a RabbitMQ SDK connection‑leak using Linux netstat, then resolved it by offloading the processing to a single‑threaded pool, eliminating blocking and avoiding the SDK bug.

ConnectionLeakJavaPerformance
0 likes · 7 min read
Fixing RabbitMQ Connection Leaks with Thread‑Pool Asynchrony
Java Architecture Diary
Java Architecture Diary
Dec 24, 2025 · Backend Development

Why Spring Boot 4 Breaks Your Tests and How to Fix It

Upgrading to Spring Boot 4 can cause missing @WebMvcTest, MockMvc, and other compilation errors because the framework modularizes its large autoconfigure JAR into many smaller starters, requiring updated dependencies and configuration changes to restore test execution and improve startup performance.

JavaSpring Bootmigration
0 likes · 10 min read
Why Spring Boot 4 Breaks Your Tests and How to Fix It
Ubiquitous Tech
Ubiquitous Tech
Dec 23, 2025 · Artificial Intelligence

Building an MCP Server with Spring AI 1.1’s New Annotations

This article walks through creating a Spring AI 1.1 MCP Server using the new annotation‑based programming model, covering project setup, Maven dependencies, YAML configuration, replacing @Tool with @McpTool, exploring the new context parameters, and demonstrating dynamic schema support with concrete code examples and test results.

AI integrationJavaMCP
0 likes · 13 min read
Building an MCP Server with Spring AI 1.1’s New Annotations
Su San Talks Tech
Su San Talks Tech
Dec 23, 2025 · Backend Development

How to Crush the One Billion Row Challenge: Java Performance Secrets Revealed

This article walks through the One Billion Row Challenge—parsing a 13 GB file of 1 billion temperature records—by examining the baseline Java solution, analyzing top contestants' results, and detailing a step‑by‑step series of low‑level optimizations (JVM choice, parallel I/O, custom parsing, bespoke hash tables, Unsafe and SWAR techniques) that shrink execution time from minutes to under two seconds.

GraalVMJavaOne Billion Row Challenge
0 likes · 20 min read
How to Crush the One Billion Row Challenge: Java Performance Secrets Revealed
Architect Chen
Architect Chen
Dec 23, 2025 · Backend Development

How to Reduce Java GC Pauses from 200 ms to 20 ms: A Practical Tuning Guide

This guide explains how to systematically analyze and optimize Java garbage‑collection pauses—cutting typical 200 ms stalls down to around 20 ms—by enabling detailed logs, selecting the right collector, tuning heap and generation settings, minimizing allocation, handling large objects, and balancing GC threads with CPU resources.

GCJVMJava
0 likes · 5 min read
How to Reduce Java GC Pauses from 200 ms to 20 ms: A Practical Tuning Guide
Senior Xiao Ying
Senior Xiao Ying
Dec 23, 2025 · Backend Development

Master Bidirectional JSON↔CSV Conversion in Spring Boot Quickly

This guide explains how to perform bidirectional conversion between JSON and CSV in Spring Boot using lightweight open‑source libraries such as Jackson, Apache Commons CSV or OpenCSV, as well as commercial APIs, covering serialization, deserialization, custom handling of nested objects, and provides complete code examples.

Apache Commons CSVCSVJackson
0 likes · 6 min read
Master Bidirectional JSON↔CSV Conversion in Spring Boot Quickly
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Dec 23, 2025 · Backend Development

Mastering Redis Distributed Locks: From SETNX to RedLock and WatchDog

This article walks through the evolution of Redis distributed locks—from basic SETNX mutual exclusion to atomic SET with expiration, Lua‑based safe unlocking, Redisson's WatchDog auto‑renewal, and the RedLock algorithm—highlighting pitfalls, best‑practice implementations, and interview‑style Q&A for robust production use.

JavaRedisRedisson
0 likes · 15 min read
Mastering Redis Distributed Locks: From SETNX to RedLock and WatchDog
Top Architect
Top Architect
Dec 22, 2025 · Backend Development

Graceful Shutdown of Java Applications: kill Commands, JVM Hooks, and Spring Boot Actuator

This article explains how to perform a graceful shutdown of Java services by using Linux kill signals, configuring JVM SignalHandler and Runtime shutdown hooks, releasing resources such as thread pools and sockets, and exposing a Spring Boot Actuator endpoint for controlled termination, complete with code examples and configuration details.

JVMJavaKill Command
0 likes · 16 min read
Graceful Shutdown of Java Applications: kill Commands, JVM Hooks, and Spring Boot Actuator
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Dec 22, 2025 · Fundamentals

Why Is StringBuilder Faster Than StringBuffer? Understanding Java’s Mutable vs Immutable Strings

This article explains the fundamental differences between Java's String, StringBuilder, and StringBuffer—covering immutability, thread‑safety, internal caching mechanisms, and performance characteristics—while providing concrete code examples that illustrate how each class behaves in single‑threaded and multi‑threaded scenarios.

JavaStringBufferStringBuilder
0 likes · 6 min read
Why Is StringBuilder Faster Than StringBuffer? Understanding Java’s Mutable vs Immutable Strings
macrozheng
macrozheng
Dec 22, 2025 · Backend Development

Why Your Java ThreadPool Threads Aren’t Releasing and How Shutdown Fixes It

The article investigates a Java application that accumulated nearly a thousand waiting threads without high CPU or memory usage, identifies a custom FixedThreadPool as the cause, explains how thread pools become GC roots, and demonstrates that calling shutdown or shutdownNow properly releases both threads and the pool.

ConcurrencyGarbageCollectionJVM
0 likes · 13 min read
Why Your Java ThreadPool Threads Aren’t Releasing and How Shutdown Fixes It
LuTiao Programming
LuTiao Programming
Dec 21, 2025 · Backend Development

Can Java 23 and Spring Boot 3.3.4 Double Your Development Speed with AI‑Generated Tests?

The article examines why test automation is essential for cloud‑native microservices, cites the 2024 DORA report, outlines a testing pyramid, reviews AI‑driven testing tools, demonstrates a Diffblue Cover setup with Java 23 and Spring Boot 3.3.4, and concludes that AI shifts testing from manual labor to intelligent engineering capability.

AI testingDiffblueJava
0 likes · 9 min read
Can Java 23 and Spring Boot 3.3.4 Double Your Development Speed with AI‑Generated Tests?
Architect
Architect
Dec 21, 2025 · Backend Development

Mastering Spring Event Listeners: From Coffee Shop Analogy to High‑Throughput Architecture

This article uses a coffee‑shop analogy to explain Spring event listeners, demonstrates how to define, publish, and handle events, presents three techniques for handling massive traffic, shares real‑world incidents and lessons, compares listeners with MQ, and offers performance‑tuning tips and best‑practice rules.

JavaPerformanceSpring
0 likes · 10 min read
Mastering Spring Event Listeners: From Coffee Shop Analogy to High‑Throughput Architecture
IT Services Circle
IT Services Circle
Dec 21, 2025 · Fundamentals

How to Shuffle an Array Uniformly in Java: Fisher‑Yates Solution Explained

The article starts with a brief comment on recent layoffs before diving into the classic interview problem of shuffling an integer array uniformly, explaining why naive random swaps fail, detailing the Fisher‑Yates algorithm, and providing a complete Java implementation with key practical tips.

AlgorithmArray ShuffleFisher-Yates
0 likes · 7 min read
How to Shuffle an Array Uniformly in Java: Fisher‑Yates Solution Explained
Top Architect
Top Architect
Dec 21, 2025 · Information Security

Securing API Calls with Hybrid Symmetric‑Asymmetric Encryption and HTTPS Principles

This article presents a comprehensive design for API request and response protection that combines symmetric and asymmetric encryption, HTTPS fundamentals, and WeChat Pay specific cryptographic mechanisms, detailing key exchange, data signing, parameter handling, implementation code, common pitfalls, and a security analysis.

API securityEncryptionHTTPS
0 likes · 14 min read
Securing API Calls with Hybrid Symmetric‑Asymmetric Encryption and HTTPS Principles
Java Companion
Java Companion
Dec 21, 2025 · Backend Development

Eliminate Messy Login Logic: Unified Multi‑Channel Authentication with Spring Boot Factory & Strategy Patterns

This article demonstrates how to replace tangled if‑else login code with a clean Spring Boot solution that combines the Factory and Strategy patterns, enabling easy addition of multiple authentication methods such as password, WeChat, SMS, and future providers while improving extensibility, readability, and testability.

AuthenticationFactory PatternJava
0 likes · 12 min read
Eliminate Messy Login Logic: Unified Multi‑Channel Authentication with Spring Boot Factory & Strategy Patterns
SpringMeng
SpringMeng
Dec 21, 2025 · Backend Development

A Java Packaging Tool That Enables Double‑Click Execution

The author reviews common Java desktop packaging methods—GraalVM, JLink, Exe4J, batch scripts, and plain JAR—detailing their advantages and drawbacks, then demonstrates a custom WinForm‑based packaging utility that bundles a Swing application and a trimmed JRE into a single executable for double‑click launch.

Exe4JGraalVMJLink
0 likes · 6 min read
A Java Packaging Tool That Enables Double‑Click Execution
Architect's Guide
Architect's Guide
Dec 21, 2025 · Backend Development

How Spring Solves Circular Dependencies: Inside the Three‑Level Cache

This article provides a detailed walkthrough of Spring's circular‑dependency resolution, explaining the three‑level cache mechanism, step‑by‑step bean creation flow, and the underlying source‑code logic, complete with diagrams and code examples for deep understanding.

AOPCircular DependencyJava
0 likes · 12 min read
How Spring Solves Circular Dependencies: Inside the Three‑Level Cache
LuTiao Programming
LuTiao Programming
Dec 20, 2025 · Fundamentals

Is Java Dead by 2026? Why Kotlin Is Winning the Language War

The article argues that Java’s legacy null‑pointer crashes are driving teams toward Kotlin’s built‑in null safety, sealed classes, data classes, extension and scope functions, coroutines, Compose Multiplatform, and context parameters, making Kotlin the preferred JVM language for new projects by 2026.

Compose MultiplatformCoroutinesData Classes
0 likes · 7 min read
Is Java Dead by 2026? Why Kotlin Is Winning the Language War
Ray's Galactic Tech
Ray's Galactic Tech
Dec 20, 2025 · Backend Development

Production-Ready Idempotency for RocketMQ Duplicate Consumption (Full Code)

To reliably handle RocketMQ's at-least-once delivery semantics, this guide explains why duplicate consumption is inevitable, outlines three defensive layers—Redis‑based idempotency, database unique constraints, and state‑machine checks—provides production‑grade Java code, and details ACK/retry strategies and monitoring practices for robust systems.

DatabaseJavaRedis
0 likes · 9 min read
Production-Ready Idempotency for RocketMQ Duplicate Consumption (Full Code)
IT Services Circle
IT Services Circle
Dec 20, 2025 · Backend Development

Lenovo Backend Interview Secrets: Deadlocks, DNS, TLS & Java ArrayList

The article examines Lenovo’s 2023 graduate hiring salaries across cities, roles, and education levels, then shares a recent backend interview experience, detailing questions on deadlocks, networking layers, DNS resolution, TLS handshakes, common data structures, and Java’s ArrayList implementation, offering practical insights and recommendations.

Backend DevelopmentData StructuresInterview
0 likes · 19 min read
Lenovo Backend Interview Secrets: Deadlocks, DNS, TLS & Java ArrayList
Top Architect
Top Architect
Dec 20, 2025 · Backend Development

Master Null Checks in Java: When to Use StringUtils, ObjectUtils, and CollectionUtils

This article explains how to replace repetitive null‑checks in Java with the appropriate utility classes—StringUtils for strings, ObjectUtils for objects, arrays, lists and maps, and CollectionUtils for collections—providing step‑by‑step guidance, code examples, and a discussion of each method's limitations.

BestPracticesCollectionUtilsJava
0 likes · 8 min read
Master Null Checks in Java: When to Use StringUtils, ObjectUtils, and CollectionUtils
Tech Freedom Circle
Tech Freedom Circle
Dec 20, 2025 · Backend Development

How SpringBoot Loads Classes: Deep Dive into ClassLoaders and Bean Creation

This article dissects the SpringBoot class‑loading mechanism, explaining how the JVM parent‑delegation model is selectively overridden with custom class loaders like LaunchedURLClassLoader and RestartClassLoader, and how these changes integrate with Spring's bean lifecycle, auto‑configuration, and practical troubleshooting techniques.

AutoConfigurationBeanClassLoader
0 likes · 37 min read
How SpringBoot Loads Classes: Deep Dive into ClassLoaders and Bean Creation
Programmer1970
Programmer1970
Dec 19, 2025 · Industry Insights

Top 30 Must‑Watch Java Open‑Source Projects for 2025

This article ranks the 30 most popular Java open‑source projects in 2025, summarizing their stars, activity and core features while highlighting ecosystem trends such as AI integration, low‑code acceleration, cloud‑native maturity, domestic adoption and the evolution of microservice governance.

AIJavaMicroservices
0 likes · 9 min read
Top 30 Must‑Watch Java Open‑Source Projects for 2025
JavaGuide
JavaGuide
Dec 19, 2025 · Backend Development

IntelliJ IDEA 2025.3.1: Critical Fixes and the Rollback of Query Console

IntelliJ IDEA 2025.3.1 quickly follows the 2025.3 major release, fixing over 200 issues, reinstating the classic Query Console, addressing WSL‑related Java debugging problems, stabilizing Gradle/Maven sync for large multi‑module projects, improving Spring tooling, Java debugging, Kotlin‑MongoDB support, and correcting terminal and TypeScript bugs.

2025.3.1IntelliJ IDEAJava
0 likes · 6 min read
IntelliJ IDEA 2025.3.1: Critical Fixes and the Rollback of Query Console
LuTiao Programming
LuTiao Programming
Dec 18, 2025 · Backend Development

Think You Understand Exceptions? Senior Java Engineers’ Real Exception‑Handling Practices (99% Get It Wrong)

Most Java developers mistakenly equate writing try‑catch blocks with proper exception handling, leading to lost context, noisy logs, and fragile code, while senior engineers employ custom unchecked exceptions, a layered hierarchy, global handlers, RFC‑7807 responses, and observability tools to build predictable, traceable, and recoverable systems.

GlobalExceptionHandlerJavaRFC7807
0 likes · 8 min read
Think You Understand Exceptions? Senior Java Engineers’ Real Exception‑Handling Practices (99% Get It Wrong)
Architect
Architect
Dec 18, 2025 · Backend Development

Why Graceful Shutdown Is Essential for Spring Event and How to Avoid Common Pitfalls

This article shares hard‑learned production experience on using Spring Event, explaining why services must shut down gracefully before publishing events, how startup timing can cause event loss, which business scenarios fit the publish‑subscribe model, and practical reliability techniques such as retries and idempotency.

EventJavaSpring
0 likes · 11 min read
Why Graceful Shutdown Is Essential for Spring Event and How to Avoid Common Pitfalls
Code Ape Tech Column
Code Ape Tech Column
Dec 18, 2025 · Backend Development

How to Co‑exist Multiple DataSources in Spring Without Switching?

This guide explains the concept of multi‑DataSource coexistence, when it is appropriate, step‑by‑step configuration for MySQL and TDengine, transaction manager handling, custom annotations, mapper scanning, differences from dynamic routing, common pitfalls, and best‑practice usage in a Spring‑MyBatis backend.

JavaMulti-DataSourceMyBatis
0 likes · 13 min read
How to Co‑exist Multiple DataSources in Spring Without Switching?
Java Companion
Java Companion
Dec 18, 2025 · Backend Development

Building a High‑Performance Sensitive‑Word Filter with SpringBoot and DFA

This article explains why traditional string‑search and regex methods struggle with large keyword sets, introduces the deterministic finite automaton (DFA) approach using a Trie structure for linear‑time matching, provides full Java implementations, and discusses real‑world applications and advanced optimizations such as double‑array Tries, Aho‑Corasick, and sharding with Bloom filters.

AlgorithmDFAJava
0 likes · 17 min read
Building a High‑Performance Sensitive‑Word Filter with SpringBoot and DFA
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Dec 18, 2025 · Backend Development

Mastering Two-Phase Commit: Theory, XA & JTA in Java

This article explains why local transactions fail in micro‑service architectures, introduces the Two‑Phase Commit (2PC) protocol with its coordinator and participant roles, details each phase with examples, shows how XA and JTA implement 2PC in Java, and discusses its drawbacks and interview‑ready alternatives.

2PCDistributed TransactionsJTA
0 likes · 14 min read
Mastering Two-Phase Commit: Theory, XA & JTA in Java
Xiao Liu Lab
Xiao Liu Lab
Dec 17, 2025 · Cloud Native

Deploy SpringBoot JAR and Legacy WAR with Docker + Nginx in 5 Minutes

This guide shows how to containerize Java SpringBoot JAR or traditional WAR projects with Docker and Nginx, providing a unified, reproducible deployment pipeline that eliminates environment conflicts, simplifies port management, and enables seamless development‑to‑production transitions.

DockerDocker ComposeJava
0 likes · 13 min read
Deploy SpringBoot JAR and Legacy WAR with Docker + Nginx in 5 Minutes
Architecture Digest
Architecture Digest
Dec 17, 2025 · Backend Development

Why MyBatis-Flex Beats MyBatis-Plus: Features, Benchmarks, and Quick Start

MyBatis-Flex is a lightweight, high-performance MyBatis enhancement offering flexible CRUD, advanced QueryWrapper, extensive database support, and benchmarked speeds up to ten times faster than MyBatis-Plus, with a step-by-step quick-start guide covering table creation, Maven setup, Spring Boot configuration, entity mapping, and usage examples.

Backend DevelopmentDatabaseJava
0 likes · 9 min read
Why MyBatis-Flex Beats MyBatis-Plus: Features, Benchmarks, and Quick Start
Su San Talks Tech
Su San Talks Tech
Dec 17, 2025 · Fundamentals

What’s New in IntelliJ IDEA 2025.3 Unified Edition? A Feature Deep‑Dive

IntelliJ IDEA 2025.3 merges Ultimate and Community editions into a single installer, unlocks many formerly premium features for free users, adds command completion, full Java 25 support, a new Islands theme, AI enhancements, expanded framework integrations, and a suite of productivity plugins for modern development workflows.

AICommand CompletionIDE
0 likes · 12 min read
What’s New in IntelliJ IDEA 2025.3 Unified Edition? A Feature Deep‑Dive
Top Architect
Top Architect
Dec 17, 2025 · Backend Development

Zero‑Downtime SpringBoot Updates: Share the Same Port Between Old and New Instances

This article explains how to update a SpringBoot application without stopping the service by letting the old and new processes share the same port, detailing the underlying Tomcat and ServletContainerInitializer mechanisms, providing a step‑by‑step implementation and a demo for seamless zero‑downtime deployments.

JavaPortSharingServlet
0 likes · 10 min read
Zero‑Downtime SpringBoot Updates: Share the Same Port Between Old and New Instances
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Dec 17, 2025 · Backend Development

When to Share or Isolate Thread Pools? A Deep Dive for Java Backend Architects

This article explains the trade‑offs between using a shared thread pool and creating dedicated pools in Java backend services, outlines scenario‑based decision rules, provides concrete Spring‑Boot configuration examples, and offers advanced dynamic tuning and interview‑style Q&A for reliable concurrency management.

ConcurrencyJavaPerformance
0 likes · 14 min read
When to Share or Isolate Thread Pools? A Deep Dive for Java Backend Architects
Su San Talks Tech
Su San Talks Tech
Dec 17, 2025 · Backend Development

Secure Your Spring Boot Apps: Easy Config and Field Encryption with Jasypt

This guide explains why sensitive configuration and user data must be encrypted in Spring Boot projects, demonstrates how to use Jasypt for property‑level encryption and custom AOP‑based field masking, and dives into the underlying PBE algorithm and source‑code mechanics.

AOPConfiguration EncryptionField Masking
0 likes · 14 min read
Secure Your Spring Boot Apps: Easy Config and Field Encryption with Jasypt
FunTester
FunTester
Dec 17, 2025 · Backend Development

How Contract Testing with Pact Prevents API Breakages in Microservices

This article explains why traditional unit and integration tests miss cross‑team API mismatches in microservices, introduces contract testing with the Pact framework, shows consumer and provider test implementations, describes using a Pact Broker, and offers production‑grade strategies and best‑practice recommendations.

API CompatibilityCI/CDJava
0 likes · 10 min read
How Contract Testing with Pact Prevents API Breakages in Microservices
LuTiao Programming
LuTiao Programming
Dec 16, 2025 · Fundamentals

Stop Misusing Constants: Why Java Enums Are Replacing static final

The article explains why traditional static final String constants are error‑prone and demonstrates how Java enums—introduced in Java 5—provide stronger type safety, clearer semantics, built‑in methods, and safer switch handling, making them a superior modeling choice for fixed, related values.

DesignEnumJava
0 likes · 8 min read
Stop Misusing Constants: Why Java Enums Are Replacing static final
Woodpecker Software Testing
Woodpecker Software Testing
Dec 16, 2025 · Backend Development

Generating Password Recovery Backend Code with ChatGPT

This article walks through building a complete password‑recovery feature for a Java web application, detailing the workflow, database schema, validation logic, JSP integration, controller design, and optional email/SMS notification code generated by ChatGPT.

JSPJavaPassword Recovery
0 likes · 37 min read
Generating Password Recovery Backend Code with ChatGPT
Architecture Digest
Architecture Digest
Dec 16, 2025 · Backend Development

What’s New in IntelliJ IDEA 2025.3? 800+ Fixes and a Unified Release

IntelliJ IDEA 2025.3 introduces a unified distribution, extensive Spring and language support, improved Git integration, terminal and build tool enhancements, better web development handling for large monorepos, and numerous performance optimizations, all while fixing over 800 issues across the IDE.

Development ToolsIDEIntelliJ IDEA
0 likes · 6 min read
What’s New in IntelliJ IDEA 2025.3? 800+ Fixes and a Unified Release
macrozheng
macrozheng
Dec 16, 2025 · Backend Development

Master Spring Task: Build, Schedule, and Optimize Timed Jobs in Spring Boot

This guide explains what Spring Task is, walks through three steps to set up scheduled jobs in Spring Boot, demystifies Cron expressions, showcases common use cases, offers advanced configuration tips, warns about pitfalls, and outlines performance‑tuning and future directions for reliable backend scheduling.

Backend DevelopmentCronJava
0 likes · 9 min read
Master Spring Task: Build, Schedule, and Optimize Timed Jobs in Spring Boot
JakartaEE China Community
JakartaEE China Community
Dec 16, 2025 · Artificial Intelligence

Build a Retrieval‑Augmented Generation (RAG) System with Langchain4j and Ollama 3

This guide walks through the importance of Retrieval‑Augmented Generation, outlines the core Langchain4j and Ollama 3 components, and provides a complete Java example—including Maven setup, document ingestion, embedding creation, similarity search, prompt construction, and response generation—to demonstrate a functional RAG pipeline.

JavaLLMLangChain4j
0 likes · 9 min read
Build a Retrieval‑Augmented Generation (RAG) System with Langchain4j and Ollama 3
IT Services Circle
IT Services Circle
Dec 14, 2025 · Backend Development

What Lenovo Backend Interview Reveals: Salary Insights, Deadlock Basics, DNS, TLS Handshake, and Java ArrayList Deep Dive

This article shares Lenovo's 2026 graduate hiring salary breakdown, explains deadlock conditions and prevention, outlines DNS resolution steps, details the TLS handshake process, and provides an in‑depth guide to Java's ArrayList implementation, performance, and thread‑safety concerns.

DNSDeadlockJava
0 likes · 18 min read
What Lenovo Backend Interview Reveals: Salary Insights, Deadlock Basics, DNS, TLS Handshake, and Java ArrayList Deep Dive
IT Services Circle
IT Services Circle
Dec 14, 2025 · Backend Development

Why Do Companies Still Stick to JDK 8 When JDK 25 Is Available?

Despite the release of JDK 25, many enterprises continue using JDK 8 due to compatibility challenges, mature ecosystem, stability, team familiarity, third‑party library support, performance trade‑offs, and cost considerations, making the upgrade decision a complex balance of technical and business factors.

Enterprise DevelopmentJDKJava
0 likes · 17 min read
Why Do Companies Still Stick to JDK 8 When JDK 25 Is Available?
Architect's Tech Stack
Architect's Tech Stack
Dec 14, 2025 · Backend Development

Why Our Custom Snowflake ID Generator Failed and How to Build a Reliable One

A recent production incident revealed duplicate order IDs caused by a home‑grown Snowflake implementation that misused timestamps, IP‑based business IDs, and unconfigured worker/data‑center IDs, leading to collisions; the article analyzes the flaws, shares lessons, and recommends proven libraries and proper ID‑generation strategies.

Javabackendbest practices
0 likes · 7 min read
Why Our Custom Snowflake ID Generator Failed and How to Build a Reliable One
Dunmao Tech Hub
Dunmao Tech Hub
Dec 14, 2025 · Backend Development

Integrating Netty into Spring Boot for Custom Protocol Support

This guide explains how to embed the Netty framework within a Spring Boot application to handle custom protocols, covering Netty basics, Maven dependencies, server bootstrap configuration, custom decoder implementation, and event handler setup for robust, high‑performance asynchronous communication.

Backend DevelopmentJavaNetty
0 likes · 13 min read
Integrating Netty into Spring Boot for Custom Protocol Support