Tagged articles
5000 articles
Page 27 of 50
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 8, 2025 · Backend Development

Why Java ThreadPoolExecutor’s Core Threads Aren’t Recycled by Default

In Java’s ThreadPoolExecutor, core threads remain alive even when idle unless the allowCoreThreadTimeOut flag is set to true, which then permits both core and non‑core threads to be reclaimed after exceeding the keepAliveTime threshold, a behavior that contradicts the pool’s design principle of minimizing thread creation overhead.

ThreadPoolExecutorallowCoreThreadTimeOutconcurrency
0 likes · 2 min read
Why Java ThreadPoolExecutor’s Core Threads Aren’t Recycled by Default
dbaplus Community
dbaplus Community
Jan 7, 2025 · Backend Development

Can You Beat the One Billion Row Challenge? Inside Java Performance Secrets

This article explores the One Billion Row Challenge, a Java benchmark that requires parsing a 13 GB file of one billion temperature records, and walks through baseline code, top‑ranked solutions, and a step‑by‑step performance tuning journey that reduces execution time from minutes to under two seconds.

BenchmarkOne Billion Row ChallengePerformance Optimization
0 likes · 21 min read
Can You Beat the One Billion Row Challenge? Inside Java Performance Secrets
IT Services Circle
IT Services Circle
Jan 7, 2025 · Backend Development

Replacing Thread.sleep Loops with Proper Scheduling in Java

The article explains why using Thread.sleep in a loop causes busy‑waiting and performance problems, and demonstrates several Java scheduling alternatives—including Timer/TimerTask, ScheduledExecutorService, wait/notify, and CompletableFuture—to efficiently check a flag at fixed intervals.

CompletableFutureScheduledExecutorServiceScheduling
0 likes · 9 min read
Replacing Thread.sleep Loops with Proper Scheduling in Java
Top Architect
Top Architect
Jan 7, 2025 · Backend Development

Integrating Flowable Workflow Engine with Spring Boot: A Step‑by‑Step Guide

This article introduces the evolution of Java workflow engines, explains core BPMN concepts, and provides a comprehensive tutorial on integrating Flowable with Spring Boot—including Maven dependencies, database configuration, BPMN diagram creation, service task implementation, diagram viewing API, and unit testing.

BPMNFlowablejava
0 likes · 21 min read
Integrating Flowable Workflow Engine with Spring Boot: A Step‑by‑Step Guide
Java Tech Enthusiast
Java Tech Enthusiast
Jan 7, 2025 · Backend Development

Using @Import for Modular Spring Boot Development

Spring Boot enables modular backend development by placing each feature in its own Maven module and using @Import (or custom annotations, ImportSelector, ImportBeanDefinitionRegistrar, and @ConditionalOnProperty) to load configuration classes, scan components, and conditionally register beans while keeping the application a single monolithic program.

Import AnnotationModular Developmentdependency-injection
0 likes · 19 min read
Using @Import for Modular Spring Boot Development
Selected Java Interview Questions
Selected Java Interview Questions
Jan 7, 2025 · Backend Development

Spring Boot Asynchronous Processing: Principles, Configuration, and Practical Use Cases

This article explains Spring Boot’s asynchronous processing mechanism, covering its purpose, the @Async annotation, configuration steps, custom thread pool setup, handling return values, and typical use cases, enabling developers to improve performance and responsiveness in backend applications.

asynchronous processingbackend-developmentjava
0 likes · 9 min read
Spring Boot Asynchronous Processing: Principles, Configuration, and Practical Use Cases
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jan 7, 2025 · Backend Development

Cache Consistency: Pitfalls of Delayed Double Delete and Lease/Versioning Solutions with Redis

This article examines why many large‑scale systems avoid the traditional delayed double‑delete cache‑invalidation strategy, explains its critical drawbacks, and presents alternative lease‑based and version‑based approaches with Lua scripts and Java wrappers for Redis to achieve stronger consistency.

ConsistencyDelayed Double DeleteLease
0 likes · 17 min read
Cache Consistency: Pitfalls of Delayed Double Delete and Lease/Versioning Solutions with Redis
FunTester
FunTester
Jan 7, 2025 · Backend Development

Using Apache Commons Lang 3 for Efficient Object Comparison in Java

This article introduces Apache Commons Lang 3, explains its key utilities, and demonstrates how to integrate the library with Maven and employ DiffBuilder and ReflectionDiffBuilder to compare Java objects, generate detailed difference reports, and simplify debugging and testing processes.

Apache Commons LangDiffBuilderObject Comparison
0 likes · 9 min read
Using Apache Commons Lang 3 for Efficient Object Comparison in Java
Open Source Linux
Open Source Linux
Jan 7, 2025 · Fundamentals

Master Elegant Null Checks in Java with StringUtils and ObjectUtils

This guide explains how to efficiently and elegantly handle null pointer checks in Java by identifying data types, selecting the right utility classes such as StringUtils, ObjectUtils, Arrays, Collections, and applying their isEmpty methods to reduce repetitive code.

