Tagged articles
5000 articles
Page 50 of 50
TAL Education Technology
TAL Education Technology
Nov 2, 2023 · Backend Development

Java CompletableFuture: Creation, Asynchronous Callbacks, Composition, and Thread‑Pool Configuration

This article explains Java's CompletableFuture utility introduced in Java 8, covering its creation methods, asynchronous callback functions, exception handling, task composition, combination operators, underlying implementation details, and best practices for configuring thread pools to achieve efficient concurrent execution.

AsyncCompletableFutureThreadPool
0 likes · 32 min read
Java CompletableFuture: Creation, Asynchronous Callbacks, Composition, and Thread‑Pool Configuration
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Nov 2, 2023 · Fundamentals

Understanding the Proxy Design Pattern with Java Examples

This article explains the Proxy design pattern, illustrates its core participants with clear Chinese idiom analogies, and provides a complete static‑proxy implementation in Java—including interface, real subject, proxy class, and client code—while also noting the distinction between static and dynamic proxies.

Design PatternsProxy PatternSoftware Architecture
0 likes · 6 min read
Understanding the Proxy Design Pattern with Java Examples
macrozheng
macrozheng
Nov 2, 2023 · Fundamentals

When to Use List.of vs Arrays.asList in Java: Immutable vs Mutable Lists Explained

This article compares Java's List.of() and Arrays.asList() methods, detailing their immutable versus mutable characteristics, handling of nulls, size constraints, and underlying array behavior, and provides practical code examples and guidance on choosing the appropriate method for different programming scenarios.

Arrays.asListCollectionsImmutable List
0 likes · 7 min read
When to Use List.of vs Arrays.asList in Java: Immutable vs Mutable Lists Explained
政采云技术
政采云技术
Nov 2, 2023 · Information Security

Design and Implementation of a Multi‑System Data Permission Control System

This article describes a unified, configurable data‑permission framework built on RBAC, detailing its architecture, rule definition, integration workflow, Java SDK implementation, and practical examples to achieve flexible, low‑coupling access control across multiple backend systems.

Data PermissionMyBatisRBAC
0 likes · 11 min read
Design and Implementation of a Multi‑System Data Permission Control System
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 2, 2023 · Backend Development

Rethinking Global Exception Handling in SpringBoot Applications

This article examines the pitfalls of using SpringBoot's @ControllerAdvice and @ExceptionHandler for global exception handling, illustrates common issues across controller, service, and data layers, and proposes more precise logging and debugging strategies to improve error traceability and maintainability.

BackendSpringBootdebugging
0 likes · 7 min read
Rethinking Global Exception Handling in SpringBoot Applications
Java Architect Essentials
Java Architect Essentials
Nov 1, 2023 · Backend Development

Understanding Java 8 Optional API: Methods, Usage, and Practical Examples

This article explains how Java 8's Optional class helps avoid NullPointerException by providing a fluent API—including ofNullable, empty, orElse, map, flatMap, filter, and other methods—along with concrete code examples that demonstrate refactoring traditional null‑check logic into concise, functional style.

Code Refactoringfunctional programmingjava
0 likes · 10 min read
Understanding Java 8 Optional API: Methods, Usage, and Practical Examples
Architect
Architect
Nov 1, 2023 · Backend Development

Mastering Distributed Locks with Redis: From Basics to Advanced Solutions

This article examines why local locks fail in distributed micro‑service environments, introduces Redis‑based distributed locking, walks through five incremental lock designs—from a simple SETNX implementation to a Lua‑script atomic solution—highlighting each scheme's trade‑offs, code examples, and practical pitfalls.

LuaMicroservicesconcurrency
0 likes · 18 min read
Mastering Distributed Locks with Redis: From Basics to Advanced Solutions
Cognitive Technology Team
Cognitive Technology Team
Nov 1, 2023 · Fundamentals

Differences and Similarities between wait() and sleep() in Java

Both wait() and sleep() can pause a thread and enter waiting states, but wait() belongs to Object and requires synchronized blocks, releases the monitor lock, and must handle spurious wakeups, whereas sleep() is a Thread method that does not release locks and has simpler usage.

SynchronizationThreadconcurrency
0 likes · 4 min read
Differences and Similarities between wait() and sleep() in Java
DaTaobao Tech
DaTaobao Tech
Nov 1, 2023 · Fundamentals

Understanding the Chain of Responsibility Design Pattern

The Chain of Responsibility pattern links a series of handler objects so that a request can be passed along until one processes it, decoupling sender and receiver, supporting dynamic composition, runtime flexibility, and the Open/Closed principle, as illustrated by a Java leave‑approval workflow.

Chain of ResponsibilityCode ExampleSoftware Architecture
0 likes · 12 min read
Understanding the Chain of Responsibility Design Pattern
Java Architecture Diary
Java Architecture Diary
Nov 1, 2023 · Backend Development

