Tagged articles

Java

5000 articles · Page 27 of 50
Java Architect Essentials
Java Architect Essentials
Mar 18, 2025 · Backend Development

Optimizing Spring Boot Startup Time: Interventions, Configuration Tweaks, and Performance Tips

This article provides a comprehensive guide to speeding up Spring Boot application startup by explaining configuration principles, code‑level interventions, lazy loading, dependency reduction, auto‑configuration exclusion, logging adjustments, compile‑time optimizations, and caching strategies, all illustrated with practical Java examples.

Backend DevelopmentJavaPerformance Tuning
0 likes · 30 min read
Optimizing Spring Boot Startup Time: Interventions, Configuration Tweaks, and Performance Tips
Lin is Dream
Lin is Dream
Mar 18, 2025 · Information Security

Master OpenSSL on CentOS: Install, Upgrade, and Generate RSA/SM2 Keys

This article explains OpenSSL’s origins, its role in encryption on CentOS, common use cases such as web servers and database security, provides step‑by‑step installation and upgrade commands, and demonstrates how to generate RSA, SM2, AES, and SM4 keys via the OpenSSL command line and Java alternatives.

CentOSEncryptionJava
0 likes · 8 min read
Master OpenSSL on CentOS: Install, Upgrade, and Generate RSA/SM2 Keys
Architecture Digest
Architecture Digest
Mar 18, 2025 · Fundamentals

Understanding Java foreach Loop, HashMap Iteration, and ConcurrentModificationException

This article explains how Java's foreach loop is implemented using iterators, demonstrates the bytecode differences between array and collection traversal, analyzes why modifying a HashMap during foreach can trigger ConcurrentModificationException, and shows the correct way to safely modify collections with an iterator.

CollectionsConcurrentModificationExceptionHashMap
0 likes · 11 min read
Understanding Java foreach Loop, HashMap Iteration, and ConcurrentModificationException
Java Captain
Java Captain
Mar 18, 2025 · Backend Development

Refactoring Spring MVC Controllers: Unified Response Structure, Parameter Validation, and Centralized Exception Handling

This article explains how to refactor the Spring MVC Controller layer by standardizing response structures, implementing unified response wrapping via ResponseBodyAdvice, handling String conversion issues, applying JSR‑303 parameter validation, creating custom validation rules, and defining custom exceptions with centralized exception handling to simplify controller code.

ControllerJavaResponseBodyAdvice
0 likes · 17 min read
Refactoring Spring MVC Controllers: Unified Response Structure, Parameter Validation, and Centralized Exception Handling
IT Services Circle
IT Services Circle
Mar 18, 2025 · Backend Development

Why Debugging a Simple ConcurrentLinkedQueue Triggers a NullPointerException in IntelliJ IDEA

The article recounts a puzzling case where a minimal Java program using ConcurrentLinkedQueue runs fine normally but throws a NullPointerException when debugged in IntelliJ IDEA, explains the underlying cause involving the IDE's automatic toString invocation, and shows how to disable the offending settings.

ConcurrentLinkedQueueIntelliJ IDEAJava
0 likes · 9 min read
Why Debugging a Simple ConcurrentLinkedQueue Triggers a NullPointerException in IntelliJ IDEA
Architect's Must-Have
Architect's Must-Have
Mar 18, 2025 · Backend Development

Why Netty Uses FastThreadLocal and How It Outperforms JDK ThreadLocal

This article explains the motivation behind Netty's FastThreadLocal, details its internal design using an indexed array to avoid hash collisions, analyzes the core source code of InternalThreadLocalMap, FastThreadLocalThread, and FastThreadLocal, and discusses performance implications and reclamation strategies.

ConcurrencyFastThreadLocalJava
0 likes · 10 min read
Why Netty Uses FastThreadLocal and How It Outperforms JDK ThreadLocal
Tencent Cloud Developer
Tencent Cloud Developer
Mar 18, 2025 · Fundamentals

Java vs Go: Syntax, OOP, Error Handling, Concurrency, Garbage Collection and Performance Comparison

The article compares Java and Go across syntax, variable declaration, object‑oriented features, error handling, concurrency models, garbage collection, resource usage, and ecosystem maturity, concluding that Go offers simpler code, lightweight concurrency and lower overhead, while Java provides a richer library ecosystem and more mature tooling, making the choice dependent on project requirements.

ConcurrencyError handlingGarbage Collection
0 likes · 26 min read
Java vs Go: Syntax, OOP, Error Handling, Concurrency, Garbage Collection and Performance Comparison
Programmer Xu Shu
Programmer Xu Shu
Mar 17, 2025 · Backend Development

From CRUD to AI: How Java Backend Developers Can Future‑Proof Their Careers

Amid the AI wave, Java backend developers focused solely on CRUD face replacement by automation, but by deepening business expertise, enhancing soft skills, gaining project experience, and expanding into AI and new technologies, they can transform their roles and stay valuable in the evolving software industry.

AI integrationCareer AdviceJava
0 likes · 8 min read
From CRUD to AI: How Java Backend Developers Can Future‑Proof Their Careers
Architecture Digest
Architecture Digest
Mar 17, 2025 · Backend Development