ObjectUtilsStringUtilscoding
0 likes · 7 min read
Master Elegant Null Checks in Java with StringUtils and ObjectUtils
21CTO
21CTO
Jan 6, 2025 · Backend Development

When Declarative Beats Imperative: Mastering Java Streams and Annotations

Explore the contrast between declarative and imperative programming, dive into Java Stream fundamentals, benchmark parallel versus sequential execution, and understand the role of annotations, offering practical insights for writing cleaner, more efficient backend code.

PerformanceStreamsannotations
0 likes · 9 min read
When Declarative Beats Imperative: Mastering Java Streams and Annotations
Architect
Architect
Jan 6, 2025 · Backend Development

Unlocking Java Plugin Architecture: From SPI to Spring Factories

This article explains why plugin mechanisms improve modularity, extensibility, and third‑party integration, then walks through practical Java SPI implementations, custom configuration loading, and Spring Boot’s spring.factories approach, providing complete code examples and step‑by‑step guidance for building a robust plugin system.

SPISpring Factoriesdependency-injection
0 likes · 21 min read
Unlocking Java Plugin Architecture: From SPI to Spring Factories
Java Tech Enthusiast
Java Tech Enthusiast
Jan 6, 2025 · Backend Development

Overview of Common Java Expression Engines and Utility Wrappers

The article surveys popular Java expression engines—including Spring Expression Language, OGNL, Aviator, and MVEL2—detailing their key features and providing lightweight utility wrappers, and highlights Hutool’s unified façade that can encapsulate these engines to simplify dynamic rule evaluation in backend applications.

AviatorExpression EngineMVEL
0 likes · 12 min read
Overview of Common Java Expression Engines and Utility Wrappers
Architecture Digest
Architecture Digest
Jan 6, 2025 · Backend Development

Optimizing Large IN Queries with Spring AOP and Multithreaded Splitting

This article explains how to improve performance of massive IN‑list queries in PostgreSQL by splitting the parameter list, executing the sub‑queries concurrently with a custom Spring AOP annotation, and merging the results using a configurable thread pool and return‑handling strategy.

Performanceaopjava
0 likes · 9 min read
Optimizing Large IN Queries with Spring AOP and Multithreaded Splitting
Top Architecture Tech Stack
Top Architecture Tech Stack
Jan 6, 2025 · Backend Development

10 Essential MyBatis Development Tips for Efficient Backend Programming

This article presents ten practical MyBatis techniques—including dynamic SQL, resultMap, foreach, pagination, annotation proxies, second‑level cache, dynamic table names, custom type handlers, logging, and multi‑datasource configuration—to help Java developers write cleaner, safer, and more performant data‑access code.

ORMPerformancejava
0 likes · 11 min read
10 Essential MyBatis Development Tips for Efficient Backend Programming
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 6, 2025 · Backend Development

Master Thread Sequencing in Java: 8 Proven Techniques

This article explains why thread execution order is nondeterministic and presents eight Java techniques—join, single‑thread executor, CountDownLatch, CyclicBarrier, Semaphore, synchronized with wait/notify, and Lock with Condition—to reliably enforce sequential execution, complete with clear code examples for each method.

CountDownLatchExecutorServiceLock
0 likes · 13 min read
Master Thread Sequencing in Java: 8 Proven Techniques
Java Tech Enthusiast
Java Tech Enthusiast
Jan 5, 2025 · Backend Development

Six Common JSON Parsing Methods in Java

Java developers can parse JSON using six popular approaches—Jackson for high‑performance, annotation‑driven serialization; Gson for a lightweight, easy‑to‑use API; FastJSON for speed; JsonPath for XPath‑style nested extraction; org.json for simple utility; or manual parsing for full control—each suited to different performance and complexity needs.

GsonJSONJackson
0 likes · 9 min read
Six Common JSON Parsing Methods in Java
IT Services Circle
IT Services Circle
Jan 5, 2025 · Backend Development

Integrating Spring Boot with MyBatis and Multiple Data Sources (Dynamic DataSource)

This article explains how to integrate Spring Boot with MyBatis, configure a single Druid data source, implement a dynamic routing data source for multiple databases, and use custom annotations and AOP to switch databases at runtime, including full code examples and transaction management.

Multiple Data Sourcesdatabase integrationdynamic-datasource
0 likes · 16 min read
Integrating Spring Boot with MyBatis and Multiple Data Sources (Dynamic DataSource)
Architecture Digest
Architecture Digest
Jan 5, 2025 · Backend Development

A Comparative Overview of Java Expression Engines: Spring EL, OGNL, Aviator, MVEL, and Hutool

This article introduces and compares several Java expression engines—including Spring Expression Language, OGNL, Aviator, MVEL, and Hutool's expression facade—detailing their key features, typical use cases, security considerations, and providing utility class examples with code snippets for each engine.

AviatorExpression LanguageMVEL
0 likes · 12 min read
A Comparative Overview of Java Expression Engines: Spring EL, OGNL, Aviator, MVEL, and Hutool
Top Architect
Top Architect
Jan 4, 2025 · Backend Development

