Tagged articles
5000 articles
Page 35 of 50
Top Architect
Top Architect
Aug 11, 2024 · Backend Development

Efficient Insertion of 300,000 Records Using MyBatis and JDBC

This article demonstrates how to efficiently insert 300,000 rows into a MySQL table by using MyBatis batch operations, JDBC batch processing, and various performance optimizations such as batch size tuning, transaction management, and connection pooling.

Batch InsertJDBCjava
0 likes · 17 min read
Efficient Insertion of 300,000 Records Using MyBatis and JDBC
Java Tech Enthusiast
Java Tech Enthusiast
Aug 11, 2024 · Information Security

Java Data Desensitization with Hutool and Custom Jackson Serializer

The article demonstrates how to mask sensitive Java backend data by using Hutool's DesensitizedUtil for common types and a custom @Desensitization annotation with a DesensitizationTypeEnum‑driven Jackson serializer (or Fastjson ValueFilter) to apply flexible masking rules during JSON serialization.

Jacksondata desensitizationhutool
0 likes · 7 min read
Java Data Desensitization with Hutool and Custom Jackson Serializer
Java Architect Essentials
Java Architect Essentials
Aug 11, 2024 · Backend Development

Why @Transactional Can Invalidate Locks in Spring and How to Fix It

This article explains how using Spring's @Transactional annotation together with explicit locks can cause unexpected concurrency issues, demonstrates the problem with sample code, analyzes why the lock becomes ineffective, and presents solutions such as separating transactional methods, using programmatic transactions, or locking the entire transaction.

Lockconcurrencyjava
0 likes · 6 min read
Why @Transactional Can Invalidate Locks in Spring and How to Fix It
JavaEdge
JavaEdge
Aug 10, 2024 · Backend Development

Why an Event Center Beats Traditional MQ in Modern Backend Architecture

This article explains how an event‑center abstracts domain events, offers a clear architecture and powerful features, compares it with raw message‑queue solutions, and provides Java code examples to help backend engineers adopt a more maintainable, decoupled design.

Backend ArchitectureDDDevent center
0 likes · 11 min read
Why an Event Center Beats Traditional MQ in Modern Backend Architecture
Programmer DD
Programmer DD
Aug 10, 2024 · Artificial Intelligence

How Spring AI Now Supports OpenAI Structured JSON Output – A Quick Guide

Spring AI has added full support for OpenAI's structured output feature, enabling developers to define JSON schemas for AI responses, with example code showing how to configure prompts, response formats, and BeanOutputConverter for seamless JSON-to-Java bean conversion, plus Spring Boot starter configuration.

JSON SchemaOpenAIjava
0 likes · 5 min read
How Spring AI Now Supports OpenAI Structured JSON Output – A Quick Guide
DeWu Technology
DeWu Technology
Aug 9, 2024 · Backend Development

Design and Implementation of a Lightweight Gray Release Platform

The article presents a lightweight gray‑release platform for e‑commerce, detailing its four‑module architecture, unified data‑type and predicate rule model, matcher implementations, stable bucket‑based traffic allocation, developer SDK and configuration APIs, as well as whitelist handling and non‑functional considerations for rapid, fine‑grained deployments.

Configuration Managementbackend-developmentfeature toggle
0 likes · 19 min read
Design and Implementation of a Lightweight Gray Release Platform
DaTaobao Tech
DaTaobao Tech
Aug 9, 2024 · Cloud Native

Deep Dive into RocketMQ: Storage Architecture and Consumer Processing Flow

RocketMQ stores messages in a sequential CommitLog while using a ConsumerQueue index for fast random access, and employs two looping threads—RebalanceService for load‑balancing queue assignments and PullMessageService for continuously pulling messages and dispatching them to user callbacks via a thread‑pooled consumer pipeline.

ConsumerDistributed SystemsMessage Queue
0 likes · 12 min read
Deep Dive into RocketMQ: Storage Architecture and Consumer Processing Flow
Java Tech Enthusiast
Java Tech Enthusiast
Aug 9, 2024 · Backend Development

RabbitMQ Overview, Installation Guide, and Delayed Message Implementation

RabbitMQ is a lightweight, open‑source AMQP broker offering reliable, flexible routing, clustering, and multi‑protocol support; it can be installed via Homebrew, Windows installers, or source on CentOS, and, using the rabbitmq_delayed_message_exchange plugin, Spring Boot applications can configure custom exchanges, queues, and send delayed messages with an x‑delay header.

Delayed MessagingInstallationMessage Queue
0 likes · 9 min read
RabbitMQ Overview, Installation Guide, and Delayed Message Implementation
Selected Java Interview Questions
Selected Java Interview Questions
Aug 9, 2024 · Backend Development

Common Thread‑Pool Pitfalls and Best Practices in Java Backend Development

This article analyzes typical thread‑pool misuses that caused a production outage, explains why tasks may slow down under load, and provides concrete recommendations such as pagination, timeout handling, proper pool sizing, avoiding shared pools, ThreadLocal cleanup, and cautious use of parallel streams.

BackendThreadPoolbest practices
0 likes · 14 min read
Common Thread‑Pool Pitfalls and Best Practices in Java Backend Development
Programmer DD
Programmer DD
Aug 9, 2024 · Backend Development

Discover the Most Powerful IntelliJ IDEA 2024.2 Features for Java & Kotlin Developers

IntelliJ IDEA 2024.2 introduces a suite of developer‑focused enhancements—including instant Spring Data JPA queries, cron expression auto‑completion, GraalJS‑powered HTTP client, advanced log management, real‑time performance charts, and rich data‑format visualizers—designed to boost productivity for Java and Kotlin programmers.

GraalJSIntelliJ IDEAKotlin
0 likes · 6 min read
Discover the Most Powerful IntelliJ IDEA 2024.2 Features for Java & Kotlin Developers
Java Architecture Stack
Java Architecture Stack
Aug 9, 2024 · Fundamentals