Boost Your IoT Apps with mica-mqtt: A Low‑Latency Java AIO MQTT Engine

The article introduces mica-mqtt, a Java AIO‑based open‑source MQTT component offering simple, low‑latency, high‑performance IoT messaging, outlines its extensive feature set, typical use cases, recent updates, and provides detailed configuration examples for custom business thread pools and Spring Boot integration.

AIOBackendIoT
0 likes · 6 min read
Boost Your IoT Apps with mica-mqtt: A Low‑Latency Java AIO MQTT Engine
政采云技术
政采云技术
Nov 1, 2023 · Backend Development

How Spring Boot Auto-Configuration Works: From @EnableAutoConfiguration to Bean Loading

This article explains Spring Boot's auto‑configuration mechanism, covering how @EnableAutoConfiguration loads configuration classes, the role of @AutoConfigurationPackage and @Import, the processing of spring.factories and metadata files, and how the main application class is registered in the IoC container.

Spring Bootannotationsauto-configuration
0 likes · 12 min read
How Spring Boot Auto-Configuration Works: From @EnableAutoConfiguration to Bean Loading
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Nov 1, 2023 · Backend Development

Mastering Spring Event Mechanism: Custom Events, Listeners, Async & Ordering

This article introduces Spring's event mechanism, covering the creation of custom ApplicationEvent classes, implementing listeners via ApplicationListener and @EventListener annotations, publishing events, using @Async for asynchronous handling, configuring custom event multicaster, and controlling listener execution order with @Order, complete with code examples.

AsynchronousEventannotation
0 likes · 9 min read
Mastering Spring Event Mechanism: Custom Events, Listeners, Async & Ordering
Java Architect Essentials
Java Architect Essentials
Oct 31, 2023 · Information Security

Understanding Traditional Session Mechanisms, Cluster Session Challenges, and SSO Solutions with CAS and OAuth2

The article explains why multiple independent systems hurt user experience, reviews traditional session and cookie based authentication, discusses session sharing problems in clustered environments, and presents centralized Redis storage and CAS‑based single sign‑on solutions with code examples and a comparison to OAuth2.

CASOAuth2Single Sign-On
0 likes · 16 min read
Understanding Traditional Session Mechanisms, Cluster Session Challenges, and SSO Solutions with CAS and OAuth2
Architect
Architect
Oct 31, 2023 · Information Security

How to Secure OpenAPI with AppId/AppSecret and RSA Signatures – A Complete Walkthrough

This article explains how to use OpenAPI standards to standardize interfaces, generate unique AppId/AppSecret pairs, create RSA‑based signatures, and implement practical security measures such as timestamps, nonces, rate limiting, and data validation, all illustrated with full Java code examples.

API SecurityAuthenticationOpenAPI
0 likes · 29 min read
How to Secure OpenAPI with AppId/AppSecret and RSA Signatures – A Complete Walkthrough
JD Cloud Developers
JD Cloud Developers
Oct 31, 2023 · Backend Development

How SpringBoot Auto‑Configuration Works and Build Your Own Logging Starter

This article explains SpringBoot’s auto‑configuration mechanism, walks through the DispatcherServlet example, and demonstrates how to build a custom logging starter—including annotation, properties class, AOP aspect, auto‑configuration class, Maven packaging, and usage—showcasing the efficiency and reusability benefits for backend developers.

Custom StarterSpringBootauto-configuration
0 likes · 9 min read
How SpringBoot Auto‑Configuration Works and Build Your Own Logging Starter
Architecture Digest
Architecture Digest
Oct 31, 2023 · Backend Development

Performance Troubleshooting and Optimization of a ToB System: From Low Throughput to Improved CPU Utilization

This article documents a step‑by‑step investigation of a Java Spring backend that initially achieved only 50 requests per second under load, detailing how slow SQL, excessive logging, thread‑pool misconfiguration, bean‑creation overhead and CPU‑bound operations were identified and mitigated to roughly double the throughput while reducing response latency.

ProfilingThroughputjava
0 likes · 14 min read
Performance Troubleshooting and Optimization of a ToB System: From Low Throughput to Improved CPU Utilization
Java High-Performance Architecture
Java High-Performance Architecture
Oct 31, 2023 · Backend Development

Master Redisson Distributed Locks in Java: Features, Code & Spring Boot

This article introduces Redisson, a Java framework built on Redis for distributed systems, detailing its extensive features such as distributed objects, locks, rate limiters, and task scheduling, and provides step‑by‑step guidance on integrating Redisson’s distributed lock into Spring Boot applications with code examples.

Spring Bootconcurrencydistributed-lock
0 likes · 11 min read
Master Redisson Distributed Locks in Java: Features, Code & Spring Boot
政采云技术
政采云技术
Oct 31, 2023 · Fundamentals

Understanding Java Threads, Thread Models, and Scheduling