Comprehensive Maven Guide: Repository Setup, Dependency Management, Multi‑Module Projects, and Plugin Configuration

This article provides a step‑by‑step tutorial on using Maven for Java backend projects, covering repository configuration, basic POM structure, dependency declaration, scope handling, exclusion, variable properties, multi‑module management, dependencyManagement, and common build plugins such as jar, assembly, and shade.

backend-developmentbuild toolsdependency management
0 likes · 22 min read
Comprehensive Maven Guide: Repository Setup, Dependency Management, Multi‑Module Projects, and Plugin Configuration
Top Architect
Top Architect
Jan 4, 2025 · Backend Development

A Comprehensive Guide to Java Enums: Basics, Advanced Techniques, and Design Patterns

This article explains what Java enums are, why they are preferable to constants, demonstrates basic and custom enum definitions, shows how to compare, switch, and extend enums with properties, methods and constructors, and explores advanced uses such as EnumSet, EnumMap, Singleton and Strategy patterns, including Java 8 stream examples and JSON serialization.

Design PatternsEnumMapEnumSet
0 likes · 16 min read
A Comprehensive Guide to Java Enums: Basics, Advanced Techniques, and Design Patterns
Java Architect Essentials
Java Architect Essentials
Jan 3, 2025 · Backend Development

Using Java 8 Optional to Prevent NullPointerException: Methods, Examples, and Best Practices

This article introduces Java 8's Optional class as a robust solution for avoiding NullPointerException, explains its creation methods, demonstrates common operations such as get, isPresent, ifPresent, filter, map, flatMap, orElse, orElseGet, orElseThrow, and provides practical usage scenarios and cautions for developers.

BestPracticesjavajava8
0 likes · 16 min read
Using Java 8 Optional to Prevent NullPointerException: Methods, Examples, and Best Practices
FunTester
FunTester
Jan 3, 2025 · Backend Development

Java Atomic Package Classes: AtomicBoolean, AtomicInteger, AtomicLong, and LongAdder

This article introduces Java's java.util.concurrent.atomic package, detailing the core atomic classes—AtomicBoolean, AtomicInteger, AtomicLong, and LongAdder—including their constructors, key methods, typical use cases, and performance considerations in high‑concurrency scenarios for developers seeking efficient thread‑safe operations.

Performancejavalongadder
0 likes · 9 min read
Java Atomic Package Classes: AtomicBoolean, AtomicInteger, AtomicLong, and LongAdder
Top Architect
Top Architect
Jan 2, 2025 · Fundamentals

Understanding ForkJoinPool: Divide‑and‑Conquer, Task Splitting, and Performance in Java

This article explains the Fork/Join model and ForkJoinPool in Java, covering divide‑and‑conquer theory, RecursiveTask implementation, task submission methods, work‑stealing queues, common pool pitfalls, and performance testing with code examples to help developers choose and tune parallel execution strategies.

DivideAndConquerForkJoinPoolRecursiveTask
0 likes · 25 min read
Understanding ForkJoinPool: Divide‑and‑Conquer, Task Splitting, and Performance in Java
Top Architect
Top Architect
Jan 2, 2025 · Backend Development

Comprehensive Guide to Spring Utility Classes: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AOP Helpers

This article presents a comprehensive guide to Spring's utility classes—including Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, StreamUtils, ReflectionUtils, and AOP helpers—detailing their purpose, usage patterns, and code examples, while also containing promotional material for related services.

CodeExamplesjavaspring
0 likes · 14 min read
Comprehensive Guide to Spring Utility Classes: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AOP Helpers
Java Tech Enthusiast
Java Tech Enthusiast
Jan 2, 2025 · Backend Development

Essential Java Libraries and Tools for Backend Development

Beyond the JDK, modern Java backend development relies on a core toolkit—including SpringBoot, Netty, Guava or Hutool utilities, JUnit 5 with Mockito, JMH, OkHTTP, HikariCP or Druid pools, Caffeine cache, Hazelcast, SLF4J + Logback, Jackson, Jolokia, Hibernate‑Validator, and FreeMarker—to build robust, high‑performance enterprise services.

PerformanceSpringBootjava
0 likes · 10 min read
Essential Java Libraries and Tools for Backend Development
Selected Java Interview Questions
Selected Java Interview Questions
Jan 2, 2025 · Artificial Intelligence

Integrating Chinese Open‑Source AI Platforms with Java SDK and Prompt Engineering

This article introduces several Chinese open‑source AI platforms, shows how to import their Java SDKs, obtain API keys, run test demos, encapsulate a reusable AI module with Spring Boot configuration, and apply prompt‑engineering techniques to generate AI‑driven questionnaire content.

AI SDKArtificial IntelligenceBackend
0 likes · 13 min read
Integrating Chinese Open‑Source AI Platforms with Java SDK and Prompt Engineering
Architect
Architect
Jan 1, 2025 · Backend Development

Six Common Ways to Read Request Parameters in Spring Boot

