Tagged articles
5000 articles
Page 45 of 50
Top Architect
Top Architect
Jan 26, 2024 · Backend Development

Using Spring Expression Language (SpEL) for Flexible Permission Control in Spring Boot

This article demonstrates how to integrate Spring Expression Language (SpEL) with custom annotations and AOP in Spring Boot to create a highly flexible, maintainable permission‑checking mechanism that can handle various complex access scenarios without scattering hard‑coded logic throughout the codebase.

AspectCustom AnnotationSpring Boot
0 likes · 11 min read
Using Spring Expression Language (SpEL) for Flexible Permission Control in Spring Boot
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jan 26, 2024 · Databases

Easy-Query: One of the Best Java ORM Libraries

Easy-Query is a Java ORM framework offering strong-typed, database-agnostic CRUD operations, complex SQL generation, multi-table joins, group awareness, and extensive function support, demonstrated through numerous code examples covering queries, joins, subqueries, pagination, and advanced features like enum handling and anonymous type alternatives.

Easy-QueryORMStrong Typing
0 likes · 16 min read
Easy-Query: One of the Best Java ORM Libraries
Java Captain
Java Captain
Jan 25, 2024 · Backend Development

Top 20 Classic Spring Boot Interview Questions

This article presents the 20 most common Spring Boot interview questions, covering fundamentals, features, configuration, performance, security, microservices, and deployment, to help job seekers prepare effectively for Spring Boot related positions in the industry.

FrameworkSpring Bootbackend-development
0 likes · 3 min read
Top 20 Classic Spring Boot Interview Questions
Selected Java Interview Questions
Selected Java Interview Questions
Jan 25, 2024 · Backend Development

Easy-Es: An ORM Framework for Elasticsearch in Java

Easy-Es is a Java ORM framework built on Elasticsearch's RestHighLevelClient that simplifies search‑engine development, offers Mybatis‑Plus‑like usage, provides configuration and dependency details, and includes complete code examples for creating indexes and performing CRUD operations within Spring Boot applications.

Easy-EsElasticsearchORM
0 likes · 8 min read
Easy-Es: An ORM Framework for Elasticsearch in Java
Architecture Digest
Architecture Digest
Jan 25, 2024 · Backend Development

Understanding Java 8 Functional Interfaces and Stream Operations

This article explains Java 8's lambda expressions, functional interfaces, and the Stream API, demonstrating how immutable values and functions enable concise data processing through lazy and eager evaluation, with practical code examples covering predicates, consumers, mapping, filtering, grouping, and reduction.

CollectorsFunctional InterfacesLambda
0 likes · 12 min read
Understanding Java 8 Functional Interfaces and Stream Operations
政采云技术
政采云技术
Jan 25, 2024 · Fundamentals

Java JDK 12‑17 New Features and Enhancements Overview

This article provides a comprehensive overview of the major language and runtime enhancements introduced in JDK 12 through JDK 17, covering switch expressions, micro‑benchmarking with JMH, class‑data sharing, garbage‑collector improvements, new String methods, hidden and sealed classes, records, and unified asynchronous logging, all illustrated with code examples.

Garbage CollectionJDKJMH
0 likes · 23 min read
Java JDK 12‑17 New Features and Enhancements Overview
Architect's Guide
Architect's Guide
Jan 25, 2024 · Backend Development

Automatic Unit Conversion in Java Using Maps and Custom Annotations

This article explains how to automate unit conversions for Java DTOs by first using a Map to mark fields and an enum for conversion types, then enhancing the solution with a custom annotation and reflection to make the process more reusable and maintainable.

BackendReflectionUnit Conversion
0 likes · 10 min read
Automatic Unit Conversion in Java Using Maps and Custom Annotations
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jan 25, 2024 · Backend Development

Essential IntelliJ IDEA Plugins for Java Development

This article introduces a curated collection of IntelliJ IDEA plugins—including Java Stream Debugger, JClassLib bytecode viewer, Maven Helper, JRebel, and many others—detailing their features, usage instructions, and benefits to enhance Java development productivity and code quality.

IDE pluginsIntelliJ IDEAdevelopment-tools
0 likes · 9 min read
Essential IntelliJ IDEA Plugins for Java Development
Su San Talks Tech
Su San Talks Tech
Jan 25, 2024 · Backend Development

Six Powerful Strategies for Implementing Scheduled Tasks in Java

This article reviews six practical approaches for scheduling recurring jobs in Java—including custom threads, JDK ScheduledExecutorService, Spring @Scheduled, Quartz, Elastic‑Job, and XXL‑JOB—highlighting their usage, configuration steps, and considerations for clustering and concurrency.

Distributed SchedulingQuartzScheduled Tasks
0 likes · 6 min read
Six Powerful Strategies for Implementing Scheduled Tasks in Java
DeWu Technology
DeWu Technology
Jan 24, 2024 · Backend Development

Dynamic Parameter Handling with Spring SpEL and Strategy Pattern

The article demonstrates replacing fragile if‑else channel logic with a Strategy pattern and Spring Expression Language, storing parameter mappings in a database so that new payment channels or Excel formats can be added simply by configuring SpEL expressions, achieving a flexible, maintainable, data‑driven solution.

BackendDynamic ConfigurationSpEL
0 likes · 17 min read
Dynamic Parameter Handling with Spring SpEL and Strategy Pattern
Java High-Performance Architecture
Java High-Performance Architecture
Jan 24, 2024 · Backend Development

8 Powerful Ways to Implement Asynchronous Execution in Java