Unlocking Guava: How 7 Design Patterns Power Its Core

This article dissects the Guava library to reveal how seven classic design patterns—Builder, Proxy, Immutable, Singleton, Decorator, Adapter, and Observer—are implemented in its core classes, providing clear code examples, step‑by‑step construction processes, and practical insights for Java developers.

Builder PatternDesign PatternsGuava
0 likes · 27 min read
Unlocking Guava: How 7 Design Patterns Power Its Core
Deepin Linux
Deepin Linux
Aug 8, 2024 · Databases

Understanding Database Connection Pools: Principles, Mechanisms, and Popular Implementations

This article explains the concept of database connection pools, why they are needed, their core principles and runtime mechanisms, compares traditional direct connections with pooled connections, and reviews major Java pool implementations such as DBCP, C3P0, Druid and HikariCP along with configuration tips and best‑practice considerations.

C3P0Connection PoolDBCP
0 likes · 27 min read
Understanding Database Connection Pools: Principles, Mechanisms, and Popular Implementations
JD Tech
JD Tech
Aug 8, 2024 · Backend Development

Resolving JaCoCo-Induced ClassCastException Caused by Synthetic $jacocoData Field in Java Applications

This article details a Java ClassCastException caused by JaCoCo’s injected $jacocoData boolean array, explains how synthetic fields arise during bytecode instrumentation, analyzes the failing encryptObject method, and presents a fix by filtering synthetic fields using isSynthetic() to restore normal order processing.

ClassCastExceptionJaCoCoReflection
0 likes · 11 min read
Resolving JaCoCo-Induced ClassCastException Caused by Synthetic $jacocoData Field in Java Applications
Java Tech Enthusiast
Java Tech Enthusiast
Aug 8, 2024 · Information Security

Token Authentication Strategies for Java Microservices

The article compares token‑based authentication options for Java microservices—stateless JWTs, OAuth 2.0 with access and refresh tokens, a centralized API‑gateway authority, and internal service‑to‑service schemes—guiding readers on selecting the best approach according to security, scalability, and business needs.

JWTOAuth2api-gateway
0 likes · 7 min read
Token Authentication Strategies for Java Microservices
macrozheng
macrozheng
Aug 8, 2024 · Backend Development

Master Modern Microservices with the Mall‑Swarm 2024 Video Course

This article introduces the Mall‑Swarm open‑source microservice e‑commerce system, outlines its 2024 video tutorial covering Spring Cloud, Kubernetes deployment, and the full tech stack, and explains how learners can access demos, study materials, and join the learning community.

KubernetesMicroservicesSpring Cloud
0 likes · 9 min read
Master Modern Microservices with the Mall‑Swarm 2024 Video Course
Java Architect Essentials
Java Architect Essentials
Aug 8, 2024 · Fundamentals

New Features of JDK 17: Text Blocks, Enhanced NPE, Records, Switch Expressions and More

This article introduces the most useful JDK 17 language enhancements—including text blocks, improved NullPointerException messages, records, switch expressions, private interface methods, pattern matching, collection factory methods, new String APIs, Stream API extensions, the modern HttpClient, JShell, direct java file execution, and the Z Garbage Collector—providing code examples and practical guidance for Java developers.

New FeaturesText Blocksjava
0 likes · 15 min read
New Features of JDK 17: Text Blocks, Enhanced NPE, Records, Switch Expressions and More
macrozheng
macrozheng
Aug 7, 2024 · Fundamentals

Why ‘+’ Can Beat StringBuilder in Java: Benchmarks and Best Practices

This article investigates the performance differences between Java’s ‘+’ operator and StringBuilder for both simple and looped string concatenations, presenting JUnit benchmark results that show ‘+’ is comparable for single concatenations but significantly slower in loops, and recommends using the appropriate method based on context.

String concatenationbenchmarkjava
0 likes · 6 min read
Why ‘+’ Can Beat StringBuilder in Java: Benchmarks and Best Practices
Java Architect Essentials
Java Architect Essentials
Aug 6, 2024 · Backend Development

Why Spring Discourages Field Injection: A Comparison of Constructor, Setter, and Field Injection

The article explains why Spring discourages field injection, compares constructor, setter, and field injection types, provides Java code examples, and outlines the drawbacks of field injection such as immutability issues, SRP violations, container coupling, and hidden dependencies.

Constructor InjectionField InjectionSetter Injection
0 likes · 9 min read
Why Spring Discourages Field Injection: A Comparison of Constructor, Setter, and Field Injection
IT Services Circle
IT Services Circle
Aug 6, 2024 · Backend Development

Oracle Java Market Share Decline and Migration Trends: 2023 Survey Insights

A 2023 survey of 663 Java professionals reveals a sharp decline in Oracle Java's market share, with 86% planning or already migrating to OpenJDK alternatives due to cost, licensing uncertainty, audit risk, and a preference for open‑source solutions, while highlighting migration timelines, satisfaction, and emerging pricing models.

JDK market shareOpenJDKOracle
0 likes · 7 min read
Oracle Java Market Share Decline and Migration Trends: 2023 Survey Insights
Programmer DD
Programmer DD
Aug 6, 2024 · Backend Development

Step‑by‑Step JSON Validation in Spring Boot Using JSON Schema

This guide explains how to integrate JSON Schema validation into a Spring Boot application, covering dependency setup, schema definition, bean configuration, service implementation, controller handling, and testing with curl examples to ensure JSON payloads conform to the defined rules.

BackendJSON Schemajava
0 likes · 7 min read
Step‑by‑Step JSON Validation in Spring Boot Using JSON Schema
Su San Talks Tech
Su San Talks Tech
Aug 6, 2024 · Cloud Native

OpenFeign Deep Dive: Architecture, Dynamic Proxy, and Spring Cloud Integration