This article explains six typical techniques—@RequestParam, @PathVariable, @MatrixVariable, @RequestBody, @RequestHeader, and @CookieValue—for extracting request data in Spring Boot APIs, providing usage scenarios and concrete code examples for each method.

APIRequest Parametersannotations
0 likes · 5 min read
Six Common Ways to Read Request Parameters in Spring Boot
Java Tech Enthusiast
Java Tech Enthusiast
Jan 1, 2025 · Information Security

Fixing Logback CVE-2023-6378 in Spring Boot 2.7.x

To remediate CVE‑2023‑6378 in a Spring Boot 2.7.x application, you must replace the default logging starter with a direct Logback 1.2.x dependency (e.g., 1.2.13), because Spring Boot 2.7 cannot use Logback 1.3.x due to the removed StaticLoggerBinder class; the only other option is to upgrade the whole stack to Spring Boot 3.x, Logback 1.4.x, and JDK 11.

CVE-2023-6378dependency managementjava
0 likes · 14 min read
Fixing Logback CVE-2023-6378 in Spring Boot 2.7.x
Su San Talks Tech
Su San Talks Tech
Jan 1, 2025 · Backend Development

What’s New in Spring Boot 3.4? Key Upgrades, Config Changes, and Migration Tips

Spring Boot 3.4 introduces extensive updates—including RestClient and RestTemplate auto‑configuration, revised HTTP client factories, refined bean validation, graceful shutdown defaults, a new Paketo tiny builder for OCI images, deprecations, and numerous configuration and observability enhancements—providing developers with a comprehensive guide to upgrade and leverage the latest features.

configurationjavamigration
0 likes · 20 min read
What’s New in Spring Boot 3.4? Key Upgrades, Config Changes, and Migration Tips
Architecture Digest
Architecture Digest
Dec 31, 2024 · Backend Development

Top IntelliJ IDEA Plugins for Java Development

This article presents a curated list of 31 IntelliJ IDEA plugins—including translation tools, language packs, UI themes, code navigation, version control, code quality, and productivity enhancers—that together streamline Java backend development and improve developer efficiency.

IDE pluginsIntelliJProductivity
0 likes · 10 min read
Top IntelliJ IDEA Plugins for Java Development
Top Architect
Top Architect
Dec 31, 2024 · Backend Development

Java Plugin Architecture and Spring Boot Implementation Guide

This article explains various plugin implementation approaches in Java, including SPI, ServiceLoader, custom configuration, and Spring Boot's spring.factories, providing detailed code examples and step‑by‑step guidance for building extensible backend systems that can be dynamically loaded and configured at runtime.

SPISpringBootjava
0 likes · 22 min read
Java Plugin Architecture and Spring Boot Implementation Guide
JavaEdge
JavaEdge
Dec 31, 2024 · Backend Development

2024 Java Ecosystem Trends: Adoption, AI Integration, and Emerging Foundations

The 2024 Java trend report analyzes JDK adoption rates, AI tooling, the rise of the Commonhaus Foundation, Spring and Jakarta EE evolution, virtual thread adoption, and community insights, offering guidance for technical leaders and developers planning their future investments.

AICommonhausEcosystem
0 likes · 16 min read
2024 Java Ecosystem Trends: Adoption, AI Integration, and Emerging Foundations
Dangbei Technology Team
Dangbei Technology Team
Dec 31, 2024 · Backend Development

How WebSocket Powers Real-Time IoT Devices: Architecture & Code Walkthrough

This article explores the role of WebSocket in IoT, detailing its advantages over HTTP, comparing Java implementations, presenting a Netty‑based architecture for smart devices, and providing complete code examples for connection handling, authentication, and message processing to achieve real‑time communication.

IoTNettybackend-development
0 likes · 12 min read
How WebSocket Powers Real-Time IoT Devices: Architecture & Code Walkthrough
Architect's Guide
Architect's Guide
Dec 31, 2024 · Backend Development

Apollo Configuration Center: Concepts, Architecture, and Spring Boot Integration Guide

This article provides a comprehensive tutorial on Apollo, covering its basic concepts, architecture, four-dimensional configuration model, client design, high‑availability considerations, and step‑by‑step instructions for creating a Spring Boot project, integrating Apollo dependencies, configuring environments, testing dynamic updates, and deploying the application on Kubernetes.

ApolloConfiguration ManagementKubernetes
0 likes · 22 min read
Apollo Configuration Center: Concepts, Architecture, and Spring Boot Integration Guide
Architect
Architect
Dec 30, 2024 · Backend Development

How to Speed Up Legacy Report Queries with Redis Archiving and Scheduled Tasks

This article details how a legacy reporting module suffering from slow page loads was refactored by archiving log data, caching hourly counts in Redis, and using scheduled synchronization to dramatically improve query performance without adding new middleware.

BackendKafkaPerformance Optimization
0 likes · 11 min read
How to Speed Up Legacy Report Queries with Redis Archiving and Scheduled Tasks
Java Tech Enthusiast
Java Tech Enthusiast
Dec 30, 2024 · Backend Development