This article explains what threads are, how Java maps its threads to operating‑system thread models (1:1, N:1, N:M), the differences between kernel and user threads, thread scheduling, context switching, priority handling, and includes sample Java code to compare serial and multithreaded execution.

Operating SystemThreadsconcurrency
0 likes · 19 min read
Understanding Java Threads, Thread Models, and Scheduling
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Oct 31, 2023 · Backend Development

Mastering Custom Formatter SPI in Spring Boot 2.6.12

This guide explains how to use Spring's Formatter SPI and AnnotationFormatterFactory to create, register, and test custom type converters and annotation‑based formatters in a Spring Boot 2.6.12 application, complete with code samples and endpoint demonstrations.

AnnotationFormatterFactoryFormatter SPISpring Boot
0 likes · 8 min read
Mastering Custom Formatter SPI in Spring Boot 2.6.12
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 30, 2023 · Databases

Easy-Es Tutorial: Simplify Elasticsearch Operations with a Java ORM Framework

This article introduces Easy-Es, a Java ORM framework built on Elasticsearch's RestHighLevelClient that simplifies query construction and CRUD operations, provides step‑by‑step setup including Maven dependencies, configuration, entity and mapper definitions, controller examples, and advanced features such as condition builders, index management, logging, and aggregation queries.

CRUDEasy-EsElasticsearch
0 likes · 8 min read
Easy-Es Tutorial: Simplify Elasticsearch Operations with a Java ORM Framework
Su San Talks Tech
Su San Talks Tech
Oct 30, 2023 · Backend Development

Boost Backend Performance with HashMap, LinkedHashMap, TreeMap & ByteBuffer

This article explores four powerful yet understated caching techniques—HashMap with read‑write locks, LinkedHashMap‑based LRU caches, TreeMap for consistent hashing, and ByteBuffer pooling—detailing their implementations in middleware such as RocketMQ, MyBatis, and Cobar to enhance backend performance.

ByteBufferConcurrentHashMapHashMap
0 likes · 10 min read
Boost Backend Performance with HashMap, LinkedHashMap, TreeMap & ByteBuffer
Java Architect Essentials
Java Architect Essentials
Oct 27, 2023 · Backend Development

Design and Implementation of Delayed Task Solutions for Payment Systems

This article compares delayed and scheduled tasks, analyzes several implementation approaches—including database polling with Quartz, JDK DelayQueue, Netty's HashedWheelTimer, Redis ZSET and key‑space notifications, and RabbitMQ delayed queues—provides code examples, and discusses the advantages and drawbacks of each method for handling order timeout scenarios in payment systems.

Quartzjavaredis
0 likes · 17 min read
Design and Implementation of Delayed Task Solutions for Payment Systems
JD Retail Technology
JD Retail Technology
Oct 27, 2023 · Operations

Investigation of Java Service Crashes at Midnight Due to Cron and Open Files Limit in CentOS Containers

The article analyzes why a Java service repeatedly crashes around midnight in test environments, tracing the issue through system limits, Java version checks, cron job execution, strace logs, and Linux OOM killer behavior, and finally proposes configuration and version upgrades to prevent the failures.

CentOSContainerLinux OOM Killer
0 likes · 25 min read
Investigation of Java Service Crashes at Midnight Due to Cron and Open Files Limit in CentOS Containers
JD Tech
JD Tech
Oct 27, 2023 · Backend Development

Design and Implementation of JD's Unified Header/Footer Management System

The article describes the design background, overall architecture, management backend, and header/footer client implementations (Nginx and Java) of JD's unified header/footer management system, explaining how it enables rapid, centralized updates of site-wide header and footer content across hundreds of services.

BackendNginxfooter
0 likes · 14 min read
Design and Implementation of JD's Unified Header/Footer Management System
Selected Java Interview Questions
Selected Java Interview Questions
Oct 27, 2023 · Backend Development

Diagnosing and Optimizing Throughput and CPU Usage in a Java Spring Backend Service

The article details a step‑by‑step investigation of a Java Spring backend that initially achieved only 50 req/s under load, identifies bottlenecks such as slow SQL, excessive logging, thread‑pool misconfiguration and costly Spring bean creation, and demonstrates how targeted optimizations roughly doubled throughput while reducing response times.

CPUProfilingjava
0 likes · 14 min read
Diagnosing and Optimizing Throughput and CPU Usage in a Java Spring Backend Service
Architecture Digest
Architecture Digest
Oct 27, 2023 · Backend Development

10 Essential Java Stream API Tips and Best Practices

This article presents ten practical tips for using the Java Stream API effectively, covering primitive streams for performance, avoiding nested streams, careful use of parallel streams, lazy evaluation, side‑effect avoidance, immutability, proper ordering of filter and map, method references, distinct, and sorted operations, each illustrated with concise code examples.

