Tagged articles
5000 articles
Page 39 of 50
macrozheng
macrozheng
May 28, 2024 · Backend Development

Why Upgrading to JDK 17 with ZGC Can Slash GC Pauses to Sub‑millisecond

This article explains how moving to JDK 17 and the low‑latency ZGC garbage collector can reduce pause times to under 10 ms, improve throughput, and meet demanding real‑time service requirements, while providing practical upgrade steps, JVM tuning parameters, and performance comparisons.

Garbage Collectionbackend-developmentjava
0 likes · 8 min read
Why Upgrading to JDK 17 with ZGC Can Slash GC Pauses to Sub‑millisecond
JD Cloud Developers
JD Cloud Developers
May 28, 2024 · Backend Development

Mastering Ehcache: A Deep Dive into Java Local Caching Strategies

This article introduces Ehcache, an open‑source Java local‑cache framework, explains its layered storage options, flexible expiration policies, eviction strategies, and provides comprehensive code examples for configuring in‑memory, off‑heap, and disk‑persistent caches, along with practical usage tips and performance considerations.

Cache PersistenceEhcachecaching
0 likes · 15 min read
Mastering Ehcache: A Deep Dive into Java Local Caching Strategies
Su San Talks Tech
Su San Talks Tech
May 28, 2024 · Backend Development

Mastering Web Push: 6 Real‑World Strategies from Short Polling to SSE and WebSocket

This article walks through six practical web‑push techniques—including short polling, long polling, iframe streaming, Server‑Sent Events, MQTT, and WebSocket—explaining their principles, trade‑offs, and providing complete Spring Boot and JavaScript code samples to help developers implement real‑time notification badges.

Server-Sent EventsSpring BootWebSocket
0 likes · 18 min read
Mastering Web Push: 6 Real‑World Strategies from Short Polling to SSE and WebSocket
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
May 28, 2024 · Backend Development

Master Multi‑Tenant Architecture in Spring Boot 3.3: Schemas, Separate DBs

This article explains three common multi‑tenant implementation strategies—separate databases, separate schemas, and partitioned (discriminator) data—detailing their advantages, drawbacks, and practical Spring Boot 3.3 code examples for entity definition, tenant‑ID resolution, data source routing, and request interception to achieve secure, scalable SaaS applications.

BackendMultitenancyjava
0 likes · 11 min read
Master Multi‑Tenant Architecture in Spring Boot 3.3: Schemas, Separate DBs
Dangbei Technology Team
Dangbei Technology Team
May 27, 2024 · Backend Development

How COLA Architecture Transforms Complex Backend Systems

The COLA (Clean Object‑Oriented and Layered Architecture) framework replaces traditional monolithic MVC Service layers with a clear, multi‑layered structure—Adapter, Application, Domain, Infrastructure, and Client—enhancing code cohesion, reducing coupling, and improving maintainability, as illustrated through a detailed order‑creation example with refactored Java code.

COLA ArchitectureMicroservicesjava
0 likes · 11 min read
How COLA Architecture Transforms Complex Backend Systems
Top Architect
Top Architect
May 27, 2024 · Backend Development

Implementing High‑Concurrency Stock Deduction with MySQL, Redis, Lua Scripts and Distributed Locks

The article analyzes common inventory‑deduction scenarios, compares three approaches—single‑row MySQL, multi‑row MySQL, and Redis INCRBY—highlights the limitations of database‑based methods under heavy load, and presents a robust Redis‑Lua solution with distributed locking and Java code examples for reliable stock management.

Lua scriptingjavaredis
0 likes · 12 min read
Implementing High‑Concurrency Stock Deduction with MySQL, Redis, Lua Scripts and Distributed Locks
Java Tech Enthusiast
Java Tech Enthusiast
May 27, 2024 · Backend Development

Understanding Garbage Collection in the JVM

The author celebrates landing a new job while emphasizing that mastering Java's garbage collection—identifying and reclaiming memory from unreachable objects via algorithms like reference counting or reachability analysis—is essential for robust backend development and preventing memory overflow.

Garbage CollectionJVMjava
0 likes · 4 min read
Understanding Garbage Collection in the JVM
Architecture Digest
Architecture Digest
May 27, 2024 · Backend Development

Upgrading to JDK 17 with ZGC: Performance Comparison and Migration Guide

This article explains why upgrading to JDK 17 and switching to the low‑latency ZGC garbage collector can dramatically reduce pause times and improve throughput, compares GC and CPU metrics against G1, and provides step‑by‑step installation and JVM tuning instructions with code examples.

BackendGarbage CollectionJVM
0 likes · 6 min read
Upgrading to JDK 17 with ZGC: Performance Comparison and Migration Guide
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
May 27, 2024 · Databases

Master ShardingSphere: Implement Database Sharding, Read‑Write Splitting & Distributed Transactions

This article introduces ShardingSphere, an open‑source distributed database middleware, explains its core features such as horizontal sharding, read‑write separation, and distributed transactions, and provides a step‑by‑step configuration and Java usage example.

Distributed TransactionsRead-Write SplittingShardingSphere
0 likes · 6 min read
Master ShardingSphere: Implement Database Sharding, Read‑Write Splitting & Distributed Transactions
dbaplus Community
dbaplus Community
May 27, 2024 · Backend Development

How to Optimize Java Logging for Maximum Performance

This article explains why Java logging can become a performance bottleneck, identifies common misuse patterns, and provides practical steps—such as dynamic log levels, avoiding string concatenation, selective location info, and cautious async logging—to dramatically improve throughput and latency.

AsyncBackendjava
0 likes · 6 min read
How to Optimize Java Logging for Maximum Performance
Java Architect Essentials
Java Architect Essentials
May 27, 2024 · Backend Development

Why MyBatis‑Plus Fails with LocalDateTime and How to Fix It