This article thoroughly explains OpenFeign’s core architecture, detailing its original Feign foundation, seven essential components, dynamic proxy generation, HTTP call execution flow, and how Spring Cloud seamlessly integrates and configures OpenFeign through annotations, factories, and property-based settings.

Dynamic ProxyMicroservicesOpenFeign
0 likes · 20 min read
OpenFeign Deep Dive: Architecture, Dynamic Proxy, and Spring Cloud Integration
Lobster Programming
Lobster Programming
Aug 6, 2024 · Backend Development

How to Log MyBatis SQL and Execution Time with Config, Plugins, and p6spy

This guide explains three common ways to output MyBatis SQL statements and their execution times—using simple configuration logging, a custom MyBatis interceptor plugin, and the third‑party p6spy library—along with code examples and practical considerations for development and production environments.

SQL Loggingjavamybatis
0 likes · 8 min read
How to Log MyBatis SQL and Execution Time with Config, Plugins, and p6spy
Java Architect Essentials
Java Architect Essentials
Aug 5, 2024 · Backend Development

Fast Testing of MyBatis SQL Without Starting Spring

This article explains how to quickly test MyBatis SQL statements by bypassing the Spring container, using a minimal MyBatis configuration, adding support for PageHelper pagination and MyBatis‑Plus plugins, and provides code examples and a plugin recommendation for efficient backend development.

BackendSQL testingjava
0 likes · 4 min read
Fast Testing of MyBatis SQL Without Starting Spring
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 5, 2024 · Backend Development

Comprehensive Guide to Sentinel: Flow Control, Rate Limiting, Circuit Breaking, and Monitoring for Microservices

This article provides an in‑depth overview of Sentinel, the Alibaba‑developed traffic‑control component for microservices, covering its core concepts, flow‑control algorithms, circuit‑breaking rules, real‑time monitoring features, and practical usage examples with Maven and code snippets.

Circuit BreakingFlow ControlMicroservices
0 likes · 8 min read
Comprehensive Guide to Sentinel: Flow Control, Rate Limiting, Circuit Breaking, and Monitoring for Microservices
Java Tech Enthusiast
Java Tech Enthusiast
Aug 5, 2024 · Backend Development

Implementing SPI-like Extensions in Spring Boot

Spring Boot can emulate SPI plug‑in extensions by using native Java ServiceLoader, conditional bean registration with @ConditionalOnClass/@ConditionalOnProperty, custom FactoryBean implementations, or programmatic BeanDefinitionRegistryPostProcessor registration, each enabling dynamic service loading based on configuration or runtime conditions.

FactoryBeanSPIdependency-injection
0 likes · 7 min read
Implementing SPI-like Extensions in Spring Boot
Code Ape Tech Column
Code Ape Tech Column
Aug 5, 2024 · Backend Development

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

This article describes a Java‑based asynchronous processing SDK that leverages Spring AOP, transactional event listeners, Kafka, XXL‑Job, and MySQL to provide non‑intrusive, reliable, and eventually consistent background execution of business methods while preserving transaction integrity and offering configurable retry and compensation strategies.

AsyncKafkaMySQL
0 likes · 8 min read
Design and Implementation of a Generic Asynchronous Processing SDK for Java Backend
DevOps
DevOps
Aug 4, 2024 · Fundamentals

Understanding Test‑Driven Development (TDD), UTDD, ATDD, and BDD with a Practical Java Example

This article explains the concepts of Test‑Driven Development (TDD), Unit Test‑Driven Development (UTDD), Acceptance Test‑Driven Development (ATDD) and Behavior‑Driven Development (BDD), discusses why TDD is not dead, compares the three approaches, and provides a step‑by‑step Java implementation with code samples, testing workflow, and refactoring guidance.

ATDDBDDTDD
0 likes · 14 min read
Understanding Test‑Driven Development (TDD), UTDD, ATDD, and BDD with a Practical Java Example
Java Architect Essentials
Java Architect Essentials
Aug 4, 2024 · Backend Development

Implementing Distributed Locks with Redis: Concepts, Pitfalls, and Solutions

This article explains how to use Redis for distributed locking, discusses the shortcomings of naive implementations, and presents robust solutions including identifier verification, Lua scripting for atomicity, the RedLock algorithm, and Redisson's advanced features such as re‑entrancy and watchdog mechanisms.

Redlockconcurrencydistributed-lock
0 likes · 15 min read
Implementing Distributed Locks with Redis: Concepts, Pitfalls, and Solutions
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 4, 2024 · Backend Development

Understanding Java Memory Leaks and How to Prevent Them

This article explains what memory leaks are in Java, outlines common causes such as unreleased resources, static collections, misuse of ThreadLocal, improper variable scope, inner‑class references and off‑heap memory, and provides practical solutions and best‑practice recommendations to avoid them.

JVMThreadLocalbest practices
0 likes · 9 min read
Understanding Java Memory Leaks and How to Prevent Them
Java Tech Enthusiast
Java Tech Enthusiast
Aug 4, 2024 · Information Security

Java Code Obfuscation and Encryption with ProGuard, Xjar, and ClassFinal

The guide explains how to protect a Java core module deployed on user servers by integrating ProGuard for bytecode obfuscation, Xjar for JAR encryption, and ClassFinal for class‑file encryption, providing Maven plugin configurations, startup commands, and verification that the combined approach renders decompiled code empty or unreadable.

ClassFinalProGuardXjar
0 likes · 20 min read
Java Code Obfuscation and Encryption with ProGuard, Xjar, and ClassFinal
Selected Java Interview Questions
Selected Java Interview Questions
Aug 4, 2024 · Backend Development

Design and Implementation of a WebSocket Backend for a Real‑Time Multiplayer Quiz Game

