Tagged articles
5000 articles
Page 49 of 50
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Nov 25, 2023 · Backend Development

Master Spring Boot YAML: Configure Complex Objects with Ease

This article explains how to use Spring Boot's YAML configuration files to define and manage simple properties, collections, maps, nested objects, and complex data structures, providing code examples and a complete sample to help developers efficiently handle intricate configuration scenarios.

Backend DevelopmentJavaSpring Boot
0 likes · 6 min read
Master Spring Boot YAML: Configure Complex Objects with Ease
Su San Talks Tech
Su San Talks Tech
Nov 25, 2023 · Backend Development

Master RabbitMQ: From Core Concepts to Real-World Implementation

This comprehensive guide walks you through RabbitMQ fundamentals, installation on macOS, core AMQP concepts, exchange types, queue patterns, evaluation criteria, advanced features like TTL and dead‑letter queues, and provides ready‑to‑run Java code examples for producers and consumers.

AMQPJavaRabbitMQ
0 likes · 30 min read
Master RabbitMQ: From Core Concepts to Real-World Implementation
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 25, 2023 · Backend Development

Understanding Spring’s FactoryBean and MyBatis Integration: From BeanFactory to MapperFactoryBean

This article explains how Spring’s FactoryBean mechanism enables seamless integration with MyBatis by detailing the roles of BeanFactory, SqlSessionFactoryBean, MapperScannerConfigurer, and MapperFactoryBean, and provides annotated code examples and XML configuration to illustrate the underlying process and its benefits for transaction management and thread safety.

Backend DevelopmentJavaMyBatis
0 likes · 13 min read
Understanding Spring’s FactoryBean and MyBatis Integration: From BeanFactory to MapperFactoryBean
Top Architecture Tech Stack
Top Architecture Tech Stack
Nov 24, 2023 · Backend Development

Applying ASM Bytecode Manipulation in cglib and Fastjson

This article demonstrates how ASM is used to generate dynamic proxies with cglib and to create high‑performance JSON deserializers in Fastjson, providing code examples, explanation of the underlying bytecode generation, and practical tips for developers.

ASMDynamic ProxyFastJSON
0 likes · 8 min read
Applying ASM Bytecode Manipulation in cglib and Fastjson
Java Architect Essentials
Java Architect Essentials
Nov 23, 2023 · Backend Development

Overview of Spring Assertion, Utility, Reflection and AOP Helper Methods

This article presents a concise reference of Spring's Assert class, common ObjectUtils, StringUtils, CollectionUtils, file and stream copy helpers, as well as ReflectionUtils and AOP utilities, illustrating their purpose, typical usage scenarios, and providing ready‑to‑copy code snippets for Java backend development.

JavaReflectionassertions
0 likes · 11 min read
Overview of Spring Assertion, Utility, Reflection and AOP Helper Methods
Top Architect
Top Architect
Nov 23, 2023 · Backend Development

Understanding Java Class Loading Mechanism and Tomcat’s ClassLoader Design

This article explains the Java class loading mechanism, the parent‑delegation model, how it can be broken, and then details Tomcat’s custom classloader hierarchy—including CommonClassLoader, CatalinaClassLoader, SharedClassLoader, and WebappClassLoader—showing why Tomcat deviates from the standard delegation model.

JavaParent DelegationTomcat
0 likes · 15 min read
Understanding Java Class Loading Mechanism and Tomcat’s ClassLoader Design
Architect's Journey
Architect's Journey
Nov 23, 2023 · Backend Development

Building a DDD‑Based Four‑Layer Microservice Architecture with the D3boot Framework

The article walks through a DDD‑inspired four‑layer microservice architecture, explains how an application SDK enables RPC communication across services, details each architectural layer, and showcases the open‑source D3boot framework that bundles reusable base components, BOM management, and SaaS‑ready features for rapid backend development.

DDDJavaSDK
0 likes · 10 min read
Building a DDD‑Based Four‑Layer Microservice Architecture with the D3boot Framework
Architecture Digest
Architecture Digest
Nov 23, 2023 · Backend Development

Using Redisson Distributed Locks with Custom Annotations in Java

This article explains how to apply Redisson's distributed lock in Java, demonstrates the basic lock and tryLock APIs, shows how to create a custom @DistributedLock annotation and an AOP aspect to handle locking automatically, and provides a practical usage example with two services.