Dynamic Service Provider Switching with spring-smart-di and AutowiredProxySPI

This article explains how to dynamically switch between multiple service providers in a Spring backend by configuring identifiers, using spring-smart-di's AutowiredProxySPI and related annotations, and provides step‑by‑step code examples for seamless, runtime‑configurable dependency injection.

Dependency InjectionJavaSpring
0 likes · 9 min read
Dynamic Service Provider Switching with spring-smart-di and AutowiredProxySPI
Lin is Dream
Lin is Dream
Mar 17, 2025 · Backend Development

How Web Containers Stay Alive: Inside Java Servlets, Netty, and Sockets

Web containers, such as Tomcat, keep running by continuously listening on network ports with socket servers and thread pools, handling I/O requests; this article explains the role of the main function, servlet lifecycle, Netty’s NIO framework, and why WebFlux‑based gateways outperform traditional Tomcat setups.

JavaNettyServlet
0 likes · 5 min read
How Web Containers Stay Alive: Inside Java Servlets, Netty, and Sockets
Cognitive Technology Team
Cognitive Technology Team
Mar 17, 2025 · Backend Development

Static Code Analysis and Change Impact Assessment for Financial Risk Prevention

This article presents a comprehensive overview of using static analysis and change‑impact techniques—including program slicing, variable lineage, and automated field mapping—to reduce risk‑related incidents in large‑scale financial systems by more than 50%, outlining the background, solution architecture, implementation steps, and optimization challenges.

Javachange impactprogram slicing
0 likes · 13 min read
Static Code Analysis and Change Impact Assessment for Financial Risk Prevention
Top Architecture Tech Stack
Top Architecture Tech Stack
Mar 17, 2025 · Backend Development

JVM Parameter Tuning for a Platform Handling 1 Million Daily Login Requests on an 8 GB Service Node

This article explains how to size and configure JVM options—including heap size, young generation, GC algorithm, thread stack, and metaspace—for a backend service that processes one million login requests per day on an 8 GB machine, providing step‑by‑step calculations, practical examples, and optimization tips.

Garbage CollectionJVMJava
0 likes · 24 min read
JVM Parameter Tuning for a Platform Handling 1 Million Daily Login Requests on an 8 GB Service Node
IT Services Circle
IT Services Circle
Mar 16, 2025 · Backend Development

Comprehensive Java Backend Interview Guide: Redis, Spring Boot, Annotations, Git, Exceptions, Java 8, HashMap, Docker, and CI/CD

This article provides a detailed Java backend interview guide covering Redis cache problems and solutions, Spring Boot startup process, common annotations, Git workflow commands, Java exception hierarchy, Java 8 enhancements, HashMap implementation, Docker containerization, and Jenkins CI/CD practices, along with practical examples and code snippets.

Backend DevelopmentCI/CDDocker
0 likes · 19 min read
Comprehensive Java Backend Interview Guide: Redis, Spring Boot, Annotations, Git, Exceptions, Java 8, HashMap, Docker, and CI/CD
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Mar 16, 2025 · Backend Development

Master Spring Boot 3 Parameter Validation with Real‑World Code Examples

This article introduces annotation‑based parameter validation in Spring Boot 3, explains built‑in constraints, shows how to use @Valid and @Validated in controllers, and provides multiple practical code snippets—including record types, error handling, collection validation, and return‑value checks—along with screenshots of validation errors.

Backend DevelopmentJavaSpring Boot
0 likes · 7 min read
Master Spring Boot 3 Parameter Validation with Real‑World Code Examples
FunTester
FunTester
Mar 16, 2025 · Backend Development

Implementing Gender-Based Rest Periods in a Supermarket Checkout Simulation (Third Round)

The article describes how a Java-based supermarket checkout performance test was refined by adding gender-specific rest intervals—2 minutes for male cashiers and 5 minutes for female cashiers—through code changes that introduce a gender attribute, rest logic, and integration into the test workflow.

JavaMultithreadingRest Scheduling
0 likes · 5 min read
Implementing Gender-Based Rest Periods in a Supermarket Checkout Simulation (Third Round)
Java Tech Enthusiast
Java Tech Enthusiast
Mar 15, 2025 · Cloud Native

Comparative Analysis of Spring Boot and Quarkus for Cloud‑Native Java Applications

The article compares Spring Boot and Quarkus for cloud‑native Java apps, showing Quarkus’s faster startup, smaller builds and lower memory usage (especially in native mode) while Spring Boot slightly leads latency, and outlines migration paths leveraging Quarkus’s Spring‑compatible extensions and native‑image advantages.

JavaPerformanceQuarkus
0 likes · 14 min read
Comparative Analysis of Spring Boot and Quarkus for Cloud‑Native Java Applications
Architect's Tech Stack
Architect's Tech Stack
Mar 15, 2025 · Backend Development

Using a Flow Engine and Plugin Extension for Business Isolation and Extensibility