The Rise of Java: From Toy to Enterprise Powerhouse

A senior developer recounts switching from C# and Python to Java for web projects and higher pay, illustrating Java’s evolution from a “toy” language with early JVM limits to an enterprise powerhouse driven by JIT, Spring Boot, and robust performance that now rivals C++.

JVMjavaspring
0 likes · 9 min read
The Rise of Java: From Toy to Enterprise Powerhouse
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Dec 30, 2024 · Backend Development

Comprehensive Introduction to Domain-Driven Design (DDD)

This article provides a comprehensive overview of Domain-Driven Design (DDD), explaining its core principles, layered architecture, domain model components such as entities, value objects, aggregates, and bounded contexts, and includes Java code examples to illustrate implementation.

DDDDesign PatternsDomain-Driven Design
0 likes · 6 min read
Comprehensive Introduction to Domain-Driven Design (DDD)
macrozheng
macrozheng
Dec 30, 2024 · Backend Development

Master Java Stream API: From Basics to Advanced Collection Operations

This article introduces Java Stream API introduced in JDK 8, explains its pipeline concept, and demonstrates practical operations such as traversal, filtering, deduplication, type conversion, collection‑to‑map transformations, pagination, matching, and parallel processing with clear code examples.

BackendCollectionsStream API
0 likes · 15 min read
Master Java Stream API: From Basics to Advanced Collection Operations
Top Architect
Top Architect
Dec 29, 2024 · Backend Development

Replacing MyBatis with MyBatis‑Plus: Debugging Conversion Errors and Version Compatibility

This article walks through migrating an old MySQL‑5.7 project from MyBatis 3.5.0 to MyBatis‑Plus 3.1.1, explains the "Conversion not supported for type java.time.LocalDateTime" exception, shows how upgrading mysql‑connector‑java resolves the issue, and shares lessons learned from a production bug caused by an over‑optimistic validation change.

MySQLORMVersion Compatibility
0 likes · 10 min read
Replacing MyBatis with MyBatis‑Plus: Debugging Conversion Errors and Version Compatibility
Architecture Digest
Architecture Digest
Dec 29, 2024 · Backend Development

Refactoring Spring MVC Controllers: Unified Return Structure, Response Advice, Parameter Validation, and Global Exception Handling

This article explains how to refactor the Spring MVC controller layer by introducing a unified response format, using ResponseBodyAdvice for automatic wrapping, fixing String conversion issues, applying JSR‑303 validation, creating custom validators, and handling exceptions globally to keep controller code clean and maintainable.

Controllerexceptionhandlingjava
0 likes · 18 min read
Refactoring Spring MVC Controllers: Unified Return Structure, Response Advice, Parameter Validation, and Global Exception Handling
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Dec 29, 2024 · Backend Development

Deep Dive into Spring's @Autowired Annotation: Implementation and Injection Mechanism

This article provides a comprehensive analysis of Spring's @Autowired annotation, explaining its purpose, usage in constructor, field, and method injection, and detailing the underlying bean post‑processor logic, dependency resolution, and candidate selection that enable automatic dependency injection.

AutowiredBeanPostProcessorReflection
0 likes · 10 min read
Deep Dive into Spring's @Autowired Annotation: Implementation and Injection Mechanism
Top Architect
Top Architect
Dec 28, 2024 · Backend Development

Building a Netty + WebSocket Message Push Server in Java

This article presents a step‑by‑step guide to building a Netty‑based WebSocket server in Java, covering server initialization, channel configuration, custom handlers, push‑message services, testing procedures, and includes complete source code, while also containing promotional material for unrelated AI services.

Message Pushjavaspring
0 likes · 11 min read
Building a Netty + WebSocket Message Push Server in Java
Su San Talks Tech
Su San Talks Tech
Dec 28, 2024 · Backend Development

Master Spring Boot Multi‑DataSource Integration with MyBatis

This tutorial explains how to combine Spring Boot, MyBatis, and multiple databases using Druid connection pools, dynamic routing data sources, custom annotations, and AOP, providing complete configuration examples, code snippets, and best‑practice guidance for backend developers.

Multi-DataSourcedynamic-datasourcejava
0 likes · 17 min read
Master Spring Boot Multi‑DataSource Integration with MyBatis
JD Tech Talk
JD Tech Talk
Dec 27, 2024 · Backend Development

Log Sampling and Cross‑Thread Propagation in High‑Throughput Java Services

The article examines the performance impact of excessive logging in large‑scale Java systems and proposes request‑level sampling with cross‑thread identifier propagation, offering practical component‑based solutions, implementation considerations, and a concrete code example for backend developers.

BackendSamplingThreadLocal
0 likes · 7 min read
Log Sampling and Cross‑Thread Propagation in High‑Throughput Java Services
JD Cloud Developers
JD Cloud Developers
Dec 27, 2024 · Backend Development

How to Implement Cross-Thread Log Sampling in High-Throughput Java Services