This article details the design, architecture, and Java implementation of a WebSocket‑based backend that enables real‑time, multi‑player quiz battles, covering entity definitions, message handling, matchmaking logic, error handling, game flow, and supporting utilities such as Redis‑based state management.

BackendGameReal-Time
0 likes · 21 min read
Design and Implementation of a WebSocket Backend for a Real‑Time Multiplayer Quiz Game
Java High-Performance Architecture
Java High-Performance Architecture
Aug 4, 2024 · Backend Development

Unlock Java Distributed Locks with Lock4j: Guide & Advanced Tips

This article introduces Lock4j, a Java distributed lock library supporting RedisTemplate, Redisson, and Zookeeper, walks through its key features, dependency setup, configuration, annotation attributes, simple and advanced usage examples, and demonstrates custom executors, key builders, and failure strategies for robust concurrency control.

Lock4jconcurrencydistributed-lock
0 likes · 6 min read
Unlock Java Distributed Locks with Lock4j: Guide & Advanced Tips
Top Architect
Top Architect
Aug 3, 2024 · Backend Development

Standardizing API Response Structure with Custom Annotations in Spring Boot

This article explains how to design a unified JSON response format for backend services, define clear status‑code conventions, encapsulate results in a Result class, and use a custom @ResponseResult annotation together with a ResponseBodyAdvice interceptor to automatically wrap controller outputs, improving readability and error handling.

Response wrapperStatus Codesannotations
0 likes · 10 min read
Standardizing API Response Structure with Custom Annotations in Spring Boot
Java Tech Enthusiast
Java Tech Enthusiast
Aug 3, 2024 · Fundamentals

Using Java 8 Functional Interfaces to Replace if...else Statements

Java 8’s functional interfaces, such as Supplier, Consumer, Runnable, and Function, let developers replace verbose if‑else chains with concise lambda‑based constructs, improving readability by encapsulating conditional logic in custom @FunctionalInterface definitions that handle true/false branches, exceptions, and optional values.

Functional InterfaceLambdajava
0 likes · 5 min read
Using Java 8 Functional Interfaces to Replace if...else Statements
Java Architect Essentials
Java Architect Essentials
Aug 2, 2024 · Databases

Migrating a SpringBoot + MyBatisPlus + MySQL Project to PostgreSQL: Common Pitfalls and Helper Scripts

This article details the step‑by‑step process of switching a SpringBoot‑MyBatisPlus application from MySQL to PostgreSQL, covering driver integration, JDBC configuration changes, numerous SQL and type‑conversion pitfalls, and provides ready‑to‑run PostgreSQL scripts for bulk column adjustments and default values.

MySQLSpringBootdatabase migration
0 likes · 11 min read
Migrating a SpringBoot + MyBatisPlus + MySQL Project to PostgreSQL: Common Pitfalls and Helper Scripts
21CTO
21CTO
Aug 2, 2024 · Backend Development

Why Developers Are Ditching Oracle Java and How to Switch to OpenJDK

A market study reveals that rising Oracle Java subscription costs are driving many users to migrate to OpenJDK, and this guide explains the reasons behind the shift and provides step‑by‑step instructions for removing Oracle JDK and installing OpenJDK.

OpenJDKOracle JDKbackend-development
0 likes · 6 min read
Why Developers Are Ditching Oracle Java and How to Switch to OpenJDK
Architect
Architect
Aug 2, 2024 · Artificial Intelligence

Building AI‑Native Applications with Spring AI: A Complete Tutorial

This article explains how to quickly develop an AI‑native application using Spring AI, covering core features such as chat models, prompt templates, function calling, structured output, image generation, embedding, vector stores, and Retrieval‑Augmented Generation (RAG), and provides end‑to‑end Java code examples for building a simple AI‑driven service.

AI-nativeBackendFunction Calling
0 likes · 40 min read
Building AI‑Native Applications with Spring AI: A Complete Tutorial
DaTaobao Tech
DaTaobao Tech
Aug 2, 2024 · Backend Development

Limitations of Spring AOP and Java Agent Solutions for the Diagnose Framework

Spring AOP cannot advise non‑bean, static, or internally‑called methods, limiting its use for the Diagnose framework, so the article proposes a Java Agent that transforms bytecode at startup, bypasses proxy constraints, and reliably intercepts private, static, and self‑invoked methods across separate class loaders.

Aspect Oriented ProgrammingByteBuddyJava Agent
0 likes · 13 min read
Limitations of Spring AOP and Java Agent Solutions for the Diagnose Framework
Top Architect
Top Architect
Aug 2, 2024 · Backend Development

JDFrame/SDFrame: A Semantic Java Stream DataFrame Library for Simplified Data Processing

This article introduces JDFrame/SDFrame, a JVM‑level DataFrame library that provides a more semantic and concise API for Java 8 stream operations, demonstrates how to add the Maven dependency, shows practical examples for filtering, grouping, sorting, joining, pagination, and explains the differences between the mutable JDFrame and the immutable SDFrame.

JDFrameSDFrameStream API
0 likes · 16 min read
JDFrame/SDFrame: A Semantic Java Stream DataFrame Library for Simplified Data Processing
Top Architect
Top Architect
Aug 2, 2024 · Backend Development

14 Practical Tips for Optimizing Java Backend Code

This article presents fourteen actionable techniques for improving Java backend code quality, including using configuration files, Lombok's @RequiredArgsConstructor, modular design, exception handling, reducing unnecessary database calls, avoiding null returns, simplifying if‑else logic, minimizing controller logic, leveraging IDE features, reading source code, applying design patterns, embracing new knowledge, mastering fundamentals, and efficiently checking element existence, supplemented with concrete code examples.

Code OptimizationLombokbest practices
0 likes · 9 min read
14 Practical Tips for Optimizing Java Backend Code
Java Tech Enthusiast
Java Tech Enthusiast
Aug 2, 2024 · Backend Development

How Cool Request’s New Trace Feature Lets You Measure Any Method’s Execution Time