AOPConcurrencyJava
0 likes · 8 min read
Using Redisson Distributed Locks with Custom Annotations in Java
Architect's Tech Stack
Architect's Tech Stack
Nov 23, 2023 · Backend Development

Java 21 Deprecates Windows 32‑bit x86 Port and Dynamic Agent Loading

The article explains why Java 21 deprecates the Windows 32‑bit x86 port and dynamic agent loading, describes the technical reasons, shows the new configuration options and related warnings, and discusses the impact on virtual threads and best practices for avoiding deprecated APIs.

Backend DevelopmentDynamic AgentsJDK
0 likes · 11 min read
Java 21 Deprecates Windows 32‑bit x86 Port and Dynamic Agent Loading
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Nov 23, 2023 · Backend Development

Mastering Spring’s Type Conversion: Services, Custom Converters, and Best Practices

This article explains Spring’s type conversion system, introduces the core conversion service interfaces, demonstrates how to use GenericConversionService, DefaultConversionService, and WebConversionService, and provides step‑by‑step examples of custom converters, factories, generic converters, and their registration in Spring MVC.

JavaSpring FrameworkType Conversion
0 likes · 13 min read
Mastering Spring’s Type Conversion: Services, Custom Converters, and Best Practices
Sohu Tech Products
Sohu Tech Products
Nov 22, 2023 · Fundamentals

Mastering the Chain of Responsibility: From SOLID Principles to Spring Integration

This article explains the seven SOLID design principles, introduces the Chain of Responsibility pattern, demonstrates its application to a video‑review workflow with step‑by‑step Java code, and shows how to evolve the implementation from a basic chain to a Spring‑managed, fully open‑closed solution.

Chain of ResponsibilityDesign PatternsJava
0 likes · 13 min read
Mastering the Chain of Responsibility: From SOLID Principles to Spring Integration
Sohu Tech Products
Sohu Tech Products
Nov 22, 2023 · Backend Development

Optimizing a Real‑Time Keyword Matching Service with Aho‑Corasick and Double‑Array Trie

By replacing the naïve double‑loop matcher with a Double‑Array Trie‑based Aho‑Corasick automaton and refactoring the system into a layered name‑and‑data microservice architecture that shards the keyword dictionary and rebuilds the automaton only on version changes, the real‑time keyword‑matching service reduced latency from seconds to milliseconds even at thousands of QPS.

Aho-CorasickJavaTrie
0 likes · 17 min read
Optimizing a Real‑Time Keyword Matching Service with Aho‑Corasick and Double‑Array Trie
Top Architect
Top Architect
Nov 22, 2023 · Information Security

Designing Microservice Permission Control with Shiro and Redis Session Sharing

This article explains how to design microservice permission control using Apache Shiro, sharing session data via Redis, outlines failed approaches, presents a workable solution with custom cache and session managers, and provides complete code examples for realms, configuration, and login flow.

AuthorizationJavaRedis
0 likes · 24 min read
Designing Microservice Permission Control with Shiro and Redis Session Sharing
Architect
Architect
Nov 22, 2023 · Backend Development

Mastering CompletableFuture: Boosting Asynchronous Performance in Java

This article walks through the limitations of Java's Future, introduces CompletableFuture's richer asynchronous API, and demonstrates step‑by‑step how to refactor a shop‑detail page using parallel tasks, custom thread pools, and composition patterns to cut response time from seconds to under two.

AsynchronousCompletableFutureConcurrency
0 likes · 14 min read
Mastering CompletableFuture: Boosting Asynchronous Performance in Java
JD Retail Technology
JD Retail Technology
Nov 22, 2023 · Fundamentals

Understanding Java Class File Structure and JVM Execution Process

This article explains the Java class file format, including its magic number, version, constant pool, access flags, fields, methods, and attributes, and then details how the JVM loads, verifies, prepares, resolves, and initializes classes, manages object memory layout, and executes bytecode using a stack‑based interpreter.

JVMJavaMemoryManagement
0 likes · 21 min read
Understanding Java Class File Structure and JVM Execution Process
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Nov 22, 2023 · Fundamentals

Understanding the Five Creational Design Patterns

This article provides a comprehensive overview of the five creational design patterns—Singleton, Abstract Factory, Factory Method, Builder, and Prototype—explaining their concepts, UML structures, implementation details, typical use cases, advantages, disadvantages, and includes Java code examples and diagrams.