An old Java project using MySQL, MyBatis, and an outdated mysql‑connector‑java driver encounters a “Conversion not supported for type java.time.LocalDateTime” error after swapping MyBatis for MyBatis‑Plus; the article walks through reproducing the issue, analyzing MyBatis version changes, upgrading the JDBC driver, and fixing subsequent bugs.

LocalDateTimeMyBatisVersion Compatibility
0 likes · 9 min read
Why MyBatis‑Plus Fails with LocalDateTime and How to Fix It
Selected Java Interview Questions
Selected Java Interview Questions
May 26, 2024 · Backend Development

Comprehensive Guide to Spring Boot Annotations

This article provides a detailed overview of the most commonly used Spring Boot annotations, covering core, prototype, Spring Boot, Spring Cloud, caching, testing, database access, JPA, and global exception handling annotations, with clear explanations and practical Java code examples for each.

Spring BootSpring Frameworkannotations
0 likes · 17 min read
Comprehensive Guide to Spring Boot Annotations
Architect's Guide
Architect's Guide
May 26, 2024 · Backend Development

Applying Abstract Methods, Anonymous Inner Classes, and Future Pattern for Highly Abstracted Java Service Design

The article demonstrates how to achieve high abstraction in Java by using abstract methods overridden by subclasses, passing behavior through anonymous inner classes, and implementing an asynchronous Future pattern with listeners to handle request results, providing complete code examples for each technique.

Abstract ClassAsynchronousFuture Pattern
0 likes · 8 min read
Applying Abstract Methods, Anonymous Inner Classes, and Future Pattern for Highly Abstracted Java Service Design
Top Architect
Top Architect
May 25, 2024 · Backend Development

Java Backend Token Generation Using JWT: Implementation and Usage Guide

This article explains how to prevent duplicate form submissions in Java web applications by generating and validating JWT tokens on the backend, provides complete utility classes and controller examples, and includes step‑by‑step usage instructions with full source code.

JWTTokenWeb
0 likes · 16 min read
Java Backend Token Generation Using JWT: Implementation and Usage Guide
Code Ape Tech Column
Code Ape Tech Column
May 25, 2024 · Artificial Intelligence

Introducing Spring AI: Integrating Artificial Intelligence into Spring Boot Applications

Spring AI brings artificial‑intelligence capabilities to the Spring Boot ecosystem, offering model support, vector‑database integration, SQL‑like filtering, and easy Maven configuration, enabling Java developers to add generative AI, semantic search, and AI‑driven image generation to their backend applications.

Artificial IntelligenceSpring Bootgenerative AI
0 likes · 6 min read
Introducing Spring AI: Integrating Artificial Intelligence into Spring Boot Applications
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
May 25, 2024 · Backend Development

Understanding Spring's IoC Container: BeanFactory, ListableBeanFactory, HierarchicalBeanFactory, and AutowireCapableBeanFactory

This article explains the core Spring IoC concepts by analyzing the top‑level BeanFactory interface and its three important sub‑interfaces—HierarchicalBeanFactory, ListableBeanFactory, and AutowireCapableBeanFactory—illustrating their responsibilities, inheritance relationships, and practical usage with code examples.

BeanFactoryIoCbackend-development
0 likes · 8 min read
Understanding Spring's IoC Container: BeanFactory, ListableBeanFactory, HierarchicalBeanFactory, and AutowireCapableBeanFactory
Architect
Architect
May 24, 2024 · Backend Development

How to Build a MySQL‑Based Fuzzy Company Name Matcher with Regex and IKAnalyzer

This article walks through a real‑world approval workflow where a business user adds a company, explains why MySQL REGEXP is chosen over Elasticsearch for fuzzy matching, and details the step‑by‑step implementation—including name preprocessing, tokenization with IKAnalyzer, and a custom SQL query that ranks results by match degree.

IKAnalyzerbackend-developmentdatabase
0 likes · 13 min read
How to Build a MySQL‑Based Fuzzy Company Name Matcher with Regex and IKAnalyzer
Java High-Performance Architecture
Java High-Performance Architecture
May 24, 2024 · Backend Development

Fastjson Pitfalls: Date Formatting Glitch and Circular Reference Chaos Explained

The author recounts a debugging saga with Alibaba's Fastjson library, detailing how a global date‑format setting failed on Linux, how an outdated Fastjson version caused the issue, and how circular‑reference detection with $ref can surprise developers, offering practical solutions and version recommendations.

Date FormattingVersion Compatibilitycircular reference
0 likes · 11 min read
Fastjson Pitfalls: Date Formatting Glitch and Circular Reference Chaos Explained
Cognitive Technology Team
Cognitive Technology Team
May 23, 2024 · Backend Development

Modifying Bytecode Before Class Loading in Spring Cloud Using Javassist

This article demonstrates how to use Spring's ApplicationContextInitializer together with Javassist to intercept class loading in a Spring Cloud environment, modify the bytecode of org.apache.commons.lang3.RandomStringUtils, and record method calls, handling parent‑child container initialization nuances.

ApplicationContextInitializerBytecode ManipulationJavassist
0 likes · 5 min read
Modifying Bytecode Before Class Loading in Spring Cloud Using Javassist
JD Retail Technology
JD Retail Technology
May 23, 2024 · Backend Development

Designing a Message Processing Solution with MVEL Expressions and the Chain of Responsibility Pattern

This article explains how to combine MVEL expressions with the Chain of Responsibility design pattern to build a decoupled, extensible message‑processing framework, using an order‑splitting MQ example to illustrate the architecture, code implementation, and benefits for backend Java services.

Apache Commons ChainChain of ResponsibilityDesign Patterns
0 likes · 15 min read
Designing a Message Processing Solution with MVEL Expressions and the Chain of Responsibility Pattern
macrozheng
macrozheng
May 23, 2024 · Backend Development