The latest update of the Cool Request IDEA plugin introduces a powerful Trace function that automatically records execution times for any method—including Spring @Scheduled and xxl‑job tasks—offers customizable latency coloring, MyBatis SQL timing, call‑count indicators, and scriptable environment variables for seamless token handling and JSON parsing.

HTTP debuggingIDEA Pluginjava
0 likes · 6 min read
How Cool Request’s New Trace Feature Lets You Measure Any Method’s Execution Time
Architecture Digest
Architecture Digest
Aug 2, 2024 · Backend Development

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

The article demonstrates how to transform overly complex Spring Boot controllers—filled with repetitive validation and business logic—into clean, maintainable code by using @Valid annotations, concise validation rules, and a centralized exception handler, effectively halving the code size and improving readability.

BackendControllerSpringBoot
0 likes · 9 min read
From Messy to Elegant: Refactoring Spring Boot Controllers with @Valid and Global Exception Handling
macrozheng
macrozheng
Aug 2, 2024 · Backend Development

How to Quickly Resolve Massive Kafka Message Backlog in Production

This guide explains why Kafka message backlogs occur, how to diagnose bugs, optimize consumer logic, and use temporary topics for emergency scaling, while emphasizing monitoring, alerts, and proper offset handling to keep your streaming system healthy.

BacklogConsumerKafka
0 likes · 5 min read
How to Quickly Resolve Massive Kafka Message Backlog in Production
IT Architects Alliance
IT Architects Alliance
Aug 2, 2024 · Fundamentals

Mastering Design Patterns: Strategy, Factory, Singleton, Proxy, Observer, Template & Adapter in Java

This article provides a comprehensive, code‑first guide to the most common design patterns—including Strategy, Simple Factory, Singleton, Proxy, Factory Method, Observer, Template Method and Adapter—explaining their concepts, real‑world use cases, and complete Java implementations with Spring Boot integration.

AdapterDesign PatternsFactory
0 likes · 21 min read
Mastering Design Patterns: Strategy, Factory, Singleton, Proxy, Observer, Template & Adapter in Java
JD Retail Technology
JD Retail Technology
Aug 2, 2024 · Operations

JVM Memory Model, Garbage Collection, and Optimization Guide

This article explains the JVM memory architecture, object lifecycle, young and old generation garbage‑collection mechanisms, tuning goals such as low latency, high throughput and large heap, and provides practical advice on monitoring, common memory‑related problems, and choosing appropriate collectors for different application scenarios.

Garbage CollectionJVMMemory Management
0 likes · 17 min read
JVM Memory Model, Garbage Collection, and Optimization Guide
Java Backend Technology
Java Backend Technology
Aug 2, 2024 · Backend Development

Why SpringBoot @EnableScheduling Is Slow and How to Fix It

This article explains why SpringBoot's default @EnableScheduling runs tasks sequentially with noticeable delays, analyzes the underlying single‑threaded scheduler, and provides multiple solutions—including thread‑pool configuration, asynchronous execution, custom executors, and distributed locks—to achieve reliable and scalable scheduled jobs.

AsyncDistributedLockScheduling
0 likes · 17 min read
Why SpringBoot @EnableScheduling Is Slow and How to Fix It
Code Ape Tech Column
Code Ape Tech Column
Aug 2, 2024 · Backend Development

Improving Spring MVC Controllers: Unified Response Structure, Validation, and Exception Handling

This article explains how to refactor Spring MVC controller layers by introducing a unified response wrapper, handling String conversion issues with ResponseBodyAdvice, applying JSR‑303 validation for request parameters, creating custom validation annotations, and implementing custom exceptions with a global exception handler to produce clean, maintainable backend code.

BackendControllerResponseWrapper
0 likes · 21 min read
Improving Spring MVC Controllers: Unified Response Structure, Validation, and Exception Handling
Top Architect
Top Architect
Aug 1, 2024 · Backend Development

Best Practices for Designing a Robust Controller Layer in Spring Backend Applications

This article explains how to build a clean, maintainable Controller layer in Spring by separating responsibilities, unifying response structures, applying global response wrapping, leveraging JSR‑303 validation for parameters, creating custom validation rules, and handling exceptions uniformly, all illustrated with practical Java code examples.

Controllerexceptionhandlingjava
0 likes · 18 min read
Best Practices for Designing a Robust Controller Layer in Spring Backend Applications
JD Tech
JD Tech
Aug 1, 2024 · Backend Development

Overview of RPC and How to Build a Custom RPC Framework Using Netty

This article explains the fundamentals and key characteristics of Remote Procedure Call (RPC), outlines common use cases and popular frameworks, and then walks through the design and implementation of a simple custom RPC system—including a bespoke binary protocol, client‑side proxy generation, serialization, Netty‑based encoding/decoding, server‑side request handling, and result delivery—using Java and Netty.

Distributed SystemsNettyRPC
0 likes · 21 min read
Overview of RPC and How to Build a Custom RPC Framework Using Netty
Selected Java Interview Questions
Selected Java Interview Questions
Aug 1, 2024 · Backend Development

Spring Annotation-Based Development and MyBatis Integration Guide

This article explains how Spring 3.0's pure annotation development simplifies bean configuration, demonstrates defining beans with @Component, managing bean scopes, performing various injection techniques, reading properties files, and integrating MyBatis, providing complete code examples and best‑practice tips for backend Java developers.

Backendannotationdependency-injection
0 likes · 11 min read
Spring Annotation-Based Development and MyBatis Integration Guide
Code Ape Tech Column
Code Ape Tech Column
Aug 1, 2024 · Information Security

Using ProGuard, Xjar, and ClassFinal for Java JAR Obfuscation and Encryption in Spring Boot Projects