The article explains why simple code quickly becomes unmanageable in multi‑business systems, introduces workflow engines and plugin extensions as solutions, and demonstrates configuration, node definition, execution, and the underlying Java implementation to achieve clean, isolated, and extensible business logic.

Business IsolationJavaflow engine
0 likes · 6 min read
Using a Flow Engine and Plugin Extension for Business Isolation and Extensibility
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Mar 15, 2025 · Artificial Intelligence

Integrating DeepSeek Large Model with SpringAI in Java Applications

This article provides a concise guide on using SpringAI to connect Java applications with the domestic large‑language model DeepSeek, covering design philosophy, configuration, code examples for chat, streaming, structured output, security hardening, performance tuning, and production best practices.

AI integrationBackend DevelopmentChatClient
0 likes · 9 min read
Integrating DeepSeek Large Model with SpringAI in Java Applications
FunTester
FunTester
Mar 15, 2025 · Operations

Simulating Elderly Checkout Times with ThreadLocalRandom in Java

The article revises a supermarket checkout performance test by incorporating elderly customers who take twice as long to pay, demonstrates using Java's ThreadLocalRandom to randomly assign customer age groups, modifies the pay() method to double payment time for seniors, and explains why realistic scenarios improve testing accuracy.

ConcurrencyJavaSimulation
0 likes · 4 min read
Simulating Elderly Checkout Times with ThreadLocalRandom in Java
Java Tech Enthusiast
Java Tech Enthusiast
Mar 14, 2025 · Backend Development

RocketMQ Message Tracing: Concepts, Configuration, and Implementation

RocketMQ’s message tracing feature records each message’s full lifecycle—including producer, broker, and consumer details such as timestamps, latency, and success flags—by enabling traceTopicEnable, creating an internal RMQ_SYS_TRACE_TOPIC, and allowing custom trace topics for fast diagnostics, end‑to‑end tracking, monitoring, and audit compliance.

JavaMessage QueueMessage Tracing
0 likes · 7 min read
RocketMQ Message Tracing: Concepts, Configuration, and Implementation
Architecture Digest
Architecture Digest
Mar 14, 2025 · Backend Development

Spring Boot vs Quarkus: Performance Comparison, Migration Guide, and Practical Code Samples

This article compares Spring Boot and Quarkus across architecture, startup speed, memory usage, and native image support, presents a JMeter‑based performance test suite, shares migration tips for Spring developers, and provides concrete Java code examples for building reactive microservices on both frameworks.

JavaKubernetesNative Image
0 likes · 13 min read
Spring Boot vs Quarkus: Performance Comparison, Migration Guide, and Practical Code Samples
JD Tech Talk
JD Tech Talk
Mar 14, 2025 · Backend Development

Analysis of Java Thread States, Flame Graphs, and Performance Optimizations

The article examines Java thread states—WAITING and TIMED_WAITING—through monitoring screenshots, explains their definitions, trigger conditions, and recovery mechanisms, analyzes real‑world code involving concurrent tasks, and presents flame‑graph based performance optimizations for backend services.

Javaflame graphperformance profiling
0 likes · 10 min read
Analysis of Java Thread States, Flame Graphs, and Performance Optimizations
Code Ape Tech Column
Code Ape Tech Column
Mar 14, 2025 · Backend Development

Eight Common Use Cases of Message Queues in Backend Development

This article explores eight common scenarios for using message queues in backend development, covering asynchronous processing, service decoupling, traffic shaping, delayed tasks, log aggregation, distributed transactions, remote calls, and broadcast notifications, each illustrated with Java, RocketMQ, and Kafka code examples.

JavaKafkaMQ
0 likes · 15 min read
Eight Common Use Cases of Message Queues in Backend Development
Practical DevOps Architecture
Practical DevOps Architecture
Mar 14, 2025 · Backend Development

Comprehensive Java Senior Engineer Curriculum: Architecture Design, System Optimization, and Advanced Topics

This curriculum outlines a 25‑week advanced Java engineering program covering performance optimization, JVM internals, concurrency, distributed storage, MySQL and NoSQL databases, Docker, Kubernetes, microservices, Spring framework deep dives, Nginx, Elasticsearch, Redis, messaging systems, CI/CD tools, and hands‑on project implementation to build high‑performance, scalable backend systems.

DockerJVMJava
0 likes · 3 min read
Comprehensive Java Senior Engineer Curriculum: Architecture Design, System Optimization, and Advanced Topics
Code Ape Tech Column
Code Ape Tech Column
Mar 13, 2025 · Backend Development

Understanding CRaC: Fast JVM Startup with Checkpoint/Restore

This article explains the CRaC (Coordinated Restore at Checkpoint) technology for Java applications, describing its principles, supported environments, practical steps for enabling it with Spring Boot, and use‑case scenarios that dramatically reduce JVM startup time.

CRaCJVMJava
0 likes · 9 min read
Understanding CRaC: Fast JVM Startup with Checkpoint/Restore
Tencent Cloud Developer
Tencent Cloud Developer
Mar 13, 2025 · Backend Development

Modern Java Features: Lambda, Stream API, Project Loom, Panama, and Valhalla