How to Split and Optimize Large Database Transactions for Faster APIs

This article explains why large database transactions degrade backend API performance and presents practical techniques—such as avoiding RPC inside transactions, using programmatic transactions, batching data, splitting into smaller transactions, and applying asynchronous processing—to dramatically improve efficiency.

AsynchronousSpringBootjava
0 likes · 9 min read
How to Split and Optimize Large Database Transactions for Faster APIs
Programmer DD
Programmer DD
May 23, 2024 · Backend Development

6 Essential Ways to Read Request Parameters in Spring Boot

This guide explains six common Spring Boot techniques—@RequestParam, @PathVariable, @MatrixVariable, @RequestBody, @RequestHeader, and @CookieValue—for extracting URL query strings, path variables, matrix variables, request bodies, headers, and cookies, complete with code examples for each method.

APIRequest ParametersSpring Boot
0 likes · 5 min read
6 Essential Ways to Read Request Parameters in Spring Boot
Top Architect
Top Architect
May 22, 2024 · Backend Development

Understanding Service Gateways: Definition, Benefits, and Technical Stack

This article explains what a service gateway is, why it is essential for microservice architectures, outlines its core functions such as routing, filtering, authentication, monitoring, and presents a practical Java‑based technical stack including Spring Boot, Zuul, Consul, JWT, Prometheus, ELK and JMeter.

BackendConsulapi-gateway
0 likes · 10 min read
Understanding Service Gateways: Definition, Benefits, and Technical Stack
Top Architect
Top Architect
May 22, 2024 · Backend Development

Using MybatisX Plugin for Rapid MyBatis Development in Spring Boot

This article introduces the MybatisX IDEA plugin, outlines its benefits for reducing boilerplate in MyBatis/MyBatis‑Plus projects, and provides a step‑by‑step tutorial—including database setup, Maven dependency configuration, plugin installation, connection troubleshooting, and code generation—complete with Maven and Java code examples.

IDE pluginMyBatisXSpring Boot
0 likes · 7 min read
Using MybatisX Plugin for Rapid MyBatis Development in Spring Boot
Architect
Architect
May 22, 2024 · Backend Development

Replacing Tomcat with Undertow in Spring Boot: Performance and Memory Benefits

This article explains how to replace the default embedded Tomcat container in Spring Boot with Undertow, outlines the configuration steps, compares their performance and memory usage through benchmark results, and concludes that Undertow offers superior throughput for high‑concurrency Java web applications.

BackendTomcatjava
0 likes · 5 min read
Replacing Tomcat with Undertow in Spring Boot: Performance and Memory Benefits
Architect's Guide
Architect's Guide
May 22, 2024 · Backend Development

Design and Implementation of a Spring Boot Starter for Request/Response Encryption and Decryption

This article explains how to build a reusable Spring Boot starter that automatically encrypts outgoing responses and decrypts incoming requests using hutool‑crypto, custom request wrappers, validation utilities, and Spring Boot advice components, providing a secure, zero‑boilerplate solution for Java backend services.

BackendRequestBodyAdviceSpring Boot
0 likes · 21 min read
Design and Implementation of a Spring Boot Starter for Request/Response Encryption and Decryption
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
May 22, 2024 · Mobile Development

Android MVVM Architecture

This article explains the MVVM (Model-View-ViewModel) architecture for modern Android development, detailing its three core components, their responsibilities, and provides a step‑by‑step example with Jetpack components, including LiveData, ViewModel, View Binding, and complete code snippets to build a simple user list UI.

AndroidKotlinLiveData
0 likes · 8 min read
Android MVVM Architecture
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
May 22, 2024 · Backend Development

How to Validate SpringBoot Configuration at Startup to Prevent Runtime Errors

This guide explains why validating configuration properties in SpringBoot 2.7 is essential, outlines the benefits such as increased robustness and faster debugging, and provides a step‑by‑step example with code snippets showing how to use @ConfigurationProperties, @Validated, and BeanPostProcessor for automatic validation at application startup.

BackendConfiguration Validationjava
0 likes · 7 min read
How to Validate SpringBoot Configuration at Startup to Prevent Runtime Errors
Sohu Tech Products
Sohu Tech Products
May 21, 2024 · Backend Development

Debugging java.net.spi.InetAddressResolverProvider SPI Failure with OpenTelemetry Java Agent in Spring Boot

The article explains how a custom java.net.spi.InetAddressResolverProvider SPI that works in a regular Spring Boot 3.x JAR fails when the OpenTelemetry Java agent is added because the agent’s JarLoader cannot read the SPI configuration inside the BOOT‑INF layout, and resolves the issue by disabling the agent’s own resolver resource so the custom provider is used.

JDK21OpenTelemetrySPI
0 likes · 11 min read
Debugging java.net.spi.InetAddressResolverProvider SPI Failure with OpenTelemetry Java Agent in Spring Boot
Java Architect Essentials
Java Architect Essentials
May 20, 2024 · Backend Development

Standardizing Spring Boot Controller Layer: Parameter Reception, Unified Status Codes, Validation, Response Wrapping, and Exception Handling

This article provides a comprehensive guide to standardizing the Spring Boot controller layer by explaining how to receive parameters, define unified status codes, apply validation annotations, wrap responses consistently, and handle exceptions globally, all illustrated with practical Java code examples.

BackendControllerException Handling
0 likes · 19 min read
Standardizing Spring Boot Controller Layer: Parameter Reception, Unified Status Codes, Validation, Response Wrapping, and Exception Handling
Selected Java Interview Questions
Selected Java Interview Questions
May 20, 2024 · Backend Development

Redis Utility Spring Boot Starter: Features, Usage, and Implementation Details