This article explains how to protect Java backend code deployed on user servers by applying ProGuard, Xjar, and ClassFinal for JAR obfuscation and encryption, detailing Maven configurations, startup commands, decompilation results, and best‑practice integration of both tools in a Spring Boot project.

ObfuscationProGuardXjar
0 likes · 24 min read
Using ProGuard, Xjar, and ClassFinal for Java JAR Obfuscation and Encryption in Spring Boot Projects
Architect
Architect
Jul 31, 2024 · Backend Development

Mastering WebSocket Integration in Spring Boot: Javax, WebMVC, WebFlux, and More

This article walks through the author's practical research on integrating WebSocket in Spring Boot, detailing step‑by‑step configurations for Javax, WebMVC, and WebFlux, comparing their APIs, highlighting pitfalls, and providing concrete code snippets and cold‑knowledge tips for both server and client implementations.

Backendjavareactive
0 likes · 19 min read
Mastering WebSocket Integration in Spring Boot: Javax, WebMVC, WebFlux, and More
DaTaobao Tech
DaTaobao Tech
Jul 31, 2024 · Fundamentals

A Java-Based Scenario Execution Framework Using Design Patterns

The article presents a Java‑based scenario execution framework that leverages design patterns, annotations, enums and a generic factory to replace repetitive if/else branches with abstract scene interfaces and concrete implementations, enabling developers to add new business cases by simply creating a class and enum constant while the infrastructure automatically discovers and wires it, improving extensibility, readability and code quality.

Design PatternsFactory PatternScenario Handling
0 likes · 13 min read
A Java-Based Scenario Execution Framework Using Design Patterns
Zhuanzhuan Tech
Zhuanzhuan Tech
Jul 31, 2024 · Backend Development

HTTP Retry Strategies for Offline Store Systems: Simple Loop, Apache HttpClient, and Asynchronous MQ-Based Retries

This article examines the need for reliable HTTP retries in offline store applications, evaluates simple loop retries, explores Apache HttpClient's built‑in retry mechanism, and proposes a hybrid solution that combines customized HttpClient retry handling with asynchronous message‑queue retries to achieve high availability and eventual consistency.

Apache HttpClientHTTPMessage Queue
0 likes · 11 min read
HTTP Retry Strategies for Offline Store Systems: Simple Loop, Apache HttpClient, and Asynchronous MQ-Based Retries
Selected Java Interview Questions
Selected Java Interview Questions
Jul 31, 2024 · Backend Development

Resolving Lombok @Data and @Builder Conflict: Restoring the No‑Args Constructor

This article explains why combining Lombok's @Data and @Builder annotations can remove the automatically generated no‑args constructor, demonstrates the resulting compilation errors, and provides two practical solutions using @Tolerate or a combination of @RequiredArgsConstructor and @NoArgsConstructor, while also describing Lombok's annotation‑processing mechanism.

BackendBuilderLombok
0 likes · 4 min read
Resolving Lombok @Data and @Builder Conflict: Restoring the No‑Args Constructor
Code Ape Tech Column
Code Ape Tech Column
Jul 31, 2024 · Information Security

Designing User Authentication in Microservice Architecture with JWT and Spring Cloud Gateway

This article explains traditional session‑based authentication, introduces JWT and JJWT usage with Java code examples, and compares two microservice authentication designs—service‑side verification and API‑gateway unified verification—while discussing their trade‑offs, challenges, and practical implementation tips.

AuthenticationJWTjava
0 likes · 15 min read
Designing User Authentication in Microservice Architecture with JWT and Spring Cloud Gateway
Architecture Digest
Architecture Digest
Jul 30, 2024 · Fundamentals

Understanding the Chain of Responsibility Design Pattern with Java Examples

This article explains the Chain of Responsibility design pattern, its typical use cases, demonstrates a flawed nested‑if implementation for a multi‑level game, and then shows step‑by‑step refactorings—including an abstract handler, concrete handlers, and a factory‑based dynamic chain—using Java code examples.

Chain of ResponsibilitySoftware Architecturedesign pattern
0 likes · 10 min read
Understanding the Chain of Responsibility Design Pattern with Java Examples
Top Architect
Top Architect
Jul 30, 2024 · Information Security

Understanding RBAC and Implementing Spring Security with JWT in Java

This article explains the concepts and models of Role‑Based Access Control (RBAC), demonstrates how to configure Spring Security for in‑memory and JWT‑based authentication, and provides complete Java code examples for permissions, user groups, password encryption, and custom login filters.

AuthenticationJWTRBAC
0 likes · 18 min read
Understanding RBAC and Implementing Spring Security with JWT in Java
Java Backend Technology
Java Backend Technology
Jul 30, 2024 · Backend Development

Spring Annotation Development: From Bean Definition to MyBatis Integration

This article explains how Spring’s pure annotation development replaces XML bean definitions, covers component scanning, bean scopes, derived annotations, various injection methods, property file loading, and demonstrates seamless Spring‑MyBatis integration, showing step‑by‑step code examples that simplify backend configuration.

annotationdependency-injectionjava
0 likes · 9 min read
Spring Annotation Development: From Bean Definition to MyBatis Integration
Java Architect Essentials
Java Architect Essentials
Jul 29, 2024 · Backend Development

Optimizing a High‑Concurrency Interface: Reducing Response Time from 30 seconds to 0.8 seconds

This article presents a real‑world case study of a high‑concurrency transaction‑statistics API that originally took 30 seconds to respond, detailing problem diagnosis, SQL and Java code analysis, and a series of optimizations—including SQL rewrites, database‑side calculations, and Caffeine caching—that ultimately brought the response time below one second.

SQL optimizationcachingjava
0 likes · 10 min read
Optimizing a High‑Concurrency Interface: Reducing Response Time from 30 seconds to 0.8 seconds
Top Architect
Top Architect
Jul 29, 2024 · Backend Development

Design Principles and Module Structure for a Spring Boot Backend Project (XiaoLe)