Creational PatternsDesign PatternsJava
0 likes · 9 min read
Understanding the Five Creational Design Patterns
IT Services Circle
IT Services Circle
Nov 21, 2023 · Fundamentals

LeetCode 42 – Trapping Rain Water: Problem Overview and Three O(n) Solution Techniques (Two‑Pointer, Prefix‑Max, Monotonic Stack)

This article explains LeetCode problem 42 “Trapping Rain Water”, detailing the problem statement, example, and three efficient O(n) solution approaches—two‑pointer, prefix‑max arrays, and a monotonic stack—each accompanied by complete Java implementations and analysis of their logic.

JavaLeetCodeMonotonic Stack
0 likes · 7 min read
LeetCode 42 – Trapping Rain Water: Problem Overview and Three O(n) Solution Techniques (Two‑Pointer, Prefix‑Max, Monotonic Stack)
Architecture Digest
Architecture Digest
Nov 21, 2023 · Backend Development

Understanding Why HashMap.keySet() Traverses Twice in Java

This article explains the internal mechanics of HashMap traversal in Java, comparing iterator, keySet, entrySet and stream approaches, and reveals why using keySet results in two passes—once to obtain an iterator and once to fetch values—by examining the underlying KeySet, KeyIterator, and HashIterator implementations.

HashMapIteratorJava
0 likes · 8 min read
Understanding Why HashMap.keySet() Traverses Twice in Java
Java High-Performance Architecture
Java High-Performance Architecture
Nov 21, 2023 · Information Security

Master Spring Security: Quick Start, JWT Authentication, and RBAC Authorization

This comprehensive guide walks you through setting up Spring Security in a Spring Boot project, configuring password encoding, implementing JWT-based authentication, building custom login and logout endpoints, managing user details with MyBatis Plus, and applying role‑based access control with custom permission handlers, all illustrated with complete code examples.

AuthenticationAuthorizationJWT
0 likes · 40 min read
Master Spring Security: Quick Start, JWT Authentication, and RBAC Authorization
Java Backend Technology
Java Backend Technology
Nov 21, 2023 · Backend Development

How to Inflate Your Java Codebase Without Sacrificing Quality

An irreverent guide shows how to artificially inflate Java code volume by adding unnecessary interfaces, redundant methods, extra configuration fields, event listeners, utility classes, custom exceptions, and classic design patterns, while warning that such practices harm readability and maintainability despite boosting line counts.

Design PatternsJavacode quality
0 likes · 13 min read
How to Inflate Your Java Codebase Without Sacrificing Quality
政采云技术
政采云技术
Nov 21, 2023 · Backend Development

Why Do We Need Thread Pools?

Thread pools are essential for managing concurrent tasks efficiently, reducing resource overhead by reusing threads instead of creating new ones for each task, which is crucial for handling high-volume operations like exporting large datasets to Excel.

Backend DevelopmentConcurrencyJava
0 likes · 13 min read
Why Do We Need Thread Pools?
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Nov 20, 2023 · Fundamentals

Prototype Pattern: Definition, UML Diagram, Implementation, Advantages, Disadvantages, and Use Cases

This article explains the Prototype design pattern, covering its definition, UML class diagram, Java implementation with shallow and deep copy examples, advantages and drawbacks, comparisons with Factory Method and Singleton patterns, and practical scenarios where cloning objects provides an efficient alternative to costly object creation.

Design PatternsJavaObject Cloning
0 likes · 14 min read
Prototype Pattern: Definition, UML Diagram, Implementation, Advantages, Disadvantages, and Use Cases
DeWu Technology
DeWu Technology
Nov 20, 2023 · Backend Development

State Machine Evaluation and Selection for Product Domain

The article analyzes DeWu’s product lifecycle, explains New, Product, and Draft types, introduces state‑machine fundamentals, compares Java enum, Spring, Squirrel, and Cola implementations, benchmarks their throughput (showing Cola vastly faster), and concludes that despite Cola’s performance, Spring StateMachine is chosen for its richer features and seamless Spring integration.

COLAEnumJava
0 likes · 27 min read
State Machine Evaluation and Selection for Product Domain
Top Architect
Top Architect
Nov 20, 2023 · Backend Development

Using @Async in Spring Boot: Configuration, Best Practices, and Common Pitfalls

This article explains how to enable and configure Spring Boot's @Async annotation, provides code examples for thread‑pool setup and asynchronous service methods, and discusses important caveats such as calling async methods from the same class, transaction incompatibility, blocking issues, and exception handling.