Understanding asynchronous execution in Java can dramatically reduce latency for tasks such as sending SMS, emails, or updating data, and this article walks through eight practical implementations—from raw Threads and Futures to Spring @Async, ApplicationEvent, message queues, ThreadUtil, and Guava ListenableFuture—complete with code samples and best‑practice tips.

AsynchronousCompletableFutureGuava
0 likes · 13 min read
8 Powerful Ways to Implement Asynchronous Execution in Java
Java Backend Technology
Java Backend Technology
Jan 24, 2024 · Backend Development

How to Export Any Java Object List to Excel Using Reflection and CSV

This article demonstrates a step‑by‑step method for exporting a list of unknown Java objects to an Excel/CSV file by leveraging reflection to dynamically generate headers and rows, complete with Maven dependencies, utility code, usage examples, and an extensible annotation‑based approach.

CSVReflectionSpring Boot
0 likes · 11 min read
How to Export Any Java Object List to Excel Using Reflection and CSV
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 24, 2024 · Backend Development

Master Dynamic Multi-DataSource Switching in Spring Boot 2.7

This tutorial explains why enterprise applications need multiple data sources, outlines the scenarios such as business isolation, migration, performance and maintainability, and provides a step‑by‑step implementation of dynamic data source routing in Spring Boot using custom context holders, routing classes, annotations, aspects, configuration, and web‑request control.

Multi-DataSourceSpring Bootbackend-development
0 likes · 12 min read
Master Dynamic Multi-DataSource Switching in Spring Boot 2.7
Architect
Architect
Jan 23, 2024 · Backend Development

How I Cut a Java Service’s Response Time from Seconds to Milliseconds with Arthas

The article details how a high‑traffic Helios scoring service, originally taking several seconds to return a day’s worth of data, was profiled with Arthas and iteratively optimized through four code revisions, ultimately reducing latency to around 60 ms while exposing key performance pitfalls such as object creation, date formatting, and trivial list operations.

ArthasBackendMicroservices
0 likes · 35 min read
How I Cut a Java Service’s Response Time from Seconds to Milliseconds with Arthas
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jan 23, 2024 · Backend Development

Understanding Java Annotations: Types, Usage, and Implementation

This article provides a comprehensive overview of Java annotations, covering their definition, common applications, classification into standard, meta, and custom annotations, detailed examples of built‑in annotations such as @Override, @Deprecated, @SuppressWarnings, and guidance on creating and using custom annotations with code snippets.

Reflectionannotationsbackend-development
0 likes · 8 min read
Understanding Java Annotations: Types, Usage, and Implementation
macrozheng
macrozheng
Jan 23, 2024 · Backend Development

Master Spring Boot 3 Http Interface: Declarative Remote Calls with WebFlux

This article explains how Spring Boot 3's Http Interface feature enables declarative HTTP service calls by defining Java interfaces, covering dependency setup, interface definition, token handling, configuration, controller integration, testing with Postman, and a brief discussion of its WebFlux dependency.

Declarative RESTHTTP InterfaceRemote Call
0 likes · 10 min read
Master Spring Boot 3 Http Interface: Declarative Remote Calls with WebFlux
Code Ape Tech Column
Code Ape Tech Column
Jan 23, 2024 · Information Security

Implementing Sa-Token Authentication and Authorization in Spring Cloud Gateway

This article demonstrates how to replace heavyweight Spring Security with the lightweight Sa-Token framework by configuring token generation, session management, role and permission retrieval, and global gateway filters in a Spring Cloud micro‑service architecture, including complete code examples and deployment tips.

AuthenticationAuthorizationSa-Token
0 likes · 20 min read
Implementing Sa-Token Authentication and Authorization in Spring Cloud Gateway
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 23, 2024 · Information Security

Create a Secure OAuth2 Authorization Server with Spring Boot 3.1 & JDK 17

This guide walks through setting up Spring Authorization Server on Spring Boot 3.1 with JDK 17, covering environment setup, required dependencies, custom security filter chains, in‑memory user and client configurations, JWT signing, endpoint settings, consent service, and step‑by‑step testing of the authorization code flow.

Authorization ServerOAuth2Spring Boot
0 likes · 9 min read
Create a Secure OAuth2 Authorization Server with Spring Boot 3.1 & JDK 17
Architect
Architect
Jan 22, 2024 · Backend Development

Designing a Unified API Response and Global Exception Handling in Spring Boot

This article walks through creating a standardized JSON response structure with a Result enum and wrapper class, demonstrates how to return it from controllers, implements a @ControllerAdvice‑based global exception handler with custom exceptions, and configures Logback for comprehensive logging in Spring Boot applications.

Exception HandlingSpring BootUnified response
0 likes · 17 min read
Designing a Unified API Response and Global Exception Handling in Spring Boot
IT Services Circle
IT Services Circle
Jan 22, 2024 · Backend Development

Understanding DDD Layered Architecture and Its Implementation in Java

This article explains the limitations of traditional MVC, introduces the four‑layer DDD architecture (Interface, Application, Domain, Infrastructure), discusses the Dependency Inversion Principle, compares package‑level and Maven‑module implementations, and details the roles and conversions of Entity, DO, and DTO models for Java projects.

DDDDomain ModelingMicroservices
0 likes · 13 min read
Understanding DDD Layered Architecture and Its Implementation in Java
Java Tech Enthusiast
Java Tech Enthusiast
Jan 22, 2024 · Backend Development

Transitioning from Java to Rust: Performance, Concurrency, and Ecosystem Insights

Switching from Java to Rust can shrink binaries from dozens of megabytes to a few kilobytes, cut memory use and latency dramatically, and provide safer, built‑in concurrency and async support, while Java remains attractive for its low learning curve and massive library ecosystem, prompting developers to wrap Rust crates for Java‑like productivity as they adopt Rust long‑term.