This article introduces a Spring Boot starter that provides a ready‑to‑use Redis utility suite—including common tools, distributed locks, message queues, delay queues, pagination queries and web helpers—explains how to add the Maven dependency, configure modules via YAML, and details the internal auto‑configuration and bean implementations for MQ and delayed messaging.

Spring Bootbackend-developmentdelay queue
0 likes · 8 min read
Redis Utility Spring Boot Starter: Features, Usage, and Implementation Details
Code Ape Tech Column
Code Ape Tech Column
May 20, 2024 · Backend Development

Request Collapsing Techniques: Hystrix Collapser, Custom BatchCollapser, and ConcurrentHashMultiset

This article introduces three request‑collapsing techniques—Hystrix Collapser, a custom BatchCollapser implementation, and Guava's ConcurrentHashMultiset—explaining their design, configuration, code examples, and suitable scenarios for reducing downstream load and improving system throughput.

BackendBatchCollapserConcurrentHashMultiset
0 likes · 16 min read
Request Collapsing Techniques: Hystrix Collapser, Custom BatchCollapser, and ConcurrentHashMultiset
Su San Talks Tech
Su San Talks Tech
May 20, 2024 · Backend Development

Mastering Java Optional: When to Use It and Common Pitfalls

This article explores the proper usage of Java's Optional class, debunks common misconceptions, examines its internal implementation, compares methods like map, orElse, orElseGet, and provides practical code examples to help developers avoid null‑pointer pitfalls and write cleaner backend code.

Code Examplebackend-developmentjava
0 likes · 11 min read
Mastering Java Optional: When to Use It and Common Pitfalls
Cognitive Technology Team
Cognitive Technology Team
May 19, 2024 · Backend Development

Achieving Efficient Data Transfer with Zero‑Copy Techniques

This article explains how zero‑copy technology eliminates redundant memory copies and context switches during data transmission, compares traditional read‑send workflows with zero‑copy approaches such as Linux sendfile/splice and Java's FileChannel.transferTo, and discusses performance benefits and practical considerations.

BackendData TransferLinux
0 likes · 6 min read
Achieving Efficient Data Transfer with Zero‑Copy Techniques
Selected Java Interview Questions
Selected Java Interview Questions
May 19, 2024 · Backend Development

Netty Interview Questions and Answers: Core Concepts and Features

This article provides a comprehensive set of Netty interview questions and detailed answers covering its architecture, Reactor pattern, core components such as Channel, ChannelHandler, ChannelPipeline, ByteBuf advantages, EventLoop groups, codecs, handling of packet framing, and graceful shutdown procedures.

BackendNettyNetwork programming
0 likes · 10 min read
Netty Interview Questions and Answers: Core Concepts and Features
Architect's Guide
Architect's Guide
May 19, 2024 · Information Security

RBAC Permission Analysis and Spring Security Integration with JWT

This article explains the fundamentals of role‑based access control (RBAC), its model variants, and user‑group usage, then demonstrates how to configure Spring Security with in‑memory authentication, integrate JWT for stateless token‑based authentication, customize JSON login, and securely encrypt passwords using BCrypt.

AuthenticationBackendJWT
0 likes · 15 min read
RBAC Permission Analysis and Spring Security Integration with JWT
Architect
Architect
May 18, 2024 · Backend Development

Building a Microservice Gateway with Spring Cloud Gateway

This article explains what a microservice gateway is, outlines the advantages of Spring Cloud Gateway, and provides step‑by‑step instructions with code examples to create, configure, and run a reactive API gateway for Java microservices.

Spring Cloud Gatewayapi-gatewaybackend-development
0 likes · 7 min read
Building a Microservice Gateway with Spring Cloud Gateway
Java High-Performance Architecture
Java High-Performance Architecture
May 17, 2024 · Information Security

How MaxKey SSO Delivers Secure, Scalable Single Sign‑On for Enterprises

MaxKey is an enterprise‑grade single sign‑on solution that supports OAuth 2.x, OpenID Connect, SAML 2.0, JWT, CAS and SCIM, offering secure identity management, RBAC, multi‑tenant capabilities, robust password policies, brute‑force protection, session control, and BCrypt‑based password encryption.

AuthenticationIdentity ManagementOAuth
0 likes · 11 min read
How MaxKey SSO Delivers Secure, Scalable Single Sign‑On for Enterprises
Huolala Tech
Huolala Tech
May 16, 2024 · Backend Development

Debugging Java Outages: HikariCP Thread Pool, CPU Load & Connection Timeouts

After an Alibaba Cloud RDS host failure caused a HA switch, the bme‑trade‑order‑svc service experienced prolonged unavailability; this article dissects how thread‑pool saturation, HikariCP connection‑pool mechanics, and CPU load interplay, and outlines systematic investigations that pinpointed thread waiting, pod restarts, and CPU throttling as root causes.

HikariCPKubernetesThreadPool
0 likes · 44 min read
Debugging Java Outages: HikariCP Thread Pool, CPU Load & Connection Timeouts
Code Ape Tech Column
Code Ape Tech Column
May 16, 2024 · Backend Development

Using Groovy for Dynamic Scripting in Java Backend Projects

This article introduces Groovy as a JVM‑based dynamic scripting language, explains why it suits rapidly changing business rules such as payment integration, marketing and risk‑control, and provides step‑by‑step code examples, advanced usage patterns, best practices and common pitfalls for Java backend developers.

Groovyjavarule engine
0 likes · 13 min read
Using Groovy for Dynamic Scripting in Java Backend Projects
Su San Talks Tech
Su San Talks Tech
May 16, 2024 · Backend Development

Does Try‑Catch Inside a Java Loop Really Slow Down Performance?