AsyncJavaSpring Boot
0 likes · 12 min read
Using @Async in Spring Boot: Configuration, Best Practices, and Common Pitfalls
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 20, 2023 · Cloud Native

Implementing a Custom Nacos‑like Service Discovery and Configuration Management with Spring Boot

This article explains how to build a Spring Boot‑based service registry that replicates Nacos' core features—service discovery, health‑checking, and dynamic configuration management—by creating server‑side registration APIs, scheduled heartbeat checks, client registration logic, and database‑backed configuration storage.

CloudNativeConfigurationManagementJava
0 likes · 10 min read
Implementing a Custom Nacos‑like Service Discovery and Configuration Management with Spring Boot
Senior Brother's Insights
Senior Brother's Insights
Nov 20, 2023 · Backend Development

Mastering the Chain of Responsibility Pattern for Scalable Product Validation in Java

This article explains the Chain of Responsibility design pattern, shows how to apply it to multi‑step product creation validation and expense‑approval workflows, walks through abstract and concrete handler implementations, dynamic configuration, and client execution with full Java code examples.

Backend DevelopmentChain of ResponsibilityDesign Patterns
0 likes · 20 min read
Mastering the Chain of Responsibility Pattern for Scalable Product Validation in Java
Cognitive Technology Team
Cognitive Technology Team
Nov 19, 2023 · Backend Development

Resolving Task Overlap and Scheduling Issues in Quartz with DisallowConcurrentExecution and Distributed Locks

This article explains why Quartz jobs can overlap when their execution time exceeds the trigger interval, demonstrates how to prevent concurrent execution with the @DisallowConcurrentExecution annotation, discusses distributed lock and idempotency solutions for clusters, and covers thread‑pool limits, exception handling, and a complete Java demo.

ConcurrencyDisallowConcurrentExecutionJava
0 likes · 5 min read
Resolving Task Overlap and Scheduling Issues in Quartz with DisallowConcurrentExecution and Distributed Locks
MaGe Linux Operations
MaGe Linux Operations
Nov 19, 2023 · Backend Development

Mastering Redis Sorted Sets: Build High‑Performance Leaderboards with Spring Boot

Redis Sorted Sets, powered by skip lists, provide O(log n) operations for ranking and range queries; this article explains their internal structure, core commands, and demonstrates how to implement a real‑time leaderboard in Spring Boot using Redis, complete with configuration, entity design, and service methods.

Backend DevelopmentJavaRedis
0 likes · 10 min read
Mastering Redis Sorted Sets: Build High‑Performance Leaderboards with Spring Boot
Su San Talks Tech
Su San Talks Tech
Nov 19, 2023 · Backend Development

Boost Your Java Productivity: 28 Essential IntelliJ IDEA Tips

Discover 28 practical IntelliJ IDEA tricks—from viewing code history and adjusting memory settings to customizing shortcuts, managing imports, visualizing dependencies, and leveraging plugins—designed to streamline Java development, enhance efficiency, and simplify everyday coding tasks for both beginners and seasoned developers.

Code navigationIDEIntelliJ IDEA
0 likes · 14 min read
Boost Your Java Productivity: 28 Essential IntelliJ IDEA Tips
Java High-Performance Architecture
Java High-Performance Architecture
Nov 19, 2023 · Backend Development

Boost Java Performance with Disruptor: A Hands‑On Guide to High‑Throughput Queues

This article introduces the high‑performance Java library Disruptor, explains its core concepts such as Ring Buffer, Sequence, and Wait Strategy, and provides a step‑by‑step demo with Maven configuration, code examples, and test results to help developers implement fast, lock‑free producer‑consumer queues.

ConcurrencyDisruptorJava
0 likes · 12 min read
Boost Java Performance with Disruptor: A Hands‑On Guide to High‑Throughput Queues
Selected Java Interview Questions
Selected Java Interview Questions
Nov 18, 2023 · Backend Development

A Comprehensive Guide to Java CompletableFuture: Replacing Future and CountDownLatch with Elegant Asynchronous Patterns

This article explains Java's Future and CompletableFuture APIs, demonstrates how to replace blocking Future.get() and CountDownLatch patterns with CompletableFuture, shows creation methods, result retrieval options, callback chains, exception handling, task composition techniques, and provides best‑practice recommendations for thread‑pool usage.