AsyncRustbackend-development
0 likes · 10 min read
Transitioning from Java to Rust: Performance, Concurrency, and Ecosystem Insights
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jan 22, 2024 · Fundamentals

Understanding JVM Architecture and Core Mechanisms

This article provides a comprehensive overview of the Java Virtual Machine, detailing its architecture, class loading process, runtime data areas, and execution engine, including interpreter and JIT compilation, to help readers grasp JVM fundamentals for Java development and interview preparation.

JITJVMRuntime Data Area
0 likes · 8 min read
Understanding JVM Architecture and Core Mechanisms
Selected Java Interview Questions
Selected Java Interview Questions
Jan 22, 2024 · Backend Development

Why HikariCP Is So Fast: An In‑Depth Source Code Exploration

This article examines the design and implementation details of HikariCP—Spring Boot's default JDBC connection pool—explaining how its dual‑pool architecture, FastList collection, custom ConcurrentBag, bytecode‑level optimizations, and efficient connection acquisition and release mechanisms together deliver exceptional performance for Java backend applications.

BackendConnection PoolHikariCP
0 likes · 14 min read
Why HikariCP Is So Fast: An In‑Depth Source Code Exploration
macrozheng
macrozheng
Jan 22, 2024 · Backend Development

Why Maven Version Ranges Can Break Your Build—and How to Fix Them

This article explains Maven's version range syntax, illustrates how open-ended ranges like [2.3.0,) can cause unpredictable dependency versions and build failures, and offers practical solutions such as specifying exact versions or using dependencyManagement to ensure stable, reproducible builds.

Build StabilityVersion Rangesdependency management
0 likes · 7 min read
Why Maven Version Ranges Can Break Your Build—and How to Fix Them
Su San Talks Tech
Su San Talks Tech
Jan 22, 2024 · Backend Development

How to Supercharge Excel-to-Database Imports with Async and Thread‑Pool Tuning in Java

This article walks through the common slow Excel‑to‑DB import pattern, shows why it becomes a bottleneck, and presents three progressive optimizations—including caching, asynchronous multi‑threaded reading, and double‑async processing—along with detailed Spring @Async thread‑pool configuration and EasyExcel alternatives, all illustrated with complete Java code samples.

AsyncExcelThreadPool
0 likes · 17 min read
How to Supercharge Excel-to-Database Imports with Async and Thread‑Pool Tuning in Java
FunTester
FunTester
Jan 22, 2024 · Fundamentals

Boost Java Serialization Performance with ChronicleWire: A Practical Guide

This article explains Java's built‑in serialization drawbacks, introduces the open‑source ChronicleWire library as a high‑performance alternative supporting multiple data formats, and provides step‑by‑step code examples for encoding, decoding, and compatibility handling in real‑world Java applications.

BinaryChronicleWireData Formats
0 likes · 13 min read
Boost Java Serialization Performance with ChronicleWire: A Practical Guide
Architect's Guide
Architect's Guide
Jan 21, 2024 · Backend Development

Retrieving User IP Address and Geolocation in Java with ip2region

This article explains how to obtain a client’s IP address from an HttpServletRequest, convert it to a geographic location using the ip2region library, and provides multiple Java implementation options, Maven dependencies, and performance testing commands for efficient backend IP lookup.

BackendIP geolocationip2region
0 likes · 15 min read
Retrieving User IP Address and Geolocation in Java with ip2region
Selected Java Interview Questions
Selected Java Interview Questions
Jan 20, 2024 · Backend Development

Implementing Sa-Token Authentication in Spring Cloud Gateway with Redis and Nacos

This article demonstrates how to replace heavyweight Spring Security with the lightweight Sa-Token framework by configuring token generation, session storage in Redis, service discovery via Nacos, and permission checks in a Spring Cloud Gateway micro‑service architecture, complete with code examples and deployment settings.

AuthenticationMicroservicesNacos
0 likes · 21 min read
Implementing Sa-Token Authentication in Spring Cloud Gateway with Redis and Nacos
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 20, 2024 · Backend Development

Mastering Spring’s Event System: Decoupling, Asynchronous Handling, and Generic Events

This article explains Spring’s event mechanism, covering its observer‑based design, benefits such as decoupling and asynchronous handling, standard framework events, and advanced generic event techniques using subclassing or ResolvableTypeProvider to achieve type‑safe, flexible event publishing.

Generic TypesObserver Patternbackend-development
0 likes · 7 min read
Mastering Spring’s Event System: Decoupling, Asynchronous Handling, and Generic Events
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jan 20, 2024 · Backend Development

Master Java’s Parent Delegation Model: How Class Loaders Work and Why It Matters

This article provides a detailed explanation of Java’s parent delegation model, covering its definition, visual diagrams, advantages and disadvantages, and a six-step loading process, helping readers understand how class loaders prioritize parent loaders to ensure security and avoid duplicate class loading.

BackendJVMParent Delegation
0 likes · 5 min read
Master Java’s Parent Delegation Model: How Class Loaders Work and Why It Matters
JD Retail Technology
JD Retail Technology
Jan 19, 2024 · Backend Development

Comprehensive Guide to Upgrading from JDK8/11 to JDK17: Performance Gains, New Language Features, and Migration Steps

This article explains why upgrading from JDK8 or JDK11 to the long‑term support JDK17 brings significant garbage‑collector performance improvements, new language features, and better framework compatibility, and provides detailed migration steps, Maven and SpringBoot configuration changes, and troubleshooting tips.