Log volume can cripple high-throughput Java systems, especially during traffic spikes, so this article explores practical strategies for request-level log sampling, cross-thread trace propagation, and component-based APIs to balance observability with performance, including code examples and implementation considerations.

ThreadLocaljavalog sampling
0 likes · 8 min read
How to Implement Cross-Thread Log Sampling in High-Throughput Java Services
Architect's Guide
Architect's Guide
Dec 27, 2024 · Backend Development

Fast‑Retry: High‑Performance Asynchronous Retry Framework for Java

Fast‑Retry is a high‑throughput Java retry library that enables asynchronous, non‑blocking retries for massive task volumes, offering programmable and annotation‑based APIs, custom retry policies, and significant performance gains over traditional synchronous frameworks like Spring‑Retry and Guava‑Retry.

BackendPerformanceRetry
0 likes · 11 min read
Fast‑Retry: High‑Performance Asynchronous Retry Framework for Java
IT Services Circle
IT Services Circle
Dec 26, 2024 · Fundamentals

Understanding the JDK Bug in Arrays.asList().toArray() and Its Fix in JDK 9

This article explains a long‑standing JDK bug where Arrays.asList().toArray() returns an Object[] that causes ArrayStoreException when modified, analyzes the underlying implementation differences between java.util.ArrayList and Arrays$ArrayList, and describes how the issue was finally fixed in JDK 9.

ArrayStoreExceptionArrays.asListJDK
0 likes · 9 min read
Understanding the JDK Bug in Arrays.asList().toArray() and Its Fix in JDK 9
Top Architect
Top Architect
Dec 26, 2024 · Information Security

OAuth2.0 Overview and Spring Boot Implementation Guide

This article introduces OAuth2.0 concepts, outlines its roles and grant types, and provides a step‑by‑step Spring Boot implementation of an authorization server, resource server, and test client, followed by test results and promotional information.

Authorizationjavaspring-boot
0 likes · 12 min read
OAuth2.0 Overview and Spring Boot Implementation Guide
Top Architect
Top Architect
Dec 26, 2024 · Backend Development

Implementing Login Attempt Limiting with Spring Boot, Redis, and Lua Scripts

This article explains how to prevent brute‑force password attempts by locking an IP after three failed logins using a Spring Boot backend, Redis for distributed counters, and a Lua script to ensure atomic increment and expiration, while also providing a simple HTML login page for the front end.

LoginRateLimitingLuaSpringBoot
0 likes · 19 min read
Implementing Login Attempt Limiting with Spring Boot, Redis, and Lua Scripts
Architecture Digest
Architecture Digest
Dec 26, 2024 · Backend Development

Understanding Java 21 Virtual Threads: Basics, Spring Boot Integration, and Performance Comparison

This article introduces Java 21 virtual threads, explains their lightweight, high‑concurrency and automatic management advantages, demonstrates basic and delayed usage with code examples, shows how to enable them in Spring Boot, and compares their performance against traditional threads in various scenarios.

Java 21PerformanceVirtual Threads
0 likes · 7 min read
Understanding Java 21 Virtual Threads: Basics, Spring Boot Integration, and Performance Comparison
FunTester
FunTester
Dec 26, 2024 · Fundamentals

Chapter 2 – Common Java Multithreading Utilities and the synchronized Keyword

This chapter introduces advanced Java multithreading concepts, explaining thread safety, the synchronized keyword, various synchronization techniques, and practical code examples such as object‑level, class‑level, method‑level synchronization and double‑checked locking to help solve concurrency problems in performance testing.

Synchronizationconcurrencyjava
0 likes · 15 min read
Chapter 2 – Common Java Multithreading Utilities and the synchronized Keyword
Java Architect Essentials
Java Architect Essentials
Dec 25, 2024 · Backend Development

Understanding Java Connection Pools: Commons Pool 2, Jedis, and HikariCP Performance

This article explains the principles of object pooling in Java, introduces the Commons Pool 2 library and its use in Redis client Jedis, compares pool and non‑pool performance with JMH benchmarks, and details the fast HikariCP database connection pool along with configuration tips and interview questions.

Commons-PoolConnection PoolHikariCP
0 likes · 15 min read
Understanding Java Connection Pools: Commons Pool 2, Jedis, and HikariCP Performance
Top Architect
Top Architect
Dec 25, 2024 · Backend Development

Replacing Tomcat with Undertow in Spring Boot: Configuration, Features, and Performance Comparison

This article explains how Spring Boot uses Tomcat by default, introduces Undertow as a high‑performance alternative, provides step‑by‑step Maven configuration to switch containers, compares Tomcat and Undertow on throughput and memory usage, and recommends Undertow for high‑concurrency Java web applications.

SpringBootTomcatWeb server
0 likes · 9 min read
Replacing Tomcat with Undertow in Spring Boot: Configuration, Features, and Performance Comparison
macrozheng
macrozheng
Dec 25, 2024 · Backend Development

FastExcel: The New Java Library Replacing EasyExcel for High‑Performance Excel Processing