Stream APIbest practicesfunctional programming
0 likes · 7 min read
10 Essential Java Stream API Tips and Best Practices
Java Backend Technology
Java Backend Technology
Oct 27, 2023 · Backend Development

How I Reduced Helios API Latency from Seconds to Milliseconds with Arthas

This article details a step‑by‑step performance tuning of the Helios scoring API, showing how profiling with Arthas revealed costly date formatting and list operations, and how successive code refactors—changing data structures, eliminating redundant object creation, and optimizing loops—cut the response time from several seconds to just a few dozen milliseconds.

Arthasbackend-developmentjava
0 likes · 29 min read
How I Reduced Helios API Latency from Seconds to Milliseconds with Arthas
Selected Java Interview Questions
Selected Java Interview Questions
Oct 26, 2023 · Backend Development

Apache ShenYu: Reactive Java API Gateway Overview and Quick Start Guide

Apache ShenYu is a high‑performance, reactive Java API gateway offering dynamic traffic control, hot‑plug plugins, multi‑protocol support, observability, and easy deployment, with detailed module descriptions, quick Docker‑based startup commands, selector and rule routing concepts, and data synchronization mechanisms.

Apache ShenYuDockerMicroservices
0 likes · 6 min read
Apache ShenYu: Reactive Java API Gateway Overview and Quick Start Guide
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 26, 2023 · Backend Development

Using Java Lambda Expressions to Simplify Collection Operations

This article explains how Java lambda expressions and the Stream API can replace verbose loops, comparators, and aggregation code with concise, readable functional constructs, covering traversal, sorting, aggregation, optional handling, thread creation, mapping, grouping, and parallel processing of collections.

CollectionsLambdaParallel Stream
0 likes · 10 min read
Using Java Lambda Expressions to Simplify Collection Operations
Code Ape Tech Column
Code Ape Tech Column
Oct 26, 2023 · Information Security

OpenAPI Security Practices: AppId/AppSecret, Signature Generation, and Implementation Guide

This article explains how to use OpenAPI standards to secure API interfaces by introducing AppId/AppSecret mechanisms, RSA‑based signatures, timestamp and nonce anti‑replay measures, and provides complete Java code examples for client‑side signing and server‑side verification along with common protection techniques such as rate limiting and data validation.

AppIdAppSecretOpenAPI
0 likes · 28 min read
OpenAPI Security Practices: AppId/AppSecret, Signature Generation, and Implementation Guide
FunTester
FunTester
Oct 26, 2023 · Fundamentals

Mastering Java Locks: Reentrant, Synchronized, ReadWrite, and Spin Locks Explained

This article provides a comprehensive guide to Java locking mechanisms, covering ReentrantLock, synchronized, ReadWriteLock, and spin locks, with detailed code examples, performance considerations, common use cases, and best practices to ensure thread safety, avoid deadlocks, and optimize concurrency in multithreaded applications.

LocksReadWriteLockReentrantLock
0 likes · 17 min read
Mastering Java Locks: Reentrant, Synchronized, ReadWrite, and Spin Locks Explained
Java Architect Essentials
Java Architect Essentials
Oct 25, 2023 · Fundamentals

Comprehensive Guide to Using Debug in IntelliJ IDEA

This article provides a detailed tutorial on leveraging IntelliJ IDEA's Debug mode, covering UI components, basic shortcuts, variable inspection, expression evaluation, smart step‑into, breakpoint conditions, multithreaded debugging, frame dropping, interrupting execution, and JRebel activation for efficient Java development.

IDEIntelliJ IDEAdevelopment-tools
0 likes · 17 min read
Comprehensive Guide to Using Debug in IntelliJ IDEA
Sohu Tech Products
Sohu Tech Products
Oct 25, 2023 · Backend Development

Deep Analysis of Netty FastThreadLocal: From Production Issue to Source Code Implementation

The article traces a production bug where unreleased JDK ThreadLocal data corrupted user info, then compares JDK ThreadLocal with Netty’s FastThreadLocal, detailing their source‑code implementations, performance trade‑offs (O(n) vs O(1) access), memory‑leak risks, and recommends explicit remove() calls to avoid leaks.

FastThreadLocalMemory ManagementNetty
0 likes · 15 min read
Deep Analysis of Netty FastThreadLocal: From Production Issue to Source Code Implementation
vivo Internet Technology
vivo Internet Technology
Oct 25, 2023 · Backend Development

Optimizing Dubbo Routing and Load Balancing at Scale: Vivo's Practice

Vivo tackled high CPU overhead in large‑scale Dubbo deployments by disabling unused routers, caching routing results with BitMap intersections and epoch validation, optimizing weight calculations, and adding a grouping router, which together delivered over 100 % TPS gains for 20 k+ providers and cut CPU usage by roughly 27 %.

Backend ArchitectureDubboMicroservices
0 likes · 18 min read
Optimizing Dubbo Routing and Load Balancing at Scale: Vivo's Practice
Programmer DD
Programmer DD
Oct 25, 2023 · Backend Development