GarbageCollectionJDKSpringBoot
0 likes · 16 min read
Comprehensive Guide to Upgrading from JDK8/11 to JDK17: Performance Gains, New Language Features, and Migration Steps
Java Tech Enthusiast
Java Tech Enthusiast
Jan 19, 2024 · Fundamentals

Understanding Maven Version Ranges and Dependency Management

Maven’s version ranges let you specify acceptable artifact versions, but open‑ended ranges like [2.3.0,) cause Maven to fetch the newest matching release, leading to nondeterministic builds and potential incompatibilities, so you should pin exact versions and use dependencyManagement for consistent, stable builds.

Version Rangesbuild toolsdependency management
0 likes · 6 min read
Understanding Maven Version Ranges and Dependency Management
Architecture Digest
Architecture Digest
Jan 19, 2024 · Backend Development

Assembling Hierarchical Tree Structures with Java Streams, Caching and Message Queues

This article demonstrates how to efficiently build department and regional hierarchical trees in Java by fetching all records in a single database query, using Stream API, Lambda expressions, in‑memory grouping, Redis caching and RocketMQ for asynchronous updates, achieving sub‑second response times even with tens of thousands of nodes.

BackendRocketMQStream
0 likes · 11 min read
Assembling Hierarchical Tree Structures with Java Streams, Caching and Message Queues
AntTech
AntTech
Jan 19, 2024 · Backend Development

Fury: A High‑Performance Multi‑Language Serialization Framework and Its Path to the Apache Incubator

Fury is a JIT‑compiled, zero‑copy, multi‑language serialization framework that delivers up to 170× speed improvements over traditional serializers, supports Java, Python, C++, Go, JavaScript, Scala and Rust, and has recently been donated to the Apache Software Foundation after a successful open‑source journey.

ApacheCross-languageFury
0 likes · 17 min read
Fury: A High‑Performance Multi‑Language Serialization Framework and Its Path to the Apache Incubator
Java High-Performance Architecture
Java High-Performance Architecture
Jan 19, 2024 · Backend Development

Mastering Data Isolation in Java: MyBatis Interceptor & Custom Annotations

This article walks through the challenges of environment‑specific data isolation in a Java project, explains why adding an env column to every table is impractical, and presents a clean solution using a MyBatis interceptor that rewrites SQL and custom annotations to control filtering, ensuring safe, maintainable code across pre‑release, gray, and production environments.

Custom AnnotationData IsolationInterceptor
0 likes · 12 min read
Mastering Data Isolation in Java: MyBatis Interceptor & Custom Annotations
Architect's Guide
Architect's Guide
Jan 19, 2024 · Backend Development

Implementing a Graceful Retry Mechanism for Third‑Party API Calls in Spring Boot

This article explains why retry mechanisms are essential for unstable third‑party API calls, introduces Spring Retry, demonstrates how to configure synchronous and asynchronous retries, handle exception inclusion/exclusion, integrate circuit‑breaker fallback with Hystrix, and provides performance testing guidance, all with practical code examples.

HystrixRetrySpring Boot
0 likes · 8 min read
Implementing a Graceful Retry Mechanism for Third‑Party API Calls in Spring Boot
Java Architect Essentials
Java Architect Essentials
Jan 18, 2024 · Backend Development

Implement Dynamic Data Source Switching in Spring Boot with ThreadLocal and AbstractRoutingDataSource

This tutorial explains how to switch between multiple databases in a Spring Boot application by implementing ThreadLocal and AbstractRoutingDataSource, covering code implementation, configuration, testing, annotation-based switching, and dynamic addition of data sources with detailed examples and practical guidance.

DynamicDataSourceSpringBootThreadLocal
0 likes · 15 min read
Implement Dynamic Data Source Switching in Spring Boot with ThreadLocal and AbstractRoutingDataSource
Architect
Architect
Jan 18, 2024 · Backend Development

How Vivo Supercharged Dubbo Routing with Async Caching and Load‑Balancing Optimizations

This article analyzes the CPU‑heavy routing and load‑balancing modules of Dubbo in a large‑scale microservice cluster, identifies O(n) traversal as the root cause, and presents a step‑by‑step redesign—including disabling unused routers, caching route results with epoch validation, BitMap‑based intersection, and grouped routing—that reduces CPU usage by up to 27% and doubles TPS when provider instances exceed 2,000.

DubboMicroservicescaching
0 likes · 21 min read
How Vivo Supercharged Dubbo Routing with Async Caching and Load‑Balancing Optimizations
Architecture Digest
Architecture Digest
Jan 18, 2024 · Backend Development

Useful Open-Source Libraries for Java Developers

This article presents a curated collection of essential open‑source Java libraries—including logging, JSON parsing, testing, utility, HTTP, XML, Excel, bytecode, database connection pooling, messaging, PDF, date‑time, collections, email, HTML parsing, encryption, embedded databases, JDBC debugging, serialization, networking, and more—to help developers boost productivity and write better code.

JSONjavaopen source libraries
0 likes · 10 min read
Useful Open-Source Libraries for Java Developers
macrozheng
macrozheng
Jan 18, 2024 · Backend Development

28 Essential IntelliJ IDEA Tips to Supercharge Your Java Development

This article compiles 28 practical IntelliJ IDEA shortcuts, settings tweaks, and plugin recommendations that help Java developers quickly navigate code history, manage memory, customize keymaps, automate imports, visualize dependencies, and improve overall coding efficiency.

IDE shortcutsIntelliJ IDEAdevelopment-tools
0 likes · 14 min read
28 Essential IntelliJ IDEA Tips to Supercharge Your Java Development
Code Ape Tech Column
Code Ape Tech Column
Jan 18, 2024 · Backend Development