A developer debates whether placing a try‑catch block inside a Java for‑loop impacts performance, runs JMH benchmarks comparing try‑catch inside the loop versus around it, examines bytecode differences, references Effective Java’s warnings, and concludes the overhead is minimal unless exceptions are actually thrown.

Exception HandlingJMHbenchmark
0 likes · 7 min read
Does Try‑Catch Inside a Java Loop Really Slow Down Performance?
Sohu Tech Products
Sohu Tech Products
May 15, 2024 · Backend Development

Design and Implementation of a Simplified RocketMQ SDK

To simplify RocketMQ usage, I designed an internal SDK that abstracts complex client configurations, offering single‑call ordered message sending, per‑message consumption, unified result handling, and enforced consistent subscription settings, thereby reducing developer effort and preventing common integration errors.

Distributed SystemsMessagingRocketMQ
0 likes · 6 min read
Design and Implementation of a Simplified RocketMQ SDK
Architect
Architect
May 15, 2024 · Backend Development

Hot‑Pluggable AOP in Spring: Dynamically Adding and Removing Advice

This article demonstrates how to implement a hot‑pluggable AOP solution in Spring by exposing endpoints that let users dynamically add or remove Advice, covering the underlying concepts, core implementation code, a demo service, and test scenarios that show logging being enabled and disabled at runtime.

BackendDynamicAdviceHotPluggable
0 likes · 10 min read
Hot‑Pluggable AOP in Spring: Dynamically Adding and Removing Advice
Top Architect
Top Architect
May 15, 2024 · Backend Development

Implementing a Simple Java RPC Framework: Architecture, Service Registration, Serialization, and Proxy Generation

This article explains the principles and implementation of a Java RPC framework, covering service registration with Zookeeper, serialization, compression, network communication via Netty, dynamic proxy generation using reflection and Javassist, and performance considerations, providing extensive code examples for each component.

Distributed SystemsJavassistNetty
0 likes · 25 min read
Implementing a Simple Java RPC Framework: Architecture, Service Registration, Serialization, and Proxy Generation
Selected Java Interview Questions
Selected Java Interview Questions
May 15, 2024 · Backend Development

retrofit-spring-boot-starter: A Lightweight HTTP Client Integration for Spring Boot

This article introduces retrofit-spring-boot-starter, a lightweight, type‑safe HTTP client starter that seamlessly integrates Retrofit into Spring Boot projects, outlines its key features, provides quick usage examples with Maven/Gradle dependencies, interface definitions, injection, configuration options, and advanced capabilities such as custom OkHttpClient injection, annotation‑based interceptors, connection‑pool management, logging, and retry mechanisms.

BackendConfigurationHTTP client
0 likes · 13 min read
retrofit-spring-boot-starter: A Lightweight HTTP Client Integration for Spring Boot
Architecture Digest
Architecture Digest
May 14, 2024 · Backend Development

FastJSON Serialization Mechanism and How to Control Method Invocation

This article analyzes a FastJSON serialization issue where a getter method is unexpectedly invoked, explains the underlying ASM-generated serializer workflow, details which methods are considered during serialization, and provides best‑practice code annotations to prevent unwanted method execution.

ASMannotationsjava
0 likes · 6 min read
FastJSON Serialization Mechanism and How to Control Method Invocation
JD Tech
JD Tech
May 14, 2024 · Backend Development

Matrix Underlying Support Framework: Hot Deployment, Front‑Middle Isolation, and Business Identity Design

This article examines the Matrix middle‑platform framework used at JD.com, detailing its hot‑deployment mechanism, the push‑and‑pull integration chains, class‑loader isolation based on the parent‑delegation model, and the design of business‑identity recognition, while offering best‑practice recommendations and code examples.

Hot DeploymentMicroservicesPaaS
0 likes · 33 min read
Matrix Underlying Support Framework: Hot Deployment, Front‑Middle Isolation, and Business Identity Design
macrozheng
macrozheng
May 14, 2024 · Backend Development

Lombok After One Year: Is the Convenience Worth the Hidden Costs?

After a year of using Project Lombok, the author reflects on how its annotations dramatically shrink boilerplate but also introduce version incompatibilities, hidden dependencies, reduced readability, tighter coupling, and technical debt, urging developers to weigh its benefits against long‑term maintenance risks.

LombokTechnical Debtcode-generation
0 likes · 11 min read
Lombok After One Year: Is the Convenience Worth the Hidden Costs?
Programmer DD
Programmer DD
May 14, 2024 · Information Security

Why My Game Score Rankings Went Crazy: Lessons from RSA & AES API Encryption

The article recounts a real‑world incident where a game’s leaderboard showed absurd scores due to insecure API parameters, then explains RSA and AES fundamentals, demonstrates how to combine asymmetric and symmetric encryption for secure request handling, and provides Java code, custom annotations, and AOP logic to automate decryption on the server side.

AESAPI SecurityBackend
0 likes · 23 min read
Why My Game Score Rankings Went Crazy: Lessons from RSA & AES API Encryption
Code Ape Tech Column
Code Ape Tech Column
May 14, 2024 · Backend Development

Comprehensive Guide to Spring State Machine: Concepts, Implementation, Persistence, and Troubleshooting

This article explains the fundamentals of finite‑state machines, introduces Spring Statemachine’s core features, walks through a complete Java implementation with database schema, persistence (memory and Redis), REST APIs, exception handling, and an AOP‑based solution for reliable state transitions.

Persistenceaopjava
0 likes · 25 min read
Comprehensive Guide to Spring State Machine: Concepts, Implementation, Persistence, and Troubleshooting
Open Source Tech Hub
Open Source Tech Hub
May 13, 2024 · Information Security

How to Implement AES Encryption in Java and PHP: Code, Comparison, and Tips

This guide explains the fundamentals of AES symmetric encryption, compares Java and PHP implementations, highlights their shared features and differences, provides complete code samples for encryption and decryption, and offers practical advice on key management, IV usage, and performance considerations.