Why G1 Garbage Collector Beats CMS in Java 7+

The G1 Garbage Collector, introduced in Java 7 update 4, replaces CMS by using a region‑based design that minimizes pause times and improves throughput, and a detailed video with diagrams and code examples is provided to deepen understanding of its operation.

Garbage CollectionJVMbackend-development
0 likes · 2 min read
Why G1 Garbage Collector Beats CMS in Java 7+
JD Cloud Developers
JD Cloud Developers
Oct 25, 2023 · Backend Development

Master Kafka: Core Concepts, Architecture, and Practical Tips

This article explains Kafka's fundamentals, including topics, partitions, brokers, replication, producer‑consumer workflow, consumer groups, offset management, and common exception handling, while providing code examples and diagrams to help developers understand and effectively use this distributed messaging system.

Distributed SystemsKafkaMessage Queue
0 likes · 21 min read
Master Kafka: Core Concepts, Architecture, and Practical Tips
Architecture Digest
Architecture Digest
Oct 25, 2023 · Information Security

RBAC Permission Analysis and Spring Security Implementation Guide (including JWT and JSON Login)

This article explains the fundamentals of Role‑Based Access Control (RBAC), its model variants, permission concepts, and user‑group usage, then demonstrates practical Spring Security setups ranging from simple in‑memory authentication to JWT integration, JSON‑based login, password encryption, and database‑backed authentication with full code examples.

AuthorizationJWTRBAC
0 likes · 18 min read
RBAC Permission Analysis and Spring Security Implementation Guide (including JWT and JSON Login)
Java Backend Technology
Java Backend Technology
Oct 25, 2023 · Backend Development

12 Must‑Have IntelliJ IDEA Plugins to Supercharge Java Development

This article introduces twelve IntelliJ IDEA plugins—including Lombok, Free MyBatis, Translation, Alibaba Java Coding Guidelines, GenerateAllSetter, SequenceDiagram, CheckStyle‑IDEA, JRebel/XRebel, Codota, GsonFormat, Rainbow Brackets, and CodeGlance—that dramatically improve Java coding efficiency, code quality, and developer productivity.

DevelopmentPluginscode quality
0 likes · 12 min read
12 Must‑Have IntelliJ IDEA Plugins to Supercharge Java Development
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Oct 25, 2023 · Backend Development

Mastering Spring WebClient: Non‑Blocking HTTP Calls in Spring Boot

This guide introduces Spring WebClient, a reactive, non‑blocking HTTP client for Spring Boot, compares it with RestTemplate, explains configuration options, demonstrates usage patterns, error handling, memory limits, Reactor Netty customization, request bodies, form data, and filter registration, providing practical code examples throughout.

HTTPSpringBootjava
0 likes · 11 min read
Mastering Spring WebClient: Non‑Blocking HTTP Calls in Spring Boot
Java Architect Essentials
Java Architect Essentials
Oct 24, 2023 · Backend Development

10 Essential Java Stream API Best Practices

This article presents ten practical Java Stream API best‑practice tips—including using primitive streams, avoiding nested streams, cautious parallelism, lazy evaluation, side‑effect prevention, immutability, proper ordering of filter/map, method references, distinct and sorted usage—to help developers write more efficient, readable, and safe stream code.

Stream APIbackend-developmentfunctional programming
0 likes · 8 min read
10 Essential Java Stream API Best Practices
Architect
Architect
Oct 24, 2023 · Information Security

How to Secure Spring Boot APIs with RSA Encryption: A Step‑by‑Step Guide

This article walks through the theory behind RSA, illustrates two battlefield‑style scenarios for encryption and signing, and then shows how to integrate RSA‑based request/response encryption into a Spring Boot application using Maven, annotations, configuration files, and a JavaScript front‑end, complete with code snippets and troubleshooting tips.

Backend SecurityRSASpring Boot
0 likes · 12 min read
How to Secure Spring Boot APIs with RSA Encryption: A Step‑by‑Step Guide
Huolala Tech
Huolala Tech
Oct 24, 2023 · Operations

How Huolala Built a Scalable Unit Testing Platform with Tekton, SonarQube, and GitLab

This article describes Huolala's journey from a legacy PHP codebase to a Java‑centric microservice architecture, the common misconceptions and difficulties of unit testing, and the design of an automated CI/CD pipeline that integrates Tekton, SonarQube, GitLab Runner, JUnit5, and Mockito to enforce coverage gates and improve code quality.

GitLabSonarQubeautomation
0 likes · 15 min read
How Huolala Built a Scalable Unit Testing Platform with Tekton, SonarQube, and GitLab
Selected Java Interview Questions
Selected Java Interview Questions
Oct 24, 2023 · Backend Development

Performance Optimization of Helios Scoring Service Using Arthas Tracing