Modern Java introduces lambda expressions and the Stream API for functional programming, while upcoming projects—Loom’s virtual threads, Panama’s foreign function and memory API, and Valhalla’s value classes and generic specialization—address concurrency, native interop, and performance, dramatically enhancing developer productivity and language capabilities.

JavaLambdaProject Loom
0 likes · 18 min read
Modern Java Features: Lambda, Stream API, Project Loom, Panama, and Valhalla
IT Services Circle
IT Services Circle
Mar 13, 2025 · Backend Development

Common Pitfalls When Using CompletableFuture in Java

This article introduces the advantages of Java's CompletableFuture and systematically outlines six common pitfalls—including default thread‑pool issues, exception handling, timeout management, thread‑local context loss, callback hell, and task‑ordering problems—while providing correct code examples and best‑practice recommendations.

CompletableFutureExceptionHandlingJava
0 likes · 10 min read
Common Pitfalls When Using CompletableFuture in Java
Top Architecture Tech Stack
Top Architecture Tech Stack
Mar 13, 2025 · Backend Development

JDFrame/SDFrame: A JVM‑Level DataFrame‑like API for Simplified Stream Processing in Java

This article introduces JDFrame/SDFrame, a Java library that provides a DataFrame‑style, semantic API for JVM‑level stream processing, demonstrates quick start with Maven dependency, and showcases extensive examples covering filtering, aggregation, distinct, grouping, sorting, joining, partitioning, ranking, and data replenishment, helping developers write concise, readable data‑processing code.

APIJDFrameJava
0 likes · 17 min read
JDFrame/SDFrame: A JVM‑Level DataFrame‑like API for Simplified Stream Processing in Java
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Mar 13, 2025 · Backend Development

Master Java Code Analysis with JavaParser: Real‑World Examples

This article introduces JavaParser, an open‑source library for parsing Java source code into an AST, and walks through practical cases covering dependency setup, basic parsing, class and method extraction, code modification, class generation, and comprehensive analysis with code snippets and output screenshots.

ASTJavaJavaParser
0 likes · 10 min read
Master Java Code Analysis with JavaParser: Real‑World Examples
Lobster Programming
Lobster Programming
Mar 13, 2025 · Backend Development

Why Spring @Transactional Sometimes Fails: 12 Common Pitfalls and Fixes

This article explains how Spring's declarative transaction management works, why the @Transactional annotation can unexpectedly become ineffective, and presents twelve typical scenarios—such as internal method calls, non‑public methods, final/static modifiers, proxy issues, and incorrect propagation settings—along with practical solutions to ensure reliable transaction handling.

AOPJavaSpring
0 likes · 12 min read
Why Spring @Transactional Sometimes Fails: 12 Common Pitfalls and Fixes
Architect
Architect
Mar 12, 2025 · Backend Development

DataSource Switching in Spring Boot with ThreadLocal & AbstractRoutingDataSource

Facing the need to query multiple databases in a Spring Boot application, this guide walks through building a custom dynamic datasource solution using ThreadLocal and AbstractRoutingDataSource, covering core implementations, annotation‑based switching, dynamic datasource addition, configuration, and comprehensive test results.

JavaSpring BootThreadLocal
0 likes · 18 min read
DataSource Switching in Spring Boot with ThreadLocal & AbstractRoutingDataSource
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Mar 12, 2025 · Backend Development

Deep Dive into MyBatis Core Components: Executor, StatementHandler, ParameterHandler, and ResultSetHandler

This article provides a comprehensive, English-language walkthrough of MyBatis's four core components—Executor, StatementHandler, ParameterHandler, and ResultSetHandler—explaining their interfaces, default implementations, key methods, and how they collaborate to translate Java objects into SQL statements and process query results.

ExecutorJavaMyBatis
0 likes · 21 min read
Deep Dive into MyBatis Core Components: Executor, StatementHandler, ParameterHandler, and ResultSetHandler
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Mar 12, 2025 · Backend Development

10 Proven Spring Boot 3 Performance Tweaks to Supercharge Your Apps

Discover ten validated Spring Boot 3 performance optimization techniques—including lazy initialization, JVM tuning, connection pooling, caching, async processing, virtual threads, and Actuator monitoring—complete with configuration snippets and code examples, to accelerate startup, reduce memory usage, and improve response times for Java backend services.

JavaOptimizationPerformance Tuning
0 likes · 9 min read
10 Proven Spring Boot 3 Performance Tweaks to Supercharge Your Apps
Java Web Project
Java Web Project
Mar 12, 2025 · Backend Development

Accelerate Java API Development with Magic‑API: A Hands‑On Guide

This article introduces Magic‑API, a Java‑based rapid API development framework, outlines its extensive feature set, and provides step‑by‑step instructions—including Maven integration, configuration, and visual UI usage—to help developers create HTTP endpoints without writing traditional controller or DAO code.

APIBackend DevelopmentJava
0 likes · 5 min read
Accelerate Java API Development with Magic‑API: A Hands‑On Guide
Code Ape Tech Column
Code Ape Tech Column
Mar 12, 2025 · Backend Development

AviatorScript: Features, Usage, and Spring Boot Integration for Expression Evaluation and Validation