AESPHPSymmetric Cryptography
0 likes · 8 min read
How to Implement AES Encryption in Java and PHP: Code, Comparison, and Tips
JD Retail Technology
JD Retail Technology
May 13, 2024 · Backend Development

A Minimalist Guide to Setting Up Unit Tests in Spring Boot

This article presents a concise, beginner-friendly approach to building a Spring Boot unit testing environment using only essential Maven dependencies and test classes, covering both integration-style and pure unit test techniques, complete with annotated examples and practical testing tips.

Integration TestJUnitMocking
0 likes · 9 min read
A Minimalist Guide to Setting Up Unit Tests in Spring Boot
Java Tech Enthusiast
Java Tech Enthusiast
May 13, 2024 · Backend Development

Understanding Java BigDecimal Precision Mechanism

The article explains how Java’s BigDecimal class maintains exact financial precision by storing numbers as an unscaled integer and a scale, scaling operands to a common decimal place, performing integer arithmetic—including handling differing scales—and finally reconstructing a correctly scaled result.

ArithmeticBigDecimaljava
0 likes · 7 min read
Understanding Java BigDecimal Precision Mechanism
Architecture Digest
Architecture Digest
May 13, 2024 · Backend Development

retrofit-spring-boot-starter: A Lightweight HTTP Client Framework for Spring Boot

The article introduces retrofit-spring-boot-starter, a lightweight HTTP client library for Spring Boot that simplifies HTTP calls, offers extensive features such as custom OkHttpClient injection, annotation‑based interceptors, retry, logging, circuit‑breaker, and provides detailed usage examples, configuration options, and advanced customization techniques.

ConfigurationHTTP clientMicroservices
0 likes · 22 min read
retrofit-spring-boot-starter: A Lightweight HTTP Client Framework for Spring Boot
macrozheng
macrozheng
May 13, 2024 · Information Security

How to Secure APIs: Prevent Tampering and Replay Attacks with Spring Boot

This article explains why publicly exposed APIs are vulnerable to tampering and replay attacks, outlines anti‑tampering and anti‑replay strategies such as HTTPS, request signing, timestamp and nonce mechanisms, and provides a complete Spring Boot implementation with Redis support.

API SecurityAnti-replaySpring Boot
0 likes · 15 min read
How to Secure APIs: Prevent Tampering and Replay Attacks with Spring Boot
Selected Java Interview Questions
Selected Java Interview Questions
May 12, 2024 · Backend Development

Optimizing Contract Signing with Strategy, Chain of Responsibility, and Composite Patterns in Java

This article explains how to improve a Java Spring Boot contract signing workflow by combining the Strategy pattern, Chain of Responsibility, and Composite patterns, detailing the process steps, project structure, code implementations, custom annotations, and dynamic bean injection to achieve a flexible and maintainable solution.

BackendChain of ResponsibilityDesign Patterns
0 likes · 13 min read
Optimizing Contract Signing with Strategy, Chain of Responsibility, and Composite Patterns in Java
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
May 12, 2024 · Backend Development

Master Spring Global Exception & Data Handling with @ControllerAdvice

Learn how to use Spring's @ControllerAdvice, @ExceptionHandler, @InitBinder, and @ModelAttribute annotations to implement global exception handling, data binding, and pre-processing, including custom exceptions, order control with @Order, and practical code examples for robust backend development.

ControllerAdviceDataBindingexceptionhandling
0 likes · 12 min read
Master Spring Global Exception & Data Handling with @ControllerAdvice
21CTO
21CTO
May 11, 2024 · Artificial Intelligence

Oracle Unveils Code Assist: An AI-Powered Coding Companion for Java, SQL, and More

Oracle announced its upcoming AI coding assistant, Code Assist, tailored for Java, Oracle Database, NetSuite scripts, and Oracle Cloud, offering chat-driven code suggestions, documentation generation, and security scanning across VS Code and JetBrains IDEs, while emphasizing multi‑language support and data privacy.

AI coding assistantIntelliJOracle
0 likes · 5 min read
Oracle Unveils Code Assist: An AI-Powered Coding Companion for Java, SQL, and More
Selected Java Interview Questions
Selected Java Interview Questions
May 11, 2024 · Backend Development

A Comprehensive Guide to Using Arthas for Java Application Diagnosis and Debugging

This article introduces Arthas, an open‑source Java diagnostic tool from Alibaba, explains its key features, shows how to install it via Maven, and provides step‑by‑step commands for entering the shell, monitoring JVM status, tracing method calls, observing system resources, dynamically redefining code, and connecting to applications using default or Telnet modes.

ArthasPerformance Monitoringbackend-development
0 likes · 8 min read
A Comprehensive Guide to Using Arthas for Java Application Diagnosis and Debugging
macrozheng
macrozheng
May 11, 2024 · Backend Development

When Does @Transactional Commit? Before or After Unlock?

This article explains the timing of Spring's @Transactional commit relative to lock release, analyzes why committing after unlock can cause overselling, shows how to trace the transaction lifecycle in the source code, and offers practical solutions to ensure atomicity in high‑concurrency scenarios.

Lockconcurrencydatabase
0 likes · 19 min read
When Does @Transactional Commit? Before or After Unlock?
High Availability Architecture
High Availability Architecture
May 11, 2024 · Databases

Understanding and Optimizing Redis Pipeline in Spring Boot with Lettuce and Redisson

This article explains the principles of Redis Pipeline, compares Lettuce and Redisson client implementations in Spring Boot, presents performance tests showing dramatic speed gains over single commands, discusses practical usage scenarios, common pitfalls, and provides detailed source code examples for both clients.