This article documents how the Helios scoring service, which processes hundreds of thousands of data points per day, was progressively optimized from several seconds to tens of milliseconds by analyzing Arthas trace data, refactoring loops, reducing object creation, and improving date handling, ultimately revealing that database access becomes the remaining bottleneck.

ArthasProfilingbackend-development
0 likes · 33 min read
Performance Optimization of Helios Scoring Service Using Arthas Tracing
FunTester
FunTester
Oct 24, 2023 · Backend Development

Using java.util.concurrent.locks.ReentrantLock: Blocking, Interruptible, and Timed Locks in Java

This article explains thread safety in Java multithreading, introduces the ReentrantLock class from java.util.concurrent.locks, demonstrates blocking, interruptible, and timed lock usage with code examples, discusses best practices, fairness, reentrancy, and performance considerations for effective concurrency control.

ReentrantLockconcurrencyjava
0 likes · 8 min read
Using java.util.concurrent.locks.ReentrantLock: Blocking, Interruptible, and Timed Locks in Java
Java Architect Essentials
Java Architect Essentials
Oct 23, 2023 · Backend Development

Design Patterns Employed in the MyBatis Framework

This article analyzes the MyBatis source code, illustrating how it applies a variety of design patterns—including Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template, Strategy, and Iterator—to solve complex architectural challenges and improve modularity, extensibility, and maintainability.

Design PatternsFactory PatternMyBatis
0 likes · 8 min read
Design Patterns Employed in the MyBatis Framework
JD Retail Technology
JD Retail Technology
Oct 23, 2023 · Backend Development

Understanding Java Exceptions and Custom Assertions for Elegant Error Handling

This article explains Java's Error and Exception hierarchy, differentiates compile-time and runtime exceptions, demonstrates standard try‑catch handling, shows how to throw custom exceptions, and introduces custom assertion interfaces that combine readable assertions with tailored exception types for cleaner backend code.

BackendCustom AssertionError Handling
0 likes · 9 min read
Understanding Java Exceptions and Custom Assertions for Elegant Error Handling
Selected Java Interview Questions
Selected Java Interview Questions
Oct 23, 2023 · Backend Development

Why RestTemplate Is Deprecated and How to Migrate to Spring WebClient

This article explains why Spring's RestTemplate has been deprecated, outlines the advantages of the non‑blocking WebClient, and provides detailed migration examples—including GET, POST, error handling, streaming, retries, custom configurations, and best‑practice guidelines for using WebClient in backend development.

backend-developmentjavareactive-programming
0 likes · 16 min read
Why RestTemplate Is Deprecated and How to Migrate to Spring WebClient
FunTester
FunTester
Oct 23, 2023 · Backend Development

Understanding and Managing Memory Leaks in Java Applications

This article explains the concept of memory leaks in Java applications, why they matter, how to identify common leak patterns and symptoms, and provides best practices, tools, and code examples for preventing, detecting, and resolving memory leaks to improve performance and stability.

Garbage Collectionbest practicesjava
0 likes · 18 min read
Understanding and Managing Memory Leaks in Java Applications
Liangxu Linux
Liangxu Linux
Oct 22, 2023 · Backend Development

How to Eliminate 95% of Try‑Catch Blocks with Unified Exception Handling in Spring

This article explains why excessive try‑catch blocks hurt readability, introduces Spring's @ControllerAdvice and custom Assert utilities combined with enums to create a clean, centralized exception handling framework, and demonstrates the approach with full code examples and practical test scenarios.

AssertBackendException Handling
0 likes · 22 min read
How to Eliminate 95% of Try‑Catch Blocks with Unified Exception Handling in Spring
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 22, 2023 · Information Security

Understanding Compression Bombs and How to Prevent Them in Java

This article explains what a compression bomb is, outlines its potential harms such as resource exhaustion and system crashes, describes detection methods, and provides detailed Java code examples for preventing compression bomb attacks by limiting unzip size, using safe libraries, and applying security policies.

compression bombjavaresource exhaustion
0 likes · 16 min read
Understanding Compression Bombs and How to Prevent Them in Java
Java High-Performance Architecture
Java High-Performance Architecture
Oct 22, 2023 · Backend Development

How DynamicTp Turns Java ThreadPoolExecutor into a Real‑Time, Configurable Powerhouse

This article introduces DynamicTp, a Java framework that extends ThreadPoolExecutor with dynamic configuration, real‑time monitoring, and alerting, enabling developers to adjust thread‑pool parameters on the fly, integrate with popular configuration centers, and achieve high‑availability and scalability in microservice environments.

Configuration CenterDynamic Thread PoolDynamicTp
0 likes · 12 min read
How DynamicTp Turns Java ThreadPoolExecutor into a Real‑Time, Configurable Powerhouse
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Oct 21, 2023 · Backend Development

Mastering Spring’s ObjectProvider: Flexible Dependency Injection Techniques