This article introduces AviatorScript, a lightweight high‑performance JVM‑based scripting language, outlines its core features and limitations, demonstrates how to add it to a Maven project, shows expression evaluation, variable handling, custom functions, script files, and provides a practical Spring Boot AOP validation example with full code snippets.

AOPExpression EngineJava
0 likes · 18 min read
AviatorScript: Features, Usage, and Spring Boot Integration for Expression Evaluation and Validation
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Mar 12, 2025 · Backend Development

What Are GC Roots? Understanding JVM Garbage Collection Basics

The article explains the concept of GC Roots in the JVM, detailing the four main types—stack variables, static fields, constant pool references, and JNI references—along with code examples, and describes how these roots determine object liveness during garbage collection.

GC RootsGarbage CollectionJVM
0 likes · 7 min read
What Are GC Roots? Understanding JVM Garbage Collection Basics
Java Architect Essentials
Java Architect Essentials
Mar 11, 2025 · Information Security

Integrating Apache Tika with Spring Boot for Sensitive Information Detection and Data Leakage Prevention

This article demonstrates how to integrate Apache Tika into a Spring Boot application to automatically extract file content, detect sensitive data such as ID numbers, credit cards, and phone numbers using regex, and implement data leakage protection through RESTful file upload endpoints and optional front‑end UI.

Apache TikaJavaSpring Boot
0 likes · 24 min read
Integrating Apache Tika with Spring Boot for Sensitive Information Detection and Data Leakage Prevention
Java Architect Essentials
Java Architect Essentials
Mar 11, 2025 · Backend Development

Process Orchestration and Plugin Extension for Business Isolation and Extensibility in Backend Systems

The article explains why excessive if‑else logic harms maintainability, introduces flow‑engine and plugin‑extension techniques to isolate business code and enable flexible extensions, demonstrates their implementation in the open‑source MemberClub project with configuration, node definitions, execution flow, and source code examples.

JavaProcess Orchestrationbackend-architecture
0 likes · 8 min read
Process Orchestration and Plugin Extension for Business Isolation and Extensibility in Backend Systems
macrozheng
macrozheng
Mar 11, 2025 · Backend Development

Boost Java Loop Performance: Replace Nested Loops with Map Lookups

This article demonstrates how to dramatically speed up Java data‑matching operations that use nested for‑loops by breaking early when a match is found and by converting the inner list into a HashMap for O(1) lookups, showing code examples, performance measurements, and practical tips for backend developers.

HashMapJavaNested Loop
0 likes · 7 min read
Boost Java Loop Performance: Replace Nested Loops with Map Lookups
Top Architecture Tech Stack
Top Architecture Tech Stack
Mar 11, 2025 · Fundamentals

Understanding Java BigDecimal: How It Guarantees Precision

This article explains the Java BigDecimal class, its internal fields, and how its addition method scales numbers to maintain precision, illustrated with code examples and debugging insights, concluding that BigDecimal performs arithmetic using scaled long integers to avoid precision loss.

ArithmeticBigDecimalJava
0 likes · 6 min read
Understanding Java BigDecimal: How It Guarantees Precision
Architect's Tech Stack
Architect's Tech Stack
Mar 10, 2025 · Backend Development

Improving Spring Boot Controllers: From Messy to Elegant with @Valid and Global Exception Handling

This article examines common pitfalls in Spring Boot controller implementations—such as excessive try‑catch blocks, inline validation, and business logic—then demonstrates cleaner alternatives using @Valid, validation annotations, and global exception handling to produce concise, maintainable controllers.

ControllerJavaSpring Boot
0 likes · 8 min read
Improving Spring Boot Controllers: From Messy to Elegant with @Valid and Global Exception Handling
Architecture Digest
Architecture Digest
Mar 10, 2025 · Backend Development

Implementing a Plugin Architecture in Java and Spring Boot Using SPI and Spring Factories

This article explains how to design and implement a flexible plugin mechanism for Java applications, covering the benefits of decoupling, common implementation strategies such as ServiceLoader (SPI), custom configuration loading, and Spring Boot integration via spring.factories, with complete code examples and a real‑world case study.

Dependency InjectionJavaPlugin
0 likes · 19 min read
Implementing a Plugin Architecture in Java and Spring Boot Using SPI and Spring Factories
Su San Talks Tech
Su San Talks Tech
Mar 10, 2025 · Fundamentals

Generate All k-Number Combinations from 1 to n (LeetCode 77)

This article explains LeetCode problem 77, describing how to generate every possible combination of k numbers from the range 1 to n using backtracking, and provides complete Java, C++, and Python implementations along with a brief analysis and constraints.

BacktrackingC++Java
0 likes · 6 min read
Generate All k-Number Combinations from 1 to n (LeetCode 77)
Code Ape Tech Column
Code Ape Tech Column
Mar 10, 2025 · Backend Development

Dynamic Service Provider Switching with spring-smart-di and AutowiredProxySPI