Integrating DDD Four‑Layer Architecture and Microservice SDK with the D3boot Framework

This article explains how to combine Domain‑Driven Design's four‑layer architecture with a microservice‑oriented application SDK, introduces the D3boot lightweight framework and its modular base components, and shows how the approach simplifies building SaaS and PaaS systems while keeping code reusable and maintainable.

DDDFrameworkMicroservices
0 likes · 10 min read
Integrating DDD Four‑Layer Architecture and Microservice SDK with the D3boot Framework
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jan 18, 2024 · Backend Development

Understanding Java's UUID.randomUUID() Implementation

This article examines the inner workings of Java's java.util.UUID class, detailing how UUID.randomUUID() generates version‑4 UUIDs using SecureRandom, the bitwise adjustments for version and variant fields, and the constructor logic that assembles the final 128‑bit identifier.

BackendSecureRandomjava
0 likes · 9 min read
Understanding Java's UUID.randomUUID() Implementation
Architect
Architect
Jan 17, 2024 · Backend Development

How to Build a Custom Spring Security Authentication Flow with Redis Token Management

This article walks through the complete process of implementing a custom login authentication in Spring Boot, including custom authentication filters, success/failure handlers, a token stored in Redis, role‑based URL security, and detailed configuration of Spring Security headers and session handling.

Custom AuthenticationSpring Bootjava
0 likes · 24 min read
How to Build a Custom Spring Security Authentication Flow with Redis Token Management
JD Tech
JD Tech
Jan 17, 2024 · Fundamentals

Best Practices for Naming, Comments, and Code Structure in Java Development

This article provides a comprehensive guide to Java development fundamentals, covering naming conventions, comment quality, class and method definitions, object design patterns, and performance considerations such as immutable types, sealed classes, and the Valhalla project, with practical code examples and best‑practice recommendations.

best-practicescode-qualitydesign-patterns
0 likes · 31 min read
Best Practices for Naming, Comments, and Code Structure in Java Development
High Availability Architecture
High Availability Architecture
Jan 17, 2024 · Backend Development

Rate Limiting Algorithms: Fixed Window, Sliding Window, Leaky Bucket, and Token Bucket – Principles, Java Implementations, Pros & Cons

This article explains why rate limiting is essential for high‑concurrency systems, defines rate limiting, introduces four common algorithms (fixed‑window, sliding‑window, leaky‑bucket, token‑bucket), provides Java code examples for each, compares their advantages and disadvantages, and shows practical usage with Guava's RateLimiter and AOP annotations.

Backendalgorithmaop
0 likes · 17 min read
Rate Limiting Algorithms: Fixed Window, Sliding Window, Leaky Bucket, and Token Bucket – Principles, Java Implementations, Pros & Cons
JD Cloud Developers
JD Cloud Developers
Jan 16, 2024 · Backend Development

Choosing the Right Java Local Cache: Guava vs Caffeine vs Ehcache

An in‑depth comparison of popular Java in‑process caching solutions—Guava, Caffeine, and Ehcache—covers their expiration policies, capacity limits, eviction strategies, monitoring features, performance optimizations, and ideal use cases, helping developers select the most suitable cache for their applications.

CacheCaffeineEhcache
0 likes · 10 min read
Choosing the Right Java Local Cache: Guava vs Caffeine vs Ehcache
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 16, 2024 · Backend Development

Spring 6: HTTP Interfaces, RestClient, i18n ProblemDetail, Virtual Threads

This guide walks through Spring 6’s new capabilities—including Java 17 baseline, Jakarta namespace migration, HTTP interface proxies with @HttpExchange, WebClient integration via JDK HttpClient, internationalized ProblemDetail handling, the RestClient API, and executing asynchronous tasks on virtual threads—all demonstrated with concise code examples.

HTTPProblemDetailRestClient
0 likes · 7 min read
Spring 6: HTTP Interfaces, RestClient, i18n ProblemDetail, Virtual Threads
Java Captain
Java Captain
Jan 15, 2024 · Backend Development

Custom Exception Handling for Feign Calls in Spring Distributed Services

This article explains how to implement unified, user‑friendly exception handling for Feign‑based service calls in a Spring distributed architecture by customizing ErrorDecoder, defining result objects, and using global @ControllerAdvice to return clear error codes and messages to front‑end users.

BackendException Handlingjava
0 likes · 12 min read
Custom Exception Handling for Feign Calls in Spring Distributed Services
Java Captain
Java Captain
Jan 15, 2024 · Backend Development

Implementing Interface Rate Limiting with Spring Interceptor and Redis

This article explains how to prevent API abuse by using a Spring Interceptor combined with Redis to count requests per IP and URI, demonstrates step‑by‑step code implementations, discusses custom annotations, mapping rules, time‑window challenges, path‑parameter handling, and real‑IP extraction for robust backend rate limiting.

BackendInterceptorannotation
0 likes · 15 min read
Implementing Interface Rate Limiting with Spring Interceptor and Redis
Java Captain
Java Captain
Jan 15, 2024 · Operations

Java Distributed Tracing: Concepts, Principles, Implementation, and Application Scenarios

This article explains the concept of distributed tracing, outlines its underlying principles in Java, details step‑by‑step implementation using popular SDKs, and describes common application scenarios such as performance monitoring, fault diagnosis, complex event handling, traffic analysis, and system optimization.

Distributed TracingFault DiagnosisMicroservices
0 likes · 5 min read
Java Distributed Tracing: Concepts, Principles, Implementation, and Application Scenarios
Architect
Architect
Jan 15, 2024 · Backend Development