FastExcel, a Java‑based open‑source library announced after EasyExcel's discontinuation, offers fast, memory‑efficient Excel read/write, full compatibility with EasyExcel, simple APIs, MIT licensing for commercial use, easy Maven/Gradle integration, and clear code examples that have already attracted over 2,000 GitHub stars.

ExcelFastExcelGradle
0 likes · 8 min read
FastExcel: The New Java Library Replacing EasyExcel for High‑Performance Excel Processing
Code Ape Tech Column
Code Ape Tech Column
Dec 25, 2024 · Fundamentals

Applying the Service Locator Pattern for Extensible File Parsers in Spring

This article demonstrates how to replace tightly‑coupled if‑else or switch‑case logic with the Service Locator Pattern in a Spring application, allowing new file‑type parsers such as XML to be added without modifying client code, thereby adhering to the Open/Closed principle.

Factory BeanOpen/Closed PrincipleService Locator
0 likes · 7 min read
Applying the Service Locator Pattern for Extensible File Parsers in Spring
Architect
Architect
Dec 24, 2024 · Backend Development

12 MyBatisPlus Optimization Techniques for Efficient Database Operations

This article presents twelve practical MyBatisPlus optimization techniques—including avoiding isNull checks, specifying select fields, batch operations, using EXISTS, safe ordering, LambdaQuery, between, index-aware sorting, pagination, null handling, performance tracking, enum mapping, logical deletion, optimistic locking, and increment/decrement—to write cleaner, faster, and more maintainable backend code.

Database OptimizationMyBatisPlusORM
0 likes · 16 min read
12 MyBatisPlus Optimization Techniques for Efficient Database Operations
Raymond Ops
Raymond Ops
Dec 24, 2024 · Operations

How to Diagnose and Fix High CPU and Memory Usage in Java Applications

This guide walks through identifying Java processes that cause high CPU load, extracting the hottest threads with top and jstack, analyzing JVM memory regions, interpreting GC logs, and applying practical JVM tuning parameters and tools such as jmap, jstat, and MAT to resolve performance bottlenecks.

CPUJVMOperations
0 likes · 18 min read
How to Diagnose and Fix High CPU and Memory Usage in Java Applications
Selected Java Interview Questions
Selected Java Interview Questions
Dec 24, 2024 · Backend Development

Design and Implementation of a Custom Distributed Job Scheduling Framework (k‑job)

This article introduces the motivation, architecture, technology choices, and key implementation details of a lightweight, highly extensible distributed job scheduling framework built on gRPC, Protobuf, a custom name‑server, and a bespoke message‑queue, addressing limitations of existing solutions like Quartz, XXL‑Job, and PowerJob.

Distributed SystemsJob SchedulingMessage Queue
0 likes · 14 min read
Design and Implementation of a Custom Distributed Job Scheduling Framework (k‑job)
Tencent Cloud Developer
Tencent Cloud Developer
Dec 24, 2024 · Backend Development

From Java to Go: Key Differences Every Developer Must Know

This article compares Java and Go across syntax simplicity, type systems, object‑oriented features, pointers, error handling, concurrency, reflection, and community culture, providing concrete code examples and practical insights to help Java developers transition smoothly to Go.

Error HandlingGobackend-development
0 likes · 14 min read
From Java to Go: Key Differences Every Developer Must Know
Architect's Guide
Architect's Guide
Dec 24, 2024 · Frontend Development

One‑Click Frontend Generation Tool for Backend Developers

This article introduces a free, low‑code web tool that lets backend developers instantly generate a functional admin‑type frontend UI from database schemas or Java/SQL description files, requiring only minimal configuration and no front‑end coding skills.

Backend ToolsFrontend GenerationReact
0 likes · 5 min read
One‑Click Frontend Generation Tool for Backend Developers
Su San Talks Tech
Su San Talks Tech
Dec 24, 2024 · Backend Development

10 Must‑Know MyBatis Tricks to Supercharge Your Java Backend

Discover ten powerful MyBatis techniques—from dynamic SQL and resultMap customization to batch operations, pagination, annotation‑based mappers, caching, dynamic table names, custom type handlers, logging, and multi‑datasource configuration—that can dramatically improve Java backend development efficiency and code quality.

ORMPerformancejava
0 likes · 10 min read
10 Must‑Know MyBatis Tricks to Supercharge Your Java Backend
Architect
Architect
Dec 23, 2024 · Information Security

How to Implement Enterprise Data Desensitization with MyBatis and Fastjson

This article explains why data desensitization is essential for modern enterprises, compares masking, obfuscation and encryption techniques, and provides step‑by‑step implementations for database, log, and output layers using MyBatis interceptors, Fastjson filters, and Spring MVC configuration.

Spring MVCdata desensitizationfastjson
0 likes · 13 min read
How to Implement Enterprise Data Desensitization with MyBatis and Fastjson
DeWu Technology
DeWu Technology
Dec 23, 2024 · Fundamentals

Java Null Reference Handling Principles