AsynchronousCompletableFutureConcurrency
0 likes · 22 min read
A Comprehensive Guide to Java CompletableFuture: Replacing Future and CountDownLatch with Elegant Asynchronous Patterns
JD Retail Technology
JD Retail Technology
Nov 17, 2023 · Backend Development

How JaCoCo Can Reveal and Eliminate Zombie Code to Boost Backend Efficiency

By instrumenting Java services with JaCoCo’s agent and analyzing runtime coverage data, teams can identify unused (“zombie”) code, safely remove or deactivate it, and consequently reduce maintenance costs, shorten delivery cycles, and improve overall system performance and developer productivity.

JaCoCoJavabackend optimization
0 likes · 12 min read
How JaCoCo Can Reveal and Eliminate Zombie Code to Boost Backend Efficiency
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Nov 17, 2023 · Fundamentals

Factory Method Pattern: Definition, Structure, Implementation, Advantages, and Use Cases

This article explains the Factory Method design pattern, covering its definition, UML diagram, key participants, the problems it solves compared to the Simple Factory, step‑by‑step Java implementation with code examples, advantages, disadvantages, application scenarios, and differences from the Simple Factory pattern.

Design PatternsFactory MethodJava
0 likes · 8 min read
Factory Method Pattern: Definition, Structure, Implementation, Advantages, and Use Cases
Architecture Digest
Architecture Digest
Nov 17, 2023 · Backend Development

Best Practices for Designing an Excellent Controller Layer in Spring MVC

This article explains how to design a clean, maintainable Spring MVC controller layer by unifying response structures, applying centralized exception handling, and leveraging JSR‑303 validation with custom rules, illustrated with comprehensive code examples and best‑practice guidelines.

Backend DevelopmentControllerJava
0 likes · 18 min read
Best Practices for Designing an Excellent Controller Layer in Spring MVC
Java Backend Technology
Java Backend Technology
Nov 17, 2023 · Information Security

Why Java’s Random Is Insecure and How SecureRandom Saves Your Data

The article explains that Java’s Random class uses a predictable linear‑congruential generator, making its output vulnerable to seed‑guessing attacks, and demonstrates how SecureRandom with strategies like SHA1PRNG, NativePRNGBlocking, and NativePRNGNonBlocking provides stronger, non‑predictable randomness suitable for security‑critical applications.

JavaSecureRandomcryptography
0 likes · 12 min read
Why Java’s Random Is Insecure and How SecureRandom Saves Your Data
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Nov 17, 2023 · Fundamentals

Explore Java’s Evolution: Key New Features from JDK 10 to JDK 21

This article reviews the most important new features introduced in Java JDK 10 through JDK 21—including local‑variable type inference, the standardized HTTP client, experimental garbage collectors, pattern‑matching enhancements, records, sealed classes, and virtual threads—providing code examples and migration guidance for developers.

Code ExamplesJDKJava
0 likes · 16 min read
Explore Java’s Evolution: Key New Features from JDK 10 to JDK 21
FunTester
FunTester
Nov 17, 2023 · Blockchain

Using Web3j to Send Ethereum JSON‑RPC Requests via WebSocket

This article explains how to construct and send Ethereum JSON‑RPC calls such as net_version through a WebSocket connection using the Web3j Java library, including source code analysis, request construction, and a practical example with console output.

BlockchainEthereumJSON-RPC
0 likes · 5 min read
Using Web3j to Send Ethereum JSON‑RPC Requests via WebSocket
Java Architect Essentials
Java Architect Essentials
Nov 16, 2023 · Backend Development

Why Does HashMap.keySet() Iterate Twice? Uncovering Java’s Internal Iterator Mechanics

This article explains why iterating a Java HashMap with keySet() results in two traversals, detailing the internal iterator creation, the role of KeyIterator and HashIterator classes, and how the do‑while loop in HashIterator’s constructor locates the first entry, with code examples and bytecode analysis.

HashIteratorHashMapIterator
0 likes · 9 min read
Why Does HashMap.keySet() Iterate Twice? Uncovering Java’s Internal Iterator Mechanics
Selected Java Interview Questions
Selected Java Interview Questions
Nov 16, 2023 · Backend Development

Custom Enum and JSON Parameter Binding in Spring MVC