Implementing Data Isolation in MyBatis with a Custom Interceptor and Annotations

This article walks through the problem of sharing a single database across pre‑release, gray, and production environments, explains why adding an env column to dozens of tables is error‑prone, and demonstrates a MyBatis interceptor‑based solution with custom annotations that isolates data while preserving backward compatibility.

BackendCustom AnnotationData Isolation
0 likes · 14 min read
Implementing Data Isolation in MyBatis with a Custom Interceptor and Annotations
Selected Java Interview Questions
Selected Java Interview Questions
Jan 15, 2024 · Backend Development

Preventing Inventory Overselling in High‑Concurrency Scenarios: Java, Redis Distributed Lock, MySQL Row Lock, Optimistic Lock, and SQL Solutions

The article analyzes the inventory oversell problem caused by concurrent purchase requests and presents four backend solutions—including a Redis distributed lock, MySQL row lock, optimistic locking with version fields, and conditional SQL updates—illustrated with Java code and SQL examples to ensure data consistency.

concurrencydistributed-lockjava
0 likes · 10 min read
Preventing Inventory Overselling in High‑Concurrency Scenarios: Java, Redis Distributed Lock, MySQL Row Lock, Optimistic Lock, and SQL Solutions
DaTaobao Tech
DaTaobao Tech
Jan 15, 2024 · Backend Development

Refactoring Java Sale‑Type Parsing: From Simple Method to Design Patterns

Starting from a basic Java method that maps a sale‑type string to an integer, the article incrementally refactors the code by applying null‑safe utilities, constants, static methods, ternary/Optional expressions, enums with lookup maps, a combined relation enum, and finally a Strategy pattern with a container, illustrating how each step improves safety, readability, extensibility, and testability.

Code RefactoringDesign PatternsStrategy Pattern
0 likes · 13 min read
Refactoring Java Sale‑Type Parsing: From Simple Method to Design Patterns
Code Ape Tech Column
Code Ape Tech Column
Jan 15, 2024 · Backend Development

Understanding the Internal Working of Redisson DelayedQueue

This article explains how Redisson's DelayedQueue implements a distributed delayed message queue, covering basic usage, internal data structures, the overall processing flow, and detailed code analysis of sending, receiving, and initializing delayed messages in Java.

DelayedQueueDistributedQueueMessageQueue
0 likes · 16 min read
Understanding the Internal Working of Redisson DelayedQueue
FunTester
FunTester
Jan 14, 2024 · Backend Development

How to Build a More Flexible Java Phaser: Introducing FunPhaser

This article explains the limitations of java.util.concurrent.Phaser for large‑scale asynchronous tasks, presents a custom FunPhaser implementation that removes the party‑count ceiling, details its design, API, and usage examples, and compares it with the original Phaser approach.

Custom SynchronizerPhaserconcurrency
0 likes · 8 min read
How to Build a More Flexible Java Phaser: Introducing FunPhaser
Java Architect Essentials
Java Architect Essentials
Jan 14, 2024 · Fundamentals

Essential IntelliJ IDEA Tips to Boost Java Development Efficiency

This article presents a comprehensive collection of practical IntelliJ IDEA tips for Java developers, covering code history viewing, memory settings, Eclipse keymap, case‑insensitive suggestions, disabling inspections, documentation templates, method separators, multi‑line tabs, bracket navigation, code completion, fuzzy search, class preview, call hierarchy, Maven dependency visualization, SSH tool, and more to significantly boost coding efficiency.

IDE TipsIntelliJ IDEAdevelopment-tools
0 likes · 12 min read
Essential IntelliJ IDEA Tips to Boost Java Development Efficiency
Selected Java Interview Questions
Selected Java Interview Questions
Jan 14, 2024 · Backend Development

Introducing Liteflow: A Lightweight Java Rule Engine for Backend Development

This article explains the concepts, architecture, and practical usage of Liteflow, a lightweight Java rule engine that integrates with Spring Boot, supports various rule file formats, multiple component types, data contexts, and configuration options for building complex workflow processes in backend applications.

LiteFlowSpring Bootjava
0 likes · 9 min read
Introducing Liteflow: A Lightweight Java Rule Engine for Backend Development
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 14, 2024 · Backend Development

Master Spring Boot 3.0.9: Access Command‑Line, JSON, YAML, Encryption & More

This guide demonstrates how to retrieve command‑line arguments, use JSON‑encoded properties, load external configuration files, encrypt values, parse YAML, generate random properties, handle internationalization, customize the banner, and configure the application context in Spring Boot 3.0.9, providing code examples for each feature.

ConfigurationSpring BootYAML
0 likes · 9 min read
Master Spring Boot 3.0.9: Access Command‑Line, JSON, YAML, Encryption & More
Architect
Architect
Jan 13, 2024 · Backend Development

Mastering API Retry Strategies in Java: 8 Proven Techniques

This article walks through eight practical ways to implement retry mechanisms for remote API calls in Java, covering simple loops, recursion, Apache HttpClient settings, Spring Retry, Resilience4j, custom utilities, asynchronous thread‑pool retries, and message‑queue based retries, while highlighting trade‑offs and best‑practice guidelines.

HttpClientRetrybest practices
0 likes · 18 min read
Mastering API Retry Strategies in Java: 8 Proven Techniques
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jan 13, 2024 · Big Data

What Is Kafka? Overview, Architecture, Features, Deployment, and Sample Code

Kafka, an Apache‑developed distributed publish/subscribe messaging system, provides reliable, high‑throughput real‑time data streaming with producers, consumers, brokers, streams, and connectors, and the article explains its core concepts, architecture, advantages, deployment methods, use cases, and includes Java code examples for producers and consumers.