Java’s ubiquitous NullPointerException stems from Tony Hoare’s 1965 introduction of the null reference—a design he later called his ‘billion-dollar mistake’—and the JVM mitigates its cost by forgoing proactive checks, instead relying on OS signals like SIGSEGV to detect nulls and throw the exception only when they actually occur.

Exception HandlingJVMjava
0 likes · 18 min read
Java Null Reference Handling Principles
JD Cloud Developers
JD Cloud Developers
Dec 23, 2024 · Backend Development

How to Add Asynchronous Timeout to CompletableFuture in JDK 8

This article explains why JDK 8's CompletableFuture lacks built‑in timeout interruption, analyzes common usage patterns and their limitations, and presents a custom asynchronous timeout solution that works in both JDK 8 and JDK 9 environments, complete with reusable utility code.

Async TimeoutCompletableFutureJDK8
0 likes · 13 min read
How to Add Asynchronous Timeout to CompletableFuture in JDK 8
Architect's Guide
Architect's Guide
Dec 23, 2024 · Backend Development

Implementing API Request and Response Encryption/Decryption with Spring Boot and ControllerAdvice

This article walks through the design and implementation of symmetric AES encryption for both GET and POST API endpoints in a Spring Boot application, covering requirement analysis, data model definition, custom RequestBodyAdvice and ResponseBodyAdvice, serialization challenges with FastJSON vs Jackson, and final configuration to ensure consistent JSON output across encrypted and non‑encrypted responses.

AESBackendControllerAdvice
0 likes · 12 min read
Implementing API Request and Response Encryption/Decryption with Spring Boot and ControllerAdvice
Top Architecture Tech Stack
Top Architecture Tech Stack
Dec 23, 2024 · Backend Development

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

This article explains how to plan capacity, choose the appropriate garbage collector, allocate heap and non‑heap memory, and configure JVM flags—including Xms, Xmx, Xmn, Xss, and GC‑specific options—to reliably support a service node with 8 GB RAM handling one million login requests per day.

Garbage CollectionJVMMemory Management
0 likes · 25 min read
JVM Parameter Tuning for a Platform Handling 1 Million Daily Login Requests on an 8 GB Node
Architect
Architect
Dec 22, 2024 · Backend Development

Implementing Interface Debounce with Distributed Locks in Java (Redis & Redisson)

This article explains the concept of request debouncing, identifies which API endpoints need it, and provides a detailed tutorial on implementing distributed debounce using shared Redis cache or Redisson locks in a Spring Boot backend, complete with annotation design, unique key generation, and code examples.

Debouncejavaredis
0 likes · 16 min read
Implementing Interface Debounce with Distributed Locks in Java (Redis & Redisson)
IT Services Circle
IT Services Circle
Dec 22, 2024 · Backend Development

Various Strategies for Implementing Order Auto‑Cancellation in High‑Concurrency Systems

This article compares seven practical approaches—DelayQueue, database polling, Redis queues, Redis key expiration callbacks, RabbitMQ delayed messages, scheduled task frameworks, and event‑stream processing—for automatically cancelling unpaid orders, outlining their suitable scenarios, code examples, advantages, disadvantages, and optimization tips.

BackendDelayQueueOrder Cancellation
0 likes · 12 min read
Various Strategies for Implementing Order Auto‑Cancellation in High‑Concurrency Systems
Java Tech Enthusiast
Java Tech Enthusiast
Dec 22, 2024 · Backend Development

Common Java ThreadPool Pitfalls and How to Avoid Them

Java developers should avoid ten common thread‑pool mistakes—such as using unbounded queues, misconfiguring thread counts, neglecting shutdown, ignoring rejection policies, swallowing task exceptions, submitting blocking work, overusing pools, lacking monitoring, and missing dynamic tuning—by configuring bounded queues, proper sizes, explicit policies, exception handling, and runtime adjustments.

PerformanceThreadPoolbest practices
0 likes · 8 min read
Common Java ThreadPool Pitfalls and How to Avoid Them
Architect's Guide
Architect's Guide
Dec 22, 2024 · Backend Development

Cool Request Plugin for IDEA: Tracing, MyBatis Function Tracking, and Custom Timing Features

The article introduces the Cool Request IDEA plugin, explains its tracing capabilities for arbitrary packages, automatic MyBatis function monitoring, customizable timing colors, script-based environment manipulation, and provides a Java code example for handling responses, highlighting its usefulness for backend developers.

BackendIDEAjava
0 likes · 4 min read
Cool Request Plugin for IDEA: Tracing, MyBatis Function Tracking, and Custom Timing Features
ITPUB
ITPUB
Dec 22, 2024 · Fundamentals

Why Does Comparing Two Integer Objects in Java Sometimes Return True?

This article explains why using the == operator on two Integer objects in Java can yield true for some values and false for others, covering Integer caching, the role of Integer.valueOf, and the correct way to compare Integer values with equals.

Object Comparisonequalsinteger
0 likes · 7 min read
Why Does Comparing Two Integer Objects in Java Sometimes Return True?