Spring’s ObjectProvider interface enhances dependency injection by allowing optional, lazy, and multiple bean retrieval, offering methods like getIfAvailable, orderedStream, and stream, with code examples demonstrating on-demand injection, fetching all implementations, and the underlying mechanism via DependencyObjectProvider in the DefaultListableBeanFactory.

dependency-injectionjavaobjectprovider
0 likes · 8 min read
Mastering Spring’s ObjectProvider: Flexible Dependency Injection Techniques
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 21, 2023 · Backend Development

Comprehensive Spring Boot Tutorial: Configuration, Logging, MVC, Data Access, Docker, and Custom Starters

This tutorial provides an in‑depth guide to Spring Boot covering core concepts such as project setup, configuration files, logging frameworks, MVC architecture, CRUD examples, error handling, embedded servlet containers, Docker integration, JDBC/MyBatis/JPA data access, startup process, and how to create custom starter modules.

BackendConfigurationDocker
0 likes · 47 min read
Comprehensive Spring Boot Tutorial: Configuration, Logging, MVC, Data Access, Docker, and Custom Starters
Alibaba Cloud Native
Alibaba Cloud Native
Oct 21, 2023 · Operations

How to Reveal Tracing Blind Spots with Continuous Profiling and Code Hotspots

This article explains the evolution of observability, outlines a step‑by‑step diagnosis workflow using metrics, logs and tracing, highlights the blind spots of traditional tracing, and demonstrates how Alibaba Cloud ARMS continuous profiling and code‑hotspot features can pinpoint slow call‑chain issues in Java applications.

APMContinuous ProfilingPerformance Diagnosis
0 likes · 14 min read
How to Reveal Tracing Blind Spots with Continuous Profiling and Code Hotspots
Selected Java Interview Questions
Selected Java Interview Questions
Oct 20, 2023 · Backend Development

Using @ConfigurationProperties and @PropertySources in Spring Boot

This article explains the purpose and differences of Spring's @ConfigurationProperties and @PropertySources annotations, provides step‑by‑step guidance for creating POJOs, configuration classes, property files, and demonstrates how to bind and inject configuration values in a Spring Boot application with code examples.

Configuration ManagementConfigurationPropertiesPropertySources
0 likes · 12 min read
Using @ConfigurationProperties and @PropertySources in Spring Boot
Architecture Digest
Architecture Digest
Oct 20, 2023 · Backend Development

Simplified Seckill Project: Architecture, Core Implementations, and Code Overview

This article introduces a simplified Seckill (flash‑sale) system built with SpringBoot, detailing its overall architecture, key backend techniques such as distributed sessions, Redis caching, RabbitMQ asynchronous ordering, security measures, oversell prevention, rate limiting, and provides essential code snippets and deployment screenshots.

BackendRabbitMQSeckill
0 likes · 8 min read
Simplified Seckill Project: Architecture, Core Implementations, and Code Overview
Java High-Performance Architecture
Java High-Performance Architecture
Oct 20, 2023 · Backend Development

Building a High‑Performance Java Seckill System with SpringBoot, Redis, and RabbitMQ

This article details the design and implementation of a Java-based Seckill (flash‑sale) platform built with SpringBoot, MySQL, Redis, RabbitMQ, and front‑end technologies, covering password hashing, distributed sessions, caching strategies, asynchronous order processing, oversell prevention, rate limiting, and provides code snippets and deployment screenshots.

RabbitMQSeckillSpringBoot
0 likes · 8 min read
Building a High‑Performance Java Seckill System with SpringBoot, Redis, and RabbitMQ
Code Ape Tech Column
Code Ape Tech Column
Oct 20, 2023 · Backend Development

Handling Exceptions in Java ThreadPool: submit vs execute and Practical Solutions

This article explains why exceptions submitted to a Java ThreadPool via submit are not printed, how to retrieve them using Future.get(), and presents three practical solutions—including try‑catch, Thread.setDefaultUncaughtExceptionHandler, and overriding afterExecute—to reliably capture and process thread pool exceptions.

ExecutorServiceThreadPoolconcurrency
0 likes · 15 min read
Handling Exceptions in Java ThreadPool: submit vs execute and Practical Solutions
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 20, 2023 · Fundamentals

Understanding Java List.remove Overloads and the Pitfalls of Arrays.asList

This article explains the overloaded remove methods in Java's List interface, demonstrates common mistakes when removing elements from ArrayList, clarifies the behavior of Arrays.asList with primitive arrays versus object arrays, and highlights related issues such as unsupported add/remove operations and index‑based deletions.

ArrayListArrays.asListList
0 likes · 10 min read
Understanding Java List.remove Overloads and the Pitfalls of Arrays.asList
JD Retail Technology
JD Retail Technology
Oct 19, 2023 · Fundamentals

Java Naming Conventions, Code Comments, and Advanced Language Features