This article explains how to dynamically switch between multiple service providers, such as SMS vendors, in a Spring‑based backend by using spring‑smart‑di's @AutowiredProxySPI and related annotations, covering configuration, Maven dependency, enabling the feature, and custom proxy implementations.

Dependency InjectionJavaSpring
0 likes · 9 min read
Dynamic Service Provider Switching with spring-smart-di and AutowiredProxySPI
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
Mar 10, 2025 · Backend Development

How to Gracefully Shut Down a Spring Boot Application

This article explains why force‑killing a Spring Boot process is unsafe and walks through four practical ways—using Actuator, ApplicationContext.close(), PID‑based kill commands, and SpringApplication.exit()—to achieve a graceful shutdown while preserving in‑flight tasks and releasing resources.

ApplicationContextGraceful ShutdownJava
0 likes · 9 min read
How to Gracefully Shut Down a Spring Boot Application
Java Architect Essentials
Java Architect Essentials
Mar 9, 2025 · Backend Development

Building an AI-Powered Chatbot with Spring Boot and DeepSeek

This tutorial demonstrates how to create an AI-driven Spring Boot application by integrating DeepSeek's large language model, covering project setup, dependency configuration, API key management, and implementing a REST controller that provides weather forecasts via a conversational interface.

AIChatbotDeepSeek
0 likes · 8 min read
Building an AI-Powered Chatbot with Spring Boot and DeepSeek
Cognitive Technology Team
Cognitive Technology Team
Mar 9, 2025 · Backend Development

Understanding wait() and notify() in Java Multithreading

This article explains the concepts, usage conditions, execution flow, internal mechanisms, and best‑practice guidelines for Java's wait() and notify() methods, illustrated with a producer‑consumer example and code snippets for safe thread coordination.

ConcurrencyJavaNotify
0 likes · 6 min read
Understanding wait() and notify() in Java Multithreading
Cognitive Technology Team
Cognitive Technology Team
Mar 9, 2025 · Fundamentals

Understanding Concurrency Levels: Blocking, Starvation‑Free, Obstruction‑Free, Lock‑Free, and Wait‑Free in Java

The article explains five fundamental concurrency levels—Blocking, Starvation‑Free, Obstruction‑Free, Lock‑Free, and Wait‑Free—detailing their definitions, implementation mechanisms in Java, performance trade‑offs, suitable scenarios, and practical decision guidance for building high‑performance, reliable systems.

JavaMultithreadinghigh‑concurrency
0 likes · 6 min read
Understanding Concurrency Levels: Blocking, Starvation‑Free, Obstruction‑Free, Lock‑Free, and Wait‑Free in Java
Java One
Java One
Mar 9, 2025 · Backend Development

What’s Behind Java’s I/O: From BIO to Epoll and Beyond

This article explains the fundamentals of I/O in Unix and Java, covering the distinction between user and kernel space, the five Unix I/O models, the evolution from select/poll to epoll/kqueue, and how modern network frameworks like Reactor and Proactor leverage these mechanisms for high‑performance networking.

IOJavaNIO
0 likes · 16 min read
What’s Behind Java’s I/O: From BIO to Epoll and Beyond
IT Services Circle
IT Services Circle
Mar 9, 2025 · Backend Development

Understanding RocketMQ Message Tracing: Concepts, Configuration, and Custom TraceTopic Implementation

This article explains RocketMQ's message tracing feature, covering its definition, key data attributes, core benefits, configuration steps for both normal and IO‑isolated modes, the underlying implementation mechanism, supported trace topics, and provides complete Java code examples for custom TraceTopic usage and verification.

JavaMessage TracingRocketMQ
0 likes · 11 min read
Understanding RocketMQ Message Tracing: Concepts, Configuration, and Custom TraceTopic Implementation
Top Architect
Top Architect
Mar 9, 2025 · Backend Development

Using Undertow as an Alternative to Tomcat in SpringBoot: Features, Configuration, and Performance Comparison

This article explains how SpringBoot’s default embedded Tomcat can be replaced with the high‑performance Undertow server, shows the necessary Maven dependencies, lists Undertow’s key features, presents benchmark results comparing QPS and memory usage, and concludes with recommendations for high‑concurrency applications while also noting related AI‑product promotions.

JavaUndertowtomcat
0 likes · 10 min read
Using Undertow as an Alternative to Tomcat in SpringBoot: Features, Configuration, and Performance Comparison
Su San Talks Tech
Su San Talks Tech
Mar 9, 2025 · Backend Development

Mastering Sentinel: A Deep Dive into Alibaba’s Traffic Governance Engine

This article revisits Sentinel, Alibaba’s open‑source traffic‑governance component, explaining its core concepts, resource and rule definitions, step‑by‑step demos for basic and Spring integration, and a detailed walkthrough of its internal processor slots, statistics nodes, flow control, and degradation mechanisms.

Flow ControlJavaSentinel
0 likes · 20 min read
Mastering Sentinel: A Deep Dive into Alibaba’s Traffic Governance Engine
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Mar 9, 2025 · Backend Development

Spring Boot 3 Security Tutorial: AOP, Custom Annotations & JWT