Big DataKafkaMessage Queue
0 likes · 8 min read
What Is Kafka? Overview, Architecture, Features, Deployment, and Sample Code
Su San Talks Tech
Su San Talks Tech
Jan 13, 2024 · Backend Development

Mastering Delayed Task Scheduling in Java: From Quartz to Redis and RabbitMQ

This article explains the concept of delayed tasks, compares them with scheduled tasks, and evaluates multiple implementation strategies—including database polling, JDK DelayQueue, Netty HashedWheelTimer, Redis ZSET, Redis keyspace notifications, and RabbitMQ delayed queues—highlighting their advantages and drawbacks for order‑processing scenarios.

QuartzRabbitMQScheduling
0 likes · 15 min read
Mastering Delayed Task Scheduling in Java: From Quartz to Redis and RabbitMQ
Selected Java Interview Questions
Selected Java Interview Questions
Jan 12, 2024 · Backend Development

Efficient Excel Processing with EasyExcel in Java

This article introduces EasyExcel, a Java library that simplifies high‑performance Excel read/write operations, explains its core concepts, provides practical code examples for reading, writing, and filling Excel files, and discusses performance‑optimizing techniques and important usage considerations.

BackendDataProcessingExcel
0 likes · 16 min read
Efficient Excel Processing with EasyExcel in Java
Programmer DD
Programmer DD
Jan 12, 2024 · Backend Development

How to Integrate Camunda Workflow Engine with Spring Boot: Step‑by‑Step Guide

This article walks Java and Spring Boot developers through installing Camunda, configuring dependencies, setting up the database, creating a simple BPMN process with user and service tasks, and testing the workflow via the Camunda web interface, providing code snippets and screenshots for each step.

BPMNCamundaSpring Boot
0 likes · 9 min read
How to Integrate Camunda Workflow Engine with Spring Boot: Step‑by‑Step Guide
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 12, 2024 · Backend Development

Unlock Spring’s Hidden Power: Essential Utility Classes for Faster Backend Development

This article explores Spring 5.3.23’s core utility classes—including ID generators, concurrent LRU cache, concurrency throttling, StopWatch timing, digest calculation, method invocation, reflection helpers, route matching, collection utilities, and placeholder parsing—providing code examples, usage guidelines, and best practices to boost backend development efficiency.

CacheID Generatorconcurrency
0 likes · 12 min read
Unlock Spring’s Hidden Power: Essential Utility Classes for Faster Backend Development
Java Tech Enthusiast
Java Tech Enthusiast
Jan 11, 2024 · Backend Development

Resolving Maven Archetype Generation Issues

When Maven’s archetype plugin hangs during project generation, you can resolve it by specifying archetypeCatalog=internal or local as a command-line or VM option, placing a downloaded archetype-catalog.xml in ~/.m2, or configuring a domestic mirror in settings.xml, after which generation completes in seconds.

ArchetypeIDEbuild
0 likes · 4 min read
Resolving Maven Archetype Generation Issues
Selected Java Interview Questions
Selected Java Interview Questions
Jan 11, 2024 · Backend Development

Design and Implementation of a Flexible Data Permission System in Java

This article presents a comprehensive design and implementation of a customizable data permission framework for Java backend applications, detailing the requirements, rule table structure, strategy pattern handling, custom annotations, AOP integration, and practical examples with full source code snippets.

Custom AnnotationData PermissionMyBatisPlus
0 likes · 22 min read
Design and Implementation of a Flexible Data Permission System in Java
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 11, 2024 · Backend Development

Master Spring Cloud Task: Build Short-Lived Microservices with Java

This guide walks you through setting up Spring Cloud Task on Spring Boot 2.7 with Spring Cloud 2021, covering environment requirements, Maven dependencies, configuration files, task annotations, ApplicationRunner implementation, database schema, task listeners, and advanced task configuration options.

MicroservicesSpring BootSpring Cloud Task
0 likes · 10 min read
Master Spring Cloud Task: Build Short-Lived Microservices with Java
Zhuanzhuan Tech
Zhuanzhuan Tech
Jan 10, 2024 · Information Security

Log Desensitization Practices and APT‑Based Automatic toString Generation in Java

This article describes how ZhaiZhai implements log desensitization for personal data protection using a reusable Java utility class, JSON serializer customizations with Jackson, and an annotation‑processing tool that automatically generates masked toString methods, while also discussing operational challenges and future plans.

APTAnnotation Processingjava
0 likes · 13 min read
Log Desensitization Practices and APT‑Based Automatic toString Generation in Java
IT Services Circle
IT Services Circle
Jan 10, 2024 · Backend Development

Why Using forEach to Remove Elements from an ArrayList Throws ConcurrentModificationException and How to Delete Safely

The article explains why iterating an ArrayList with forEach and removing elements causes a ConcurrentModificationException, analyzes the underlying fail‑fast iterator behavior, and presents three correct ways—using Iterator.remove, removeIf, and collecting then removing—to delete elements safely.

ArrayListConcurrentModificationExceptionIterator
0 likes · 4 min read
Why Using forEach to Remove Elements from an ArrayList Throws ConcurrentModificationException and How to Delete Safely
macrozheng
macrozheng
Jan 10, 2024 · Backend Development

What Is Compileflow and How Can It Supercharge Your Java Workflow Engine?

Compileflow is a lightweight, high‑performance Java workflow engine that converts BPMN files into compiled code, offering seamless integration, visual process design, and extensive plugin support, with quick‑start instructions, code examples, and a concise summary of its advantages and current limitations.