This article explains how to handle enum and JSON string parameters in Spring MVC by creating custom annotations and argument resolvers, demonstrates the implementation steps with full code examples, and also reviews Spring MVC's built‑in parameter binding mechanisms such as @RequestParam, @PathVariable, @RequestBody, and @ModelAttribute.

Backend DevelopmentCustom AnnotationEnum Binding
0 likes · 10 min read
Custom Enum and JSON Parameter Binding in Spring MVC
Architecture Digest
Architecture Digest
Nov 16, 2023 · Backend Development

Structuring Session‑Based Scene Data with MyBatis in Java

This article explains how to redesign a JSON payload that repeats a sessionId for each scene by moving the sessionId to the outer level and using MyBatis resultMap with a collection to map a Session object containing a list of Scene objects, including Java entity definitions, mapper XML, service, and controller code.

ControllerJavaMyBatis
0 likes · 5 min read
Structuring Session‑Based Scene Data with MyBatis in Java
Huolala Tech
Huolala Tech
Nov 16, 2023 · Fundamentals

Why Unit Testing Matters and How to Master It in Java Projects

This article explains what unit testing is, why it is essential for software quality, outlines its benefits such as early bug detection and design improvement, and provides practical guidance on writing effective Java unit tests using JUnit5, Mockito, and JaCoCo, along with CI integration and best‑practice principles.

JUnit5JaCoCoJava
0 likes · 28 min read
Why Unit Testing Matters and How to Master It in Java Projects
Top Architecture Tech Stack
Top Architecture Tech Stack
Nov 16, 2023 · Backend Development

Essential IntelliJ IDEA Tips for Java Developers

This article presents a comprehensive collection of 28 practical IntelliJ IDEA shortcuts and configuration tricks—such as viewing local history, adjusting VM memory, adopting Eclipse keymaps, managing inspections, customizing templates, navigating code, and leveraging plugins—to dramatically improve Java development productivity.

Code navigationIntelliJ IDEAJava
0 likes · 11 min read
Essential IntelliJ IDEA Tips for Java Developers
Ops Development Stories
Ops Development Stories
Nov 16, 2023 · Fundamentals

Unlocking G1 GC: Why Your Java Service Hangs and How to Fix It

This article explains the G1 garbage collector’s heap layout, collection cycles, pause prediction, log analysis, and monitoring tools, helping Java developers diagnose and resolve performance issues such as frequent restarts, OOM, CPU spikes, and periodic latency spikes.

Garbage CollectionJVMJava
0 likes · 19 min read
Unlocking G1 GC: Why Your Java Service Hangs and How to Fix It
DeWu Technology
DeWu Technology
Nov 15, 2023 · Backend Development

Thread Profiling: Design and Implementation of Client‑Server Performance Analysis

Thread profiling uses threshold‑triggered tasks on business threads to capture stack snapshots, which a dedicated profiler thread sends via high‑performance gRPC to a server that queues them in Kafka, enriches and stores them in ClickHouse, correlates with OpenTelemetry traces, and provides metrics that let developers quickly pinpoint latency bottlenecks and improve system stability.

GoJavaKafka
0 likes · 11 min read
Thread Profiling: Design and Implementation of Client‑Server Performance Analysis
JD Cloud Developers
JD Cloud Developers
Nov 15, 2023 · Backend Development

Why Upgrade to JDK 17? Full Migration Guide from JDK 11 with Benchmarks

This article examines the benefits of moving from JDK 11 to the long‑term support JDK 17, detailing performance gains—especially sub‑millisecond ZGC pause times—new language features, compatibility considerations, benchmark results, and step‑by‑step migration instructions for Spring‑based applications.

JavaMavenSpringBoot
0 likes · 15 min read
Why Upgrade to JDK 17? Full Migration Guide from JDK 11 with Benchmarks
Java High-Performance Architecture
Java High-Performance Architecture
Nov 15, 2023 · Backend Development

Mastering Disruptor: High‑Performance Java Queue for Producer‑Consumer Systems

This article introduces the open‑source Disruptor framework, explains its core concepts such as Ring Buffer, Sequencer, and Wait Strategies, and provides a step‑by‑step Java demo—including Maven setup, event factory, handlers, and a test case—to illustrate building a high‑throughput, low‑latency in‑memory message queue.

DisruptorJavaMessage Queue
0 likes · 11 min read
Mastering Disruptor: High‑Performance Java Queue for Producer‑Consumer Systems
21CTO
21CTO
Nov 13, 2023 · Fundamentals