This article presents a continuously updated collection of over 100 Spring Boot 3 practical cases, demonstrating how to implement permission authentication using Spring AOP, custom annotations, JWT utilities, interceptors, a global exception handler, a security context, and a custom argument resolver, complete with test examples and screenshots.

AOPJWTJava
0 likes · 12 min read
Spring Boot 3 Security Tutorial: AOP, Custom Annotations & JWT
Architect's Guide
Architect's Guide
Mar 9, 2025 · Backend Development

Generating PDF Templates with iText in Java: A Step‑by‑Step Tutorial

This article demonstrates how to create a PDF template by first designing a Word document, converting it to PDF, inserting text, option, and image fields using a PDF editor, and then programmatically filling those fields with Java iText code, including dependency setup and image insertion.

JavaPDFbackend
0 likes · 7 min read
Generating PDF Templates with iText in Java: A Step‑by‑Step Tutorial
Code Ape Tech Column
Code Ape Tech Column
Mar 8, 2025 · Information Security

Enterprise Data Desensitization Solutions Using MyBatis and Fastjson

The article explains why data desensitization is essential for enterprises, classifies common masking techniques, and provides concrete implementation guides for database, log, and output level masking in Java applications using MyBatis plugins and Fastjson filters, complete with sample code and configuration.

Backend SecurityData MaskingEncryption
0 likes · 12 min read
Enterprise Data Desensitization Solutions Using MyBatis and Fastjson
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Mar 8, 2025 · Backend Development

Simplify Spring Boot 3 HTTP Calls with RestTemplateAdapter & RestClientAdapter

An extensive Spring Boot 3 case collection featuring over 100 practical examples is now available, accompanied by a detailed tutorial that demonstrates how RestTemplateAdapter and RestClientAdapter simplify HTTP request handling, improve code readability, and ensure seamless integration with third‑party APIs, with a commitment to permanent updates.

Backend DevelopmentHTTPJava
0 likes · 8 min read
Simplify Spring Boot 3 HTTP Calls with RestTemplateAdapter & RestClientAdapter
FunTester
FunTester
Mar 8, 2025 · Backend Development

How to Add Real‑Time TPS and Latency Display to a Java Performance Test Engine

Implementing real‑time statistics in a Java performance testing engine involves adding TPS and average latency counters, creating a controllable monitoring thread, using LongAdder for high‑concurrency metrics, and gracefully shutting down the thread, enabling testers to instantly observe system load and detect bottlenecks.

JavaMultithreadinglongadder
0 likes · 6 min read
How to Add Real‑Time TPS and Latency Display to a Java Performance Test Engine
ITPUB
ITPUB
Mar 8, 2025 · Backend Development

Why Does 2.01 Turn Into 2.00? Avoid Double Precision Bugs in Money Calculations

The article explains how using double for monetary values can cause precision loss—turning 2.01 into 2.00—illustrates the binary representation issue, demonstrates failing code, and presents a robust solution using Java's BigDecimal with sample conversion methods and performance tests.

BigDecimalJavaMoney
0 likes · 6 min read
Why Does 2.01 Turn Into 2.00? Avoid Double Precision Bugs in Money Calculations
Java Architect Essentials
Java Architect Essentials
Mar 7, 2025 · Artificial Intelligence

Introducing DeepSeek4j 1.4: A Java Spring Boot Integration for DeepSeek AI with Chain‑of‑Thought and Streaming Support

The article introduces DeepSeek4j 1.4, a Java Spring Boot library that overcomes existing framework limitations by preserving DeepSeek's chain‑of‑thought capabilities, adding full reactive streaming, and providing a simple one‑line API along with quick‑start instructions and code examples.

AI integrationDeepSeekJava
0 likes · 5 min read
Introducing DeepSeek4j 1.4: A Java Spring Boot Integration for DeepSeek AI with Chain‑of‑Thought and Streaming Support
21CTO
21CTO
Mar 7, 2025 · Artificial Intelligence

AI's Impact on Java Development: Key Findings from the 2025 Perforce Report

An analysis of Perforce's 2025 Java Developer Productivity Report reveals that over half of Java developers face deployment delays and tool shortages, while AI tools like ChatGPT and GitHub Copilot are increasingly adopted for code completion, refactoring, and documentation, signaling a strategic shift toward AI in Java development.

Artificial IntelligenceIDEJava
0 likes · 10 min read
AI's Impact on Java Development: Key Findings from the 2025 Perforce Report
Java Tech Enthusiast
Java Tech Enthusiast
Mar 7, 2025 · Backend Development

Implementing a Responsibility Chain Pattern with Spring Boot and MyBatis Plus

The article demonstrates how to build a dynamic Chain of Responsibility in a Spring Boot and MyBatis‑Plus application by defining an abstract handler, implementing concrete @Component beans that modify a shared Lombok‑based context, retrieving them via an ApplicationContext‑aware proxy utility, and invoking them in a client‑specified order through a REST endpoint, while suggesting LiteFlow as a production alternative.

JavaREST APISpring Boot
0 likes · 9 min read
Implementing a Responsibility Chain Pattern with Spring Boot and MyBatis Plus
Code Ape Tech Column
Code Ape Tech Column
Mar 7, 2025 · Backend Development