compileflowjavaprocess automation
0 likes · 7 min read
What Is Compileflow and How Can It Supercharge Your Java Workflow Engine?
Programmer DD
Programmer DD
Jan 10, 2024 · Backend Development

Can Java Records Replace Lombok? A Practical Comparison

This article compares Java's native record feature with the Lombok library, showing how records can reduce boilerplate code, outlining scenarios where records can replace Lombok, and discussing the limitations of each approach for clean and maintainable backend development.

BackendJava 16Lombok
0 likes · 8 min read
Can Java Records Replace Lombok? A Practical Comparison
21CTO
21CTO
Jan 10, 2024 · Fundamentals

Why C# Overtook Java in 2023: Insights from the TIOBE Index

The 2023 TIOBE Index crowned C# as the top programming language, highlighting its rapid growth over Java, the impact of Java's new subscription pricing, and the broader shifts in language popularity that could shape development trends through 2024.

2023 trendsC#Software Development
0 likes · 9 min read
Why C# Overtook Java in 2023: Insights from the TIOBE Index
Java Backend Technology
Java Backend Technology
Jan 10, 2024 · Fundamentals

What Are the Most Popular Java Features Since Java 8? A Quick Guide

This article walks Java developers from Java 8 to Java 17 through the most widely‑adopted language enhancements—including var, switch expressions, text blocks, records, pattern‑matching, sealed classes, and helpful NullPointerExceptions—explaining each feature with concise descriptions and code snippets.

JDKLanguage EnhancementsNew Features
0 likes · 5 min read
What Are the Most Popular Java Features Since Java 8? A Quick Guide
FunTester
FunTester
Jan 9, 2024 · Databases

Boost Java Database Performance with PreparedStatement Batch Inserts

The article explains Java's PreparedStatement interface, highlighting its performance, security, and batch processing benefits, and provides a complete example of inserting multiple user records efficiently, while also discussing practical considerations such as batch size, transaction handling, error management, and optimization tips.

Batch ProcessingDatabase PerformanceJDBC
0 likes · 6 min read
Boost Java Database Performance with PreparedStatement Batch Inserts
Java Architect Essentials
Java Architect Essentials
Jan 9, 2024 · Backend Development

PowerJob: A Comprehensive Introduction and Practical Guide to the New Generation Java Distributed Task Scheduling Framework

This article introduces PowerJob, explains its key features such as lock‑free scheduling, multiple execution modes, and workflow support, and provides step‑by‑step instructions for installing via Docker or JAR, configuring databases, setting up server and client projects, and creating and managing scheduled tasks in Java.

BackendSpringBootjava
0 likes · 11 min read
PowerJob: A Comprehensive Introduction and Practical Guide to the New Generation Java Distributed Task Scheduling Framework
Java High-Performance Architecture
Java High-Performance Architecture
Jan 9, 2024 · Backend Development

How to Build a Flexible API Rate‑Limiting System with Spring Interceptor and Redis

This article demonstrates step‑by‑step how to prevent API abuse in a Spring MVC application by using an Interceptor combined with Redis for counting requests, customizing limits per endpoint through annotations and reflection, handling mapping rules, path‑parameter challenges, and obtaining the real client IP.

InterceptorReflectionannotation
0 likes · 19 min read
How to Build a Flexible API Rate‑Limiting System with Spring Interceptor and Redis
Architect's Guide
Architect's Guide
Jan 9, 2024 · Backend Development

Implementing Delayed Task Scheduling in Java: Quartz, DelayQueue, Time Wheel, Redis, and RabbitMQ

This article compares delayed tasks with scheduled tasks and presents six practical Java solutions—database polling with Quartz, JDK DelayQueue, Netty's HashedWheelTimer, Redis ZSET, Redis key‑space notifications, and RabbitMQ delayed queues—detailing their implementations, advantages, and drawbacks for handling order‑timeout scenarios.

DelayQueueQuartzRabbitMQ
0 likes · 16 min read
Implementing Delayed Task Scheduling in Java: Quartz, DelayQueue, Time Wheel, Redis, and RabbitMQ
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jan 9, 2024 · Mobile Development

Understanding Android LayoutInflater: Usage, inflate Methods, Factory and Factory2

This article explains how Android's LayoutInflater converts XML layout files into View objects, demonstrates the various ways to obtain and use a LayoutInflater, details the overloads of the inflate method, and shows how to customize view creation with Factory and Factory2 interfaces, including practical code examples.

AndroidFactory2Kotlin
0 likes · 20 min read
Understanding Android LayoutInflater: Usage, inflate Methods, Factory and Factory2
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 9, 2024 · Backend Development

Mastering Distributed Locks with Spring Integration in Spring Boot

This guide explains how to use Spring Integration's LockRegistry for distributed locking, covering both database‑based and Redis‑based implementations, complete with Maven dependencies, configuration snippets, bean definitions, and comprehensive test cases to ensure reliable synchronization across multiple nodes.

JdbcLockRedisLockSpring Boot
0 likes · 9 min read
Mastering Distributed Locks with Spring Integration in Spring Boot
Java Architect Essentials
Java Architect Essentials
Jan 8, 2024 · Backend Development

Using MapStruct for Efficient Java Bean Copying and Mapping

This article explains why manual property copying in Java is inefficient, compares several runtime bean‑copy utilities, and demonstrates how MapStruct provides a compile‑time, type‑safe, high‑performance solution for shallow and deep object mapping, including handling of collections and ignored fields.

Object Copybean-mappingcglib
0 likes · 13 min read
Using MapStruct for Efficient Java Bean Copying and Mapping