Why C# Is Closing the Gap with Java in the Latest TIOBE Rankings

November 2023’s TIOBE Index reveals Python still leads at 14.16%, while C# jumps to fifth place, narrowing its gap with Java to just 0.7%, as Java slips to fourth with its biggest monthly decline, and C and C++ also see modest drops.

C#JavaPython
0 likes · 2 min read
Why C# Is Closing the Gap with Java in the Latest TIOBE Rankings
Architecture & Thinking
Architecture & Thinking
Nov 13, 2023 · Fundamentals

Mastering Java Collections: From Interfaces to Iterators

This comprehensive guide explains Java's collection framework, covering the core interfaces Collection, List, Set, and Map, their abstract and concrete implementations, iterator mechanisms, and key differences that are essential for both interview preparation and real‑world backend development.

CollectionsIteratorJava
0 likes · 29 min read
Mastering Java Collections: From Interfaces to Iterators
Java Interview Crash Guide
Java Interview Crash Guide
Nov 13, 2023 · Backend Development

Boost Java Projects with Hutool: Essential Utility Library Overview

This article introduces Hutool, a comprehensive Java utility library that consolidates common functions such as file handling, encryption, date manipulation, and more, explains its key modules, shows how to add it via Maven, and provides practical code examples for utilities like DateUtil, StrUtil, NumberUtil, and SecureUtil.

Backend DevelopmentCode ExamplesHutool
0 likes · 9 min read
Boost Java Projects with Hutool: Essential Utility Library Overview
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 13, 2023 · Backend Development

Using SpringMVC Interceptor to Prevent Duplicate Submissions

This article explains how duplicate form submissions occur, outlines common prevention techniques such as token validation and timestamp checks, and demonstrates a practical SpringMVC interceptor implementation with token storage and scheduled cleanup to ensure request uniqueness and reduce server load.

InterceptorJavaSpringMVC
0 likes · 8 min read
Using SpringMVC Interceptor to Prevent Duplicate Submissions
Wu Shixiong's Large Model Academy
Wu Shixiong's Large Model Academy
Nov 12, 2023 · Fundamentals

How to Compute the Shortest Distance on a Circular Road Efficiently

Given a circular road with n stations and the distances between each consecutive pair, this article explains how to determine the minimal travel distance between any two stations by evaluating both clockwise and counter‑clockwise routes, providing problem details, examples, solution logic, reference implementations in Python, Java, and C++, and complexity analysis.

ArrayJavaSimulation
0 likes · 8 min read
How to Compute the Shortest Distance on a Circular Road Efficiently
MaGe Linux Operations
MaGe Linux Operations
Nov 12, 2023 · Backend Development

Why RocketMQ Producers Need Load Balancing and How It Works

This article explains why load balancing is crucial for RocketMQ producers, details the internal selection algorithm using ThreadLocal indexes and round‑robin logic, and provides Java code examples illustrating how messages are distributed across queues.

JavaMessage QueueProducer
0 likes · 5 min read
Why RocketMQ Producers Need Load Balancing and How It Works
Selected Java Interview Questions
Selected Java Interview Questions
Nov 12, 2023 · Backend Development

Implementing the Chain of Responsibility Pattern for Login Risk Management in Java

This article explains the Chain of Responsibility design pattern and demonstrates how to apply it in a Java backend to evaluate login risk factors such as password errors, unusual login times, IP whitelist violations, and abnormal login locations, providing full code examples and execution flow.

Chain of ResponsibilityJavaLogin Risk
0 likes · 16 min read
Implementing the Chain of Responsibility Pattern for Login Risk Management in Java
Su San Talks Tech
Su San Talks Tech
Nov 12, 2023 · Backend Development

Unlocking Complex Business Logic with LiteFlow’s Component‑Based Workflow Engine

This article introduces LiteFlow, a lightweight and fast component‑based rule engine that decouples complex business logic, explains its design principles, demonstrates usage in both non‑Spring and SpringBoot environments with Maven dependencies and XML configurations, and delves into its core components and execution flow through detailed source code analysis.

JavaLiteFlowbackend
0 likes · 18 min read
Unlocking Complex Business Logic with LiteFlow’s Component‑Based Workflow Engine
Java Architect Essentials
Java Architect Essentials
Nov 12, 2023 · Backend Development

Request Merging in Java: Concept, Pros & Cons, and Implementation with ScheduledExecutorService