LettucePipelineSpring Boot
0 likes · 29 min read
Understanding and Optimizing Redis Pipeline in Spring Boot with Lettuce and Redisson
Code Ape Tech Column
Code Ape Tech Column
May 11, 2024 · Information Security

Hybrid RSA‑AES Encryption for Secure API Parameter Transmission in Java

This article recounts a leaderboard data breach caused by tampered Base64 request parameters, then details a hybrid RSA‑AES encryption strategy—using RSA to protect the AES key, IV and timestamp while AES encrypts the actual payload—along with Java implementations, key‑generation utilities, and a Spring AOP aspect for automatic decryption, providing a comprehensive guide to securing API communications.

API SecurityBackendjava
0 likes · 20 min read
Hybrid RSA‑AES Encryption for Secure API Parameter Transmission in Java
Su San Talks Tech
Su San Talks Tech
May 11, 2024 · Backend Development

Unlock Ultra‑Fast Java Concurrency with the Disruptor Framework

Disruptor is an open‑source, lock‑free Java framework that uses a ring‑buffer and sequencer to achieve ultra‑high‑throughput, handling millions of events per second, and is employed by projects like LMAX, Storm, Camel, and Log4j2, with detailed concepts, wait strategies, and usage examples.

DisruptorRingBufferWaitStrategy
0 likes · 13 min read
Unlock Ultra‑Fast Java Concurrency with the Disruptor Framework
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
May 11, 2024 · Backend Development

Netty Packet Framing: Handling TCP Sticky and Unsticky Packets

This article explains TCP packet fragmentation and aggregation (sticky/unsticky packets), demonstrates the phenomena with examples, and provides detailed solutions using Netty's built‑in decoders such as FixedLengthFrameDecoder, LineBasedFrameDecoder, DelimiterBasedFrameDecoder, and LengthFieldBasedFrameDecoder, including code samples and configuration tips.

DecoderNettyTCP
0 likes · 26 min read
Netty Packet Framing: Handling TCP Sticky and Unsticky Packets
HelloTech
HelloTech
May 10, 2024 · Backend Development

Root Cause Analysis and Optimization of G1GC Pauses Caused by StringTable Growth in Java Services

The investigation revealed that G1GC pauses were caused by uncontrolled growth of the JVM StringTable, triggered by Jackson’s InternCache interning countless random JSON field names, and was mitigated by enlarging the young generation, disabling field‑name interning, tuning G1 parameters, and monitoring StringTable size.

GC tuningJSON interningJVM performance
0 likes · 37 min read
Root Cause Analysis and Optimization of G1GC Pauses Caused by StringTable Growth in Java Services
Java High-Performance Architecture
Java High-Performance Architecture
May 10, 2024 · Backend Development

How to Slim Down SpringBoot JARs: Remove Unused Libraries for Faster Deployments

This guide explains why SpringBoot JARs become bulky when many dependencies are included, shows how to inspect the packaged libraries, and provides step‑by‑step Maven configurations and runtime commands to build a leaner JAR that loads external libs only when needed, dramatically speeding up deployment.

Jar OptimizationSpringBootjava
0 likes · 6 min read
How to Slim Down SpringBoot JARs: Remove Unused Libraries for Faster Deployments
Architect's Guide
Architect's Guide
May 10, 2024 · Backend Development

Implementing Request and Response Encryption in Spring Boot with ControllerAdvice and Jackson

This article demonstrates how to secure Spring Boot APIs by encrypting request and response bodies using custom ControllerAdvice, switching from FastJson to Jackson for proper enum and date serialization, and configuring ObjectMapper to produce consistent JSON output across encrypted and non‑encrypted endpoints.

API SecurityControllerAdviceJackson
0 likes · 13 min read
Implementing Request and Response Encryption in Spring Boot with ControllerAdvice and Jackson
Top Architect
Top Architect
May 9, 2024 · Backend Development

Hot Deployment of User‑Implemented Java Interfaces Using Reflection and Spring

This article demonstrates how to design a simple Calculator interface in Java, implement it using both Spring‑managed and reflection‑based approaches, and achieve hot deployment by loading user‑provided JAR files at runtime, including code for class loading, bean registration, and cleanup.

Dynamic LoadingHot DeploymentReflection
0 likes · 12 min read
Hot Deployment of User‑Implemented Java Interfaces Using Reflection and Spring
macrozheng
macrozheng
May 9, 2024 · Information Security

Why Servers Never Store Your Original Password: A Deep Dive into Secure Hashing

This article explains why servers cannot know your original password, covering the principles of password hashing, the difference between cryptographic and non‑cryptographic hash functions, the role of salts, and a Java example using SHA‑256 with salt to securely store passwords.

SHA-256cryptographyjava
0 likes · 6 min read
Why Servers Never Store Your Original Password: A Deep Dive into Secure Hashing
Java High-Performance Architecture
Java High-Performance Architecture
May 9, 2024 · Backend Development

How to Implement Role-Based Data Permissions in MyBatis-Plus with Interceptors

Learn how to enforce role‑based data permission filtering in MyBatis‑Plus by creating custom annotations, implementing an InnerInterceptor, and integrating a permission handler that dynamically builds WHERE clauses based on user roles, with both basic and advanced examples covering SQL parsing, role scopes, and plugin configuration.

Data PermissionInterceptorbackend-development
0 likes · 17 min read
How to Implement Role-Based Data Permissions in MyBatis-Plus with Interceptors
Zhuanzhuan Tech
Zhuanzhuan Tech
May 8, 2024 · Backend Development

Optimizing Coupon Combination Algorithms: From Cartesian Product to Array Indexing

This article explains the rules of platform coupons, demonstrates a concrete example, and details three generations of algorithms—from a Cartesian‑product approach to Map‑based and array‑index methods—highlighting their implementations, performance trade‑offs, and a comparative benchmark.