This article outlines essential backend design principles such as single responsibility, high cohesion, low coupling, reusability, clear boundaries, moderate modularity, layered architecture, dependency inversion, testability and future adaptability, and demonstrates their application in a multi‑module Spring Boot project with detailed Maven configurations.

javamavenmodule design
0 likes · 23 min read
Design Principles and Module Structure for a Spring Boot Backend Project (XiaoLe)
Top Architect
Top Architect
Jul 29, 2024 · Databases

Implementing Online User Counting with Redis Sorted Sets (ZSET)

This article explains how to build an online user counting feature using Redis sorted sets (ZSET) by detailing the core commands (zadd, zrangeByScore, zremrangeByScore, zrem), user identification methods, and providing Java and JavaScript code examples, while also noting unrelated promotional content at the end.

Online UsersZSetjava
0 likes · 8 min read
Implementing Online User Counting with Redis Sorted Sets (ZSET)
Selected Java Interview Questions
Selected Java Interview Questions
Jul 29, 2024 · Fundamentals

Comprehensive Guide to TreeUtil: Building, Traversing, Flattening, and Sorting Tree Structures in Java

This article introduces a versatile Java TreeUtil class that demonstrates how to construct hierarchical tree structures from flat lists, perform pre-order, level-order, and post-order traversals, flatten trees back to lists, and sort nodes using generic functional interfaces, with detailed code examples.

DataStructurealgorithmjava
0 likes · 16 min read
Comprehensive Guide to TreeUtil: Building, Traversing, Flattening, and Sorting Tree Structures in Java
IT Architects Alliance
IT Architects Alliance
Jul 29, 2024 · Fundamentals

Understanding Java BigDecimal: Overview, Constructors, Methods, Formatting, and Common Issues

This article explains Java's BigDecimal class, covering its purpose for high‑precision arithmetic, common constructors, essential methods such as add, subtract, multiply, divide, comparison, formatting with NumberFormat, handling of division exceptions, and provides a utility class with static arithmetic operations for accurate calculations.

ArithmeticBigDecimalException
0 likes · 15 min read
Understanding Java BigDecimal: Overview, Constructors, Methods, Formatting, and Common Issues
Wukong Talks Architecture
Wukong Talks Architecture
Jul 29, 2024 · Backend Development

Understanding the Java Stream Pipeline: Implementation Principles and Execution Process

This article explains the internal workings of Java's Stream API pipeline, covering how intermediate and terminal operations are recorded, combined, and executed via stages and Sink interfaces, illustrating lazy evaluation, stateful vs stateless operations, and the mechanisms behind parallel and sequential processing.

Intermediate OperationsLazy EvaluationPipeline
0 likes · 21 min read
Understanding the Java Stream Pipeline: Implementation Principles and Execution Process
Code Ape Tech Column
Code Ape Tech Column
Jul 29, 2024 · Backend Development

Using Caffeine Cache in Spring Boot: Features, Algorithms, and Configuration

This article introduces Caffeine Cache, explains its W‑TinyLFU algorithm advantages over traditional FIFO, LRU, and LFU strategies, demonstrates manual, synchronous, and asynchronous loading methods, covers eviction policies, statistics, Spring Boot integration, and provides detailed configuration and code examples for Java developers.

Caffeine Cachecache-configurationjava
0 likes · 30 min read
Using Caffeine Cache in Spring Boot: Features, Algorithms, and Configuration
Top Architect
Top Architect
Jul 27, 2024 · Backend Development

Various Ways to Iterate Over a Java HashMap with Code Examples

This article demonstrates seven common techniques for iterating over a Java HashMap—including iterator, entrySet, keySet, for‑each loops, lambda expressions, and both single‑threaded and parallel Streams API—providing concise code examples and performance notes for each method.

Code ExampleHashMapLambda
0 likes · 10 min read
Various Ways to Iterate Over a Java HashMap with Code Examples
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jul 27, 2024 · Backend Development

Refactoring a Billing Service with a Responsibility‑Chain Architecture for Better Extensibility

The article explains why a complex billing module in a settlement system needs optimization, describes the problems of monolithic code and tangled responsibilities, and demonstrates a refactor using the responsibility‑chain pattern with clear, pluggable nodes, accompanied by Java code examples and best‑practice recommendations.

BackendDesign Patternsbilling
0 likes · 12 min read
Refactoring a Billing Service with a Responsibility‑Chain Architecture for Better Extensibility
Selected Java Interview Questions
Selected Java Interview Questions
Jul 26, 2024 · Backend Development

Zero‑Downtime SpringBoot Port Sharing: Running Two Instances on the Same Port

This article explains how to achieve seamless code updates for SpringBoot applications by allowing two instances to share the same port, detailing the underlying Tomcat embedding mechanism, DispatcherServlet handling, and providing a complete Java implementation with step‑by‑step instructions and test results.

BackendPort SharingSpringBoot
0 likes · 7 min read
Zero‑Downtime SpringBoot Port Sharing: Running Two Instances on the Same Port
IT Architects Alliance
IT Architects Alliance
Jul 26, 2024 · Information Security

Unveiling Spring Security 6: Architecture, Filters, and Authentication Deep Dive

This article provides a comprehensive analysis of Spring Security 6's architecture, explaining how the framework uses a chain of servlet Filters, the DelegatingFilterProxy, and the SecurityFilterChain to implement authentication, authorization, and protection against common attacks, while also offering practical debugging tips and configuration guidance.

AuthenticationAuthorizationFilter Chain
0 likes · 32 min read
Unveiling Spring Security 6: Architecture, Filters, and Authentication Deep Dive
Java Interview Crash Guide
Java Interview Crash Guide
Jul 25, 2024 · Backend Development

Why MapStruct Beats Manual Bean Copying in Java: Performance, Type Safety, and Advanced Features