This article explores the trade‑offs between efficiency, readability and maintainability in software development, presents common naming conventions and best‑practice guidelines for Java, discusses proper use of comments, and introduces advanced language constructs such as records, sealed classes and the upcoming Valhalla project.

Immutable ObjectsSealed ClassesValhalla
0 likes · 29 min read
Java Naming Conventions, Code Comments, and Advanced Language Features
Architecture & Thinking
Architecture & Thinking
Oct 19, 2023 · Backend Development

Mastering RocketMQ Message Filtering: Tags, SQL92, and Best Practices

This article explains how Apache RocketMQ performs server‑side message filtering using Tag and SQL92 expressions, outlines the workflow for producers and consumers, compares the two methods, and provides Java code examples for implementing both simple tag filtering and advanced SQL‑based attribute filtering.

Message FilteringRocketMQSQL92
0 likes · 10 min read
Mastering RocketMQ Message Filtering: Tags, SQL92, and Best Practices
Java Architect Essentials
Java Architect Essentials
Oct 18, 2023 · Backend Development

Design and Implementation of a Reactive Download Library for Spring MVC/WebFlux

This article introduces a Java library that simplifies downloading various resources—files, HTTP URLs, or custom objects—by using a single @Download annotation, reactive programming, customizable handlers, source factories, concurrent loading, compression, and event‑driven logging to streamline complex download workflows in Spring MVC and WebFlux applications.

DownloadFile CompressionWebFlux
0 likes · 16 min read
Design and Implementation of a Reactive Download Library for Spring MVC/WebFlux
vivo Internet Technology
vivo Internet Technology
Oct 18, 2023 · Backend Development

Understanding JDK ThreadLocal and Netty FastThreadLocal: Implementation, Advantages, and Best Practices

The article compares JDK ThreadLocal and Netty FastThreadLocal, detailing their implementations, performance trade‑offs, and memory‑leak risks, illustrates a real‑world HTTPS bug caused by missing remove() calls, and recommends always cleaning up ThreadLocal values while noting FastThreadLocal’s O(1) access may not always outperform the JDK version.

FastThreadLocalMemoryLeakNetty
0 likes · 17 min read
Understanding JDK ThreadLocal and Netty FastThreadLocal: Implementation, Advantages, and Best Practices
Selected Java Interview Questions
Selected Java Interview Questions
Oct 18, 2023 · Backend Development

Understanding Core Spring Boot Annotations: @SpringBootApplication, @SpringBootConfiguration, @EnableAutoConfiguration, and @ComponentScan

This article explains the core Spring Boot annotations—@SpringBootApplication, @SpringBootConfiguration, @EnableAutoConfiguration, and @ComponentScan—detailing their combined functionalities, usage patterns, and providing Java code examples to illustrate how they simplify application configuration and startup for developers.

ConfigurationSpring Bootannotations
0 likes · 7 min read
Understanding Core Spring Boot Annotations: @SpringBootApplication, @SpringBootConfiguration, @EnableAutoConfiguration, and @ComponentScan
Java High-Performance Architecture
Java High-Performance Architecture
Oct 18, 2023 · Backend Development

Mastering Caffeine: High‑Performance Local Cache for Java Applications

This article provides a comprehensive guide to Caffeine, a high‑performance Java local cache library, covering its fundamentals, loading strategies, eviction policies, refresh mechanisms, statistics, and step‑by‑step integration with Spring Boot using annotations such as @Cacheable and configuration examples.

CacheCaffeineSpringBoot
0 likes · 18 min read
Mastering Caffeine: High‑Performance Local Cache for Java Applications
Java Interview Crash Guide
Java Interview Crash Guide
Oct 18, 2023 · Backend Development

Why WebClient Beats RestTemplate in Spring: Non‑Blocking I/O, Functional API, and Advanced Error Handling

This article explains why Spring's RestTemplate is deprecated in favor of WebClient, highlighting benefits such as non‑blocking I/O, a functional programming style, streaming support, improved error handling, and how to configure timeouts, with full code examples for synchronous and asynchronous requests.

HTTPjavareactive
0 likes · 13 min read
Why WebClient Beats RestTemplate in Spring: Non‑Blocking I/O, Functional API, and Advanced Error Handling
Top Architect
Top Architect
Oct 17, 2023 · Backend Development

Implementation and Comparison of Fluent MyBatis, Native MyBatis, and MyBatis‑Plus for Student Score Statistics

This article presents a typical requirement to calculate count, minimum, maximum, and average scores for three subjects in a student_score table, demonstrates how to fulfill it using raw SQL, then shows step‑by‑step implementations with Fluent MyBatis, native MyBatis XML, and MyBatis‑Plus code generation, and finally compares the three approaches highlighting their pros and cons.

Fluent MyBatisMyBatisORM
0 likes · 9 min read
Implementation and Comparison of Fluent MyBatis, Native MyBatis, and MyBatis‑Plus for Student Score Statistics