algorithmcoupon optimizatione‑commerce
0 likes · 10 min read
Optimizing Coupon Combination Algorithms: From Cartesian Product to Array Indexing
macrozheng
macrozheng
May 8, 2024 · Backend Development

Mastering Spring’s @Autowired: Advanced Usage, Qualifiers, and Common Pitfalls

This article explores the default behavior of Spring's @Autowired annotation, how to resolve bean name conflicts, use @Qualifier and @Primary, apply @Autowired on constructors, methods, parameters, and collections, and troubleshoot common issues such as missing annotations, filter injection, component scanning, and circular dependencies.

AutowiredBackendSpring Boot
0 likes · 15 min read
Mastering Spring’s @Autowired: Advanced Usage, Qualifiers, and Common Pitfalls
Architect's Journey
Architect's Journey
May 8, 2024 · Backend Development

Mastering MyBatis JSON Field Mapping with Custom TypeHandlers

This article walks through three ways to map JSON columns to Java objects in MyBatis, explains why simple String or JSONObject approaches are fragile, and provides a complete custom TypeHandler implementation, registration, and usage example for complex entity fields.

D3BootJSONMyBatis
0 likes · 11 min read
Mastering MyBatis JSON Field Mapping with Custom TypeHandlers
Top Architecture Tech Stack
Top Architecture Tech Stack
May 7, 2024 · Backend Development

How to Create Custom Javadoc Live Templates in IntelliJ IDEA for Java

This guide explains step‑by‑step how to configure IntelliJ IDEA’s Live Templates to automatically generate Javadoc comments for Java methods, including creating a custom template group, defining variables, setting scope, and showcasing useful Java‑8 snippets, while also noting promotional offers for activation tools.

IDE TipsIntelliJ IDEAJavadoc
0 likes · 6 min read
How to Create Custom Javadoc Live Templates in IntelliJ IDEA for Java
JavaEdge
JavaEdge
May 7, 2024 · Backend Development

Mastering Product Management: Build SPU/SKU CRUD with Snowflake IDs in Java

This guide walks through implementing a complete product management module in a Java e‑commerce system, covering Snowflake distributed ID generation, database schema design for SPU and SKU tables, CRUD operations, category‑brand linking, audit workflow, status toggling, batch processing, and logical deletion, all with concrete code examples.

BackendCRUDe‑commerce
0 likes · 16 min read
Mastering Product Management: Build SPU/SKU CRUD with Snowflake IDs in Java
Lobster Programming
Lobster Programming
May 7, 2024 · Backend Development

How to Build Redis-Based Delayed Queues: 3 Practical Approaches

This article explains three common methods for implementing delayed queues with Redis—using key expiration notifications, Zset with scheduled tasks, and Redisson’s RDelayedQueue—detailing their concepts, core code examples, advantages, and limitations for backend developers.

ZSetbackend-developmentjava
0 likes · 5 min read
How to Build Redis-Based Delayed Queues: 3 Practical Approaches
Architect
Architect
May 7, 2024 · Backend Development

MyBatis Source Code Execution Flow Explained

The article walks through MyBatis’s internal execution pipeline, from loading the configuration file and building a SqlSessionFactory, to creating a SqlSession, generating a MapperProxy for the mapper interface, and finally invoking the mapped method which triggers JDBC operations, while detailing caching and executor mechanisms.

DynamicProxyExecutorMyBatis
0 likes · 31 min read
MyBatis Source Code Execution Flow Explained
JD Retail Technology
JD Retail Technology
May 7, 2024 · Backend Development

Off‑Heap Cache (OHC) Practice: Reducing JVM GC Impact and Boosting C‑Side Interface Throughput

This article explains how using an off‑heap local cache (OHC) can dramatically lower GC pauses and cut interface latency by up to tenfold, covering the underlying principles, configuration, custom serializers, performance testing, monitoring metrics, and practical optimization recommendations for high‑traffic Java backend services.

OHCcachinggc
0 likes · 15 min read
Off‑Heap Cache (OHC) Practice: Reducing JVM GC Impact and Boosting C‑Side Interface Throughput
Su San Talks Tech
Su San Talks Tech
May 7, 2024 · Backend Development

9 Common Reasons Why @Async Doesn’t Work in Spring and How to Fix Them

This article explains nine typical scenarios that cause the Spring @Async annotation to fail—ranging from missing @EnableAsync to improper method visibility, return types, static or final modifiers, missing @Service, manual object creation, and incorrect component scanning—providing clear explanations and code examples for each case.

AsyncAsyncSpring Boot
0 likes · 10 min read
9 Common Reasons Why @Async Doesn’t Work in Spring and How to Fix Them
Sanyou's Java Diary
Sanyou's Java Diary
May 6, 2024 · Backend Development

Mastering Global ID Generation: From MySQL Auto‑Increment to Snowflake & Leaf

This article compares common global ID generation strategies for microservice architectures, covering database‑level solutions like auto‑increment configuration and MyCat + ZooKeeper, as well as application‑level approaches such as UUID, Snowflake, Leaf (segment and Snowflake modes), Redis, and ZooKeeper, with configuration steps, code samples, and pros‑cons.

Leafdistributed-idglobal ID
0 likes · 16 min read
Mastering Global ID Generation: From MySQL Auto‑Increment to Snowflake & Leaf
Architecture Digest
Architecture Digest
May 6, 2024 · Information Security

RSA Encryption and Decryption in Spring Boot: A Practical Guide

This tutorial explains RSA asymmetric encryption and signing, then walks through securing Spring Boot API endpoints by adding annotations, configuring keys, integrating JavaScript decryption, and addressing practical deployment considerations to protect data from interception and tampering.

RSASpring Bootencryption
0 likes · 6 min read
RSA Encryption and Decryption in Spring Boot: A Practical Guide