This article explains the concept of request merging for high‑concurrency web services, outlines its advantages and drawbacks, and provides a complete Java implementation using ScheduledExecutorService, a memory queue, and a generic BatchCollapser utility with usage examples.

JavaPerformance OptimizationScheduledExecutorService
0 likes · 8 min read
Request Merging in Java: Concept, Pros & Cons, and Implementation with ScheduledExecutorService
Java Captain
Java Captain
Nov 11, 2023 · Backend Development

Analyzing and Reproducing OutOfMemoryError in MyBatis-based Java Services

This article examines the causes of Java OutOfMemoryError in a distributed backend service, analyzes MyBatis-related memory leaks, demonstrates a reproducible scenario with large SQL concatenations and multithreading, and offers practical mitigation strategies to prevent heap and metaspace overflow.

JavaMemory LeakMyBatis
0 likes · 6 min read
Analyzing and Reproducing OutOfMemoryError in MyBatis-based Java Services
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 11, 2023 · Backend Development

Performance Comparison of List.sort() vs Stream.sorted() in Java and Optimization Techniques

The article analyzes why a Java API endpoint took eight seconds, demonstrates through benchmarks that List.sort() outperforms Stream.sorted(), shows how sorting on computed columns and using BigDecimal can drastically slow execution, and presents three practical optimizations that reduce the response time to under a second.

BigDecimalJavalist.sort
0 likes · 8 min read
Performance Comparison of List.sort() vs Stream.sorted() in Java and Optimization Techniques
Selected Java Interview Questions
Selected Java Interview Questions
Nov 10, 2023 · Backend Development

Design and Implementation of a Generic Asynchronous Processing SDK for Java Backend Systems

This article introduces a generic asynchronous processing SDK for Java back‑ends, explaining its purpose, advantages, underlying principles, components, design patterns, database schema, configuration, usage, and operational considerations, and provides complete code and configuration examples.

Backend DevelopmentJavaKafka
0 likes · 9 min read
Design and Implementation of a Generic Asynchronous Processing SDK for Java Backend Systems
Ops Development Stories
Ops Development Stories
Nov 10, 2023 · Backend Development

Master Java Stream API: Grouping, Sorting, Deduplication & More

This guide demonstrates essential Java Stream API techniques—including grouping collections into maps, extracting first entries, performing reductions to find max or min, converting streams to lists, sorting, removing duplicates, and a comprehensive list of frequently used stream operations—providing practical code examples for Java 11 and 17.

DeduplicationJavaSorting
0 likes · 7 min read
Master Java Stream API: Grouping, Sorting, Deduplication & More
Java Architect Essentials
Java Architect Essentials
Nov 9, 2023 · Backend Development

Why Does My Spring Boot App Behave Differently as JAR vs WAR? Understanding Embedded and External Tomcat

This article explains why a Spring Boot application runs with the configured port when packaged as a JAR using the embedded Tomcat, but switches to Tomcat's default port and context path when deployed as a WAR, and provides step‑by‑step instructions to package and deploy both formats along with historical context and technical differences.

JARJavaMaven
0 likes · 14 min read
Why Does My Spring Boot App Behave Differently as JAR vs WAR? Understanding Embedded and External Tomcat
Architect
Architect
Nov 9, 2023 · Backend Development

How Vivo’s LuBan Service Generates Billions of Unique IDs with Sub‑millisecond Latency

This article explains the business scenarios that drive the need for globally unique distributed IDs, analyzes the challenges of uniqueness, performance, and availability, and details Vivo's self‑built LuBan ID service—including its architecture, three ID formats, custom extensions, SDK usage, performance optimizations, and real‑world deployment metrics.

Backend ArchitectureJavaLuBan
0 likes · 18 min read
How Vivo’s LuBan Service Generates Billions of Unique IDs with Sub‑millisecond Latency
Top Architect
Top Architect
Nov 9, 2023 · Backend Development

Implementing Open API Signature Verification with Spring Boot and AOP

This article explains the concept of open interfaces and signature verification, outlines the end‑to‑end signing and verification flow, and provides a complete Spring Boot implementation including configuration properties, a signature manager, custom annotation, AOP aspect, request‑caching filter and utility classes, all illustrated with code snippets.

API SecurityJavaOpenAPI
0 likes · 20 min read
Implementing Open API Signature Verification with Spring Boot and AOP