This article explains the drawbacks of manual property copying and traditional bean utilities, introduces MapStruct as a compile‑time, high‑performance mapper with type‑safety, deep‑copy support, collection handling, and customizable field‑ignoring, and shows practical Maven and Lombok integration examples.

Bean CopyObject Mappingjava
0 likes · 13 min read
Why MapStruct Beats Manual Bean Copying in Java: Performance, Type Safety, and Advanced Features
JD Cloud Developers
JD Cloud Developers
Jul 25, 2024 · Fundamentals

Master Defensive Programming: Strategies to Build Robust Software

Defensive programming is a proactive coding paradigm that anticipates errors and exceptions, emphasizing input validation, error isolation, assertions, thorough testing, and clear error handling, with practical examples ranging from pagination parameter checks to loop safeguards, illustrating how to enhance software robustness and stability.

Error HandlingSoftware Robustnessdefensive programming
0 likes · 16 min read
Master Defensive Programming: Strategies to Build Robust Software
Eric Tech Circle
Eric Tech Circle
Jul 24, 2024 · Backend Development

Designing Secure Microservice Authentication with Spring Boot 3 and OAuth2

This article explains the key changes in Spring Boot 3, outlines the new OAuth2 components, and provides a detailed design for secure microservice authentication and authorization using Spring Authorization Server, JWT, API Gateway, and client applications, complete with architecture diagrams and implementation steps.

AuthenticationAuthorizationBackend
0 likes · 9 min read
Designing Secure Microservice Authentication with Spring Boot 3 and OAuth2
vivo Internet Technology
vivo Internet Technology
Jul 24, 2024 · Backend Development

Design and Implementation of a Visual Monitoring System for Caffeine Cache

The article presents a visual monitoring system for the Caffeine Java cache that adds instance naming, memory‑usage estimation, dynamic size and expiration configuration, real‑time statistics and data queries, and a Jetty‑based HTTP control panel, enabling global cache management, trend charts, and on‑the‑fly cache invalidation.

Cache VisualizationCaffeine Cachejava
0 likes · 15 min read
Design and Implementation of a Visual Monitoring System for Caffeine Cache
Zhuanzhuan Tech
Zhuanzhuan Tech
Jul 24, 2024 · Backend Development

Applying MVEL Expression Engine for Business Indicator Calculations: Design, Performance Comparison, and Migration Strategy

This article examines the challenges of scaling store settlement calculations, evaluates several Java expression engines, selects MVEL for its performance and community support, and details the architectural redesign, database schema, caching strategy, and step‑by‑step migration process for integrating the engine into a backend system.

CacheDatabase designExpression Engine
0 likes · 14 min read
Applying MVEL Expression Engine for Business Indicator Calculations: Design, Performance Comparison, and Migration Strategy
Top Architect
Top Architect
Jul 24, 2024 · Information Security

Understanding Session and Token-Based Authentication with JWT in Web Applications

The article explains how HTTP’s stateless nature requires session or token mechanisms for preserving user state, compares session‑based and JWT token authentication, details JWT structure, and provides Java code examples for generating, verifying, and extracting token information, while also promoting related services.

AuthenticationJWTSession
0 likes · 10 min read
Understanding Session and Token-Based Authentication with JWT in Web Applications
Code Ape Tech Column
Code Ape Tech Column
Jul 24, 2024 · Backend Development

Understanding and Implementing Java SPI and Spring SPI

This article explains Java's built‑in Service Provider Interface (SPI) mechanism, demonstrates how to create interfaces, implementations, and configuration files, shows testing with ServiceLoader, and compares it to Spring's SPI implementation using spring.factories, including code examples and analysis of their advantages and limitations.

BackendFrameworkSPI
0 likes · 7 min read
Understanding and Implementing Java SPI and Spring SPI
Top Architect
Top Architect
Jul 23, 2024 · Backend Development

How to Install and Use the CheckStyle Plugin in IntelliJ IDEA

This article explains how to install the CheckStyle plugin in IntelliJ IDEA, configure it with custom rule sets such as Alibaba's, run checks on Java code, and troubleshoot common issues like missing annotations, spacing, naming, formatting, and import order, while also noting related promotional content.

IntelliJ IDEAbackend-developmentcheckstyle
0 likes · 6 min read
How to Install and Use the CheckStyle Plugin in IntelliJ IDEA
Selected Java Interview Questions
Selected Java Interview Questions
Jul 23, 2024 · Backend Development

Integrating URule Rule Engine into Java Projects: Installation, Configuration, and Sample Code

This article explains the background, features, installation steps, core concepts, library definitions, rule set creation (wizard and script), decision tables, practical usage scenarios, and provides complete Java and configuration code examples for integrating the URule rule engine in a Spring Boot backend application.

BackendDecision Tableconfiguration
0 likes · 15 min read
Integrating URule Rule Engine into Java Projects: Installation, Configuration, and Sample Code
macrozheng
macrozheng
Jul 23, 2024 · Fundamentals

Mastering Java Optional: Eliminate NullPointerExceptions with Clean Code

This article explains why NullPointerExceptions occur, introduces Java's Optional as a concise alternative to explicit null checks, demonstrates practical code transformations, and reviews all core Optional methods introduced in JDK 8 to improve readability and safety of Java applications.

CodeCleanlinessjavajava8
0 likes · 10 min read
Mastering Java Optional: Eliminate NullPointerExceptions with Clean Code
Java Architect Essentials
Java Architect Essentials
Jul 23, 2024 · Cloud Native

Guide to Installing and Using MinIO with Spring Boot and Docker

This article provides a comprehensive guide to installing MinIO on CentOS 7, configuring it with Docker, integrating it into a Spring Boot application, and implementing file upload, download, and multipart upload features using MinIO's Java SDK, along with troubleshooting tips and code examples.

DockerMiniojava
0 likes · 23 min read
Guide to Installing and Using MinIO with Spring Boot and Docker