Using Spring's ResponseBodyEmitter for Real‑Time Streaming Responses

This article introduces Spring Framework's ResponseBodyEmitter, explains its advantages over SSE for asynchronous HTTP responses, demonstrates practical usage with a real‑time log‑streaming example, outlines core methods, working principles, best‑practice considerations, and compares it with traditional Streaming and Server‑Sent Events.

HTTPJavaResponseBodyEmitter
0 likes · 10 min read
Using Spring's ResponseBodyEmitter for Real‑Time Streaming Responses
JD Tech Talk
JD Tech Talk
Mar 7, 2025 · Fundamentals

Understanding Java Service Provider Interface (SPI): Introduction, Example, and Implementation Details

This article introduces Java's Service Provider Interface (SPI), demonstrates a step‑by‑step example with multiple Maven modules, explains how to create interface and implementation classes, configure META‑INF/services files, and delves into the ServiceLoader internals that enable runtime discovery and instantiation of providers.

Dependency InjectionDesign PatternsJava
0 likes · 9 min read
Understanding Java Service Provider Interface (SPI): Introduction, Example, and Implementation Details
JD Cloud Developers
JD Cloud Developers
Mar 7, 2025 · Fundamentals

Master Java SPI: Build Decoupled Services with Service Provider Interface

This guide explains Java's Service Provider Interface (SPI), detailing its purpose for decoupling implementations, step-by-step project setup, code examples, configuration files, and an in-depth analysis of ServiceLoader's internal mechanisms, enabling developers to create flexible, extensible Java applications.

DependencyInjectionJavaModularDesign
0 likes · 12 min read
Master Java SPI: Build Decoupled Services with Service Provider Interface
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
Mar 7, 2025 · Backend Development

Spring Cloud Feign Deep Dive: Architecture, Usage, and Practical Demo

This article walks through the background of Spring Cloud's Feign client, explains its core concepts, shows step‑by‑step project setup with Eureka services, demonstrates remote calls and file upload extensions using Feign‑Form, and concludes with a functional microservice example.

FeignJavaSpring Cloud
0 likes · 10 min read
Spring Cloud Feign Deep Dive: Architecture, Usage, and Practical Demo
JD Cloud Developers
JD Cloud Developers
Mar 6, 2025 · Backend Development

How a MyBatis Plugin Can Color‑Mark SQL for Instant Business Traceability

This article examines the challenges of locating and diagnosing SQL statements in large systems and introduces a lightweight, non‑intrusive MyBatis plugin that injects color‑marking metadata into SELECT, INSERT, UPDATE and DELETE queries, enabling rapid business source identification and enhanced debugging.

JavaMyBatisPlugin
0 likes · 15 min read
How a MyBatis Plugin Can Color‑Mark SQL for Instant Business Traceability
Su San Talks Tech
Su San Talks Tech
Mar 6, 2025 · Backend Development

Mastering Null Checks in Java: 10 Elegant Strategies for Safer Code

This article explores ten effective techniques for handling null values in Java, ranging from traditional if‑else checks to modern Optional usage, Lombok annotations, AOP interceptors, the Null Object pattern, Guava utilities, Kotlin‑style safety, and JDK 14 preview features, helping developers write cleaner, more robust code.

Best PracticesJavaOptional
0 likes · 11 min read
Mastering Null Checks in Java: 10 Elegant Strategies for Safer Code
Architecture Digest
Architecture Digest
Mar 5, 2025 · Backend Development

Understanding Java Virtual Threads and Their Performance Benefits in Spring Boot

This article introduces Java 21's virtual threads, explains their lightweight and high‑concurrency advantages, demonstrates basic and delayed usage with code examples, shows how to enable them in Spring Boot, compares performance against traditional threads, and offers additional Java performance‑tuning techniques.

ConcurrencyJavaJava 21
0 likes · 7 min read
Understanding Java Virtual Threads and Their Performance Benefits in Spring Boot
Java High-Performance Architecture
Java High-Performance Architecture
Mar 5, 2025 · Backend Development

Unlock Massive Concurrency: How Java 21 Virtual Threads Supercharge Spring Boot

Java 21’s virtual threads provide lightweight, high‑concurrency execution managed by the JVM, enabling developers to create hundreds of thousands of threads with minimal overhead; this article explains their basics, demonstrates Spring Boot integration, compares performance against traditional threads, and shares additional Java optimization techniques.

ConcurrencyJavaPerformance
0 likes · 8 min read
Unlock Massive Concurrency: How Java 21 Virtual Threads Supercharge Spring Boot
macrozheng
macrozheng
Mar 5, 2025 · Backend Development

Master Workflow Orchestration to Simplify Business Logic with Flow Engines

This article explains why workflow orchestration is essential for isolating business logic in large systems, outlines common pitfalls of tangled if‑else code, and demonstrates how to configure and execute flow chains using a Java flow engine and plugin extensions.

JavaProcess Orchestrationflow engine
0 likes · 7 min read
Master Workflow Orchestration to Simplify Business Logic with Flow Engines