Tagged articles
5000 articles
Page 40 of 50
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.

Backend DevelopmentJavaSpring Cloud Gateway
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 ManagementJava
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.

HikariCPJavaThreadPool
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.

BenchmarkException HandlingJMH
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.

Backend DevelopmentDistributed SystemsJava
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.

AOPBackendDynamicAdvice
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 SystemsJavaJavassist
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.

BackendHTTP clientJava
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.

ASMJavaannotations
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 DeploymentJavaPaaS
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.

JavaLombokTechnical debt
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.

AOPJavaPersistence
0 likes · 25 min read
Comprehensive Guide to Spring State Machine: Concepts, Implementation, Persistence, and Troubleshooting
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 TestJUnitJava
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.

HTTP clientJavaRetrofit
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-replayJava
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.

ControllerAdviceDataBindingJava
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 assistantIntelliJJava
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.

ArthasBackend DevelopmentJava
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.

ConcurrencyDatabaseJava
0 likes · 19 min read
When Does @Transactional Commit? Before or After Unlock?
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.

ConcurrencyDisruptorJava
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.

JavaNettyTCP
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.

G1GCGC tuningJSON interning
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 OptimizationJavaMaven
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 DeploymentJava
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.

JavaSHA-256cryptography
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.

Backend DevelopmentData PermissionInterceptor
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.

Javaalgorithmcoupon optimization
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.

AutowiredBackendJava
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.

D3BootJSONJava
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 IDEAJava
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.

BackendCRUDJava
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.

Backend DevelopmentJavaRedis
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.

CachingDynamicProxyExecutor
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.

CachingJavaOHC
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.

AOPAsyncAsync
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.

JavaLeafdistributed-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.

JavaRSASpring Boot
0 likes · 6 min read
RSA Encryption and Decryption in Spring Boot: A Practical Guide
Top Architect
Top Architect
May 6, 2024 · Operations

Graceful Service Shutdown and Deployment Strategies for Java Applications

This article explains how to achieve graceful service startup and shutdown in Java projects, covering monolithic and microservice architectures, Spring and SpringBoot mechanisms, service registration with Eureka and Nacos, Kubernetes probes, thread‑pool and MQ graceful termination, and provides practical code examples for each scenario.

Graceful ShutdownJavakubernetes
0 likes · 27 min read
Graceful Service Shutdown and Deployment Strategies for Java Applications
JD Tech
JD Tech
May 6, 2024 · Fundamentals

Static and Runtime Code Scanning to Detect Unused Java Methods

This article presents a design and implementation of both static AST‑based scanning and runtime JaCoCo coverage analysis to automatically detect unused (zombie) Java methods, describing the workflow, required dependencies, code snippets, and how to visualize active versus dead code in the IDE.

ASTDead CodeJaCoCo
0 likes · 8 min read
Static and Runtime Code Scanning to Detect Unused Java Methods
Java Tech Enthusiast
Java Tech Enthusiast
May 6, 2024 · Backend Development

Design Patterns in MyBatis Source Code

MyBatis, a widely used Java ORM, embeds around ten classic design patterns—including Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template Method, Strategy, and Iterator—to modularize object creation, structure, and behavior, thereby simplifying complex data access and caching mechanisms within its architecture.

Backend DevelopmentDesign PatternsJava
0 likes · 8 min read
Design Patterns in MyBatis Source Code
FunTester
FunTester
May 6, 2024 · Backend Development

Building a Multi‑Priority Thread Pool with Java's PriorityBlockingQueue

This article explains how to solve Java thread‑pool priority problems by leveraging java.util.concurrent.PriorityBlockingQueue, details its thread‑safe and unbounded features, and provides a complete multi‑priority thread‑pool implementation with sample code and a test demonstrating correct task ordering.

ConcurrencyJavaPriority Scheduling
0 likes · 6 min read
Building a Multi‑Priority Thread Pool with Java's PriorityBlockingQueue
Su San Talks Tech
Su San Talks Tech
May 5, 2024 · Backend Development

Fixing MyBatis‑Plus Migration Errors: Why LocalDateTime Conversion Fails and How to Resolve It

This article walks through replacing MyBatis with MyBatis‑Plus in a legacy Java project, explains the “Conversion not supported for type java.time.LocalDateTime” error caused by MyBatis 3.5.1 and an outdated mysql‑connector‑java driver, and shows how upgrading the driver resolves the issue while offering debugging tips.

DebuggingJavaMyBatis
0 likes · 16 min read
Fixing MyBatis‑Plus Migration Errors: Why LocalDateTime Conversion Fails and How to Resolve It
Java Captain
Java Captain
May 4, 2024 · Backend Development

Implementing a FIFO Export Queue for Large Data Exports in Java

This article explains how to design and implement a fixed‑size FIFO export queue in a Java Spring application to control concurrent MySQL data exports, detailing the related entities, code implementation with EasyExcel, a test controller, and observed results.

BackendConcurrencyExport Queue
0 likes · 10 min read
Implementing a FIFO Export Queue for Large Data Exports in Java
Code Ape Tech Column
Code Ape Tech Column
May 4, 2024 · Backend Development

Understanding PageHelper Pagination Issues and ThreadLocal Management in MyBatis

This article analyzes common anomalies caused by the PageHelper pagination plugin in a Java backend project—such as duplicate user registration, limited query results, and password‑reset errors—traces them to ThreadLocal misuse, explains the internal workflow of startPage, getLocalPage, and clearPage, and offers practical recommendations to avoid these pitfalls.

BackendJavaMyBatis
0 likes · 11 min read
Understanding PageHelper Pagination Issues and ThreadLocal Management in MyBatis
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
May 4, 2024 · Backend Development

Refactoring Cloud Disk Upload Logic with Domain-Driven Design: Models, Factories, and Repositories

The article examines the difficulties of applying Domain-Driven Design to a cloud‑disk file‑upload scenario, demonstrates how to simplify the code by extracting business models, introducing factories and repositories, and explains how these patterns clarify the separation between business and technical concerns.

Domain-Driven DesignFactory PatternJava
0 likes · 20 min read
Refactoring Cloud Disk Upload Logic with Domain-Driven Design: Models, Factories, and Repositories
Java Tech Enthusiast
Java Tech Enthusiast
May 2, 2024 · Backend Development

Why Not to Use Spring BeanUtils for Object Copying and How MapperStruct Improves Performance

Spring’s BeanUtils.copyProperties is error‑prone and slow due to type mismatches, primitive‑wrapper issues, null overwrites and reflection, whereas MapStruct generates compile‑time, type‑safe mapper code that avoids these pitfalls, delivers far better performance, and integrates easily with Maven and Lombok.

BeanUtilsJavaObject Mapping
0 likes · 6 min read
Why Not to Use Spring BeanUtils for Object Copying and How MapperStruct Improves Performance
Java Tech Enthusiast
Java Tech Enthusiast
May 1, 2024 · Fundamentals

Pitfalls of Arrays.asList in Java

Java's Arrays.asList method has three major pitfalls: it cannot directly convert primitive arrays like int[] because of autoboxing limits, it returns a fixed-size list that throws UnsupportedOperationException on modification, and the list shares its backing array so changes to the original array are reflected in the list; using Arrays.stream for boxing or wrapping the result in a new ArrayList avoids these issues.

Arrays.asListCode ExamplesCollections
0 likes · 4 min read
Pitfalls of Arrays.asList in Java
Java Tech Enthusiast
Java Tech Enthusiast
May 1, 2024 · Fundamentals

Zigzag Conversion Algorithm (LeetCode 6)

The Zigzag Conversion algorithm rearranges an input string into a Z‑shaped pattern across a specified number of rows, tracks the current row while toggling direction at the top and bottom, stores characters per row, and finally concatenates the rows to produce the transformed string, with reference implementations in C++, Java, and Python.

C++JavaLeetCode
0 likes · 9 min read
Zigzag Conversion Algorithm (LeetCode 6)
Architect's Guide
Architect's Guide
May 1, 2024 · Fundamentals

Effect of Placing try‑catch Inside vs Outside a for Loop in Java

This article explains the behavioral and performance differences of positioning a try‑catch block either outside or inside a Java for‑loop, illustrating each case with code examples, execution results, memory analysis, and practical recommendations for handling exceptions during batch processing.

/loopException HandlingJava
0 likes · 5 min read
Effect of Placing try‑catch Inside vs Outside a for Loop in Java
Architect
Architect
Apr 30, 2024 · Backend Development

Using CompletableFuture for Asynchronous Programming in Java: Examples and Best Practices

This article explains why asynchronous programming improves performance, compares serial and parallel implementations of a login flow, and demonstrates how to use Java's CompletableFuture API—including supplyAsync, runAsync, callbacks, composition, and error handling—to write efficient backend code.

AsynchronousBackendCompletableFuture
0 likes · 22 min read
Using CompletableFuture for Asynchronous Programming in Java: Examples and Best Practices
JD Cloud Developers
JD Cloud Developers
Apr 30, 2024 · Artificial Intelligence

Build a Handwritten Digit Recognizer in Java with TensorFlow

This article walks through the complete process of creating, training, evaluating, saving, and loading a MNIST handwritten digit recognition model using TensorFlow in Java, comparing it with the equivalent Python implementation and covering required knowledge, environment setup, and code details.

Deep LearningJavaMNIST
0 likes · 34 min read
Build a Handwritten Digit Recognizer in Java with TensorFlow
macrozheng
macrozheng
Apr 30, 2024 · Operations

How to Automate Java SpringBoot Deployment with Jenkins and Docker Swarm

This guide walks you through setting up Jenkins to pull code from GitLab, build a SpringBoot 3 Java project with Maven, back up and copy JAR files to a remote server, and perform rolling updates of Docker Swarm services, all with step‑by‑step instructions and code snippets.

Docker SwarmJavaJenkins
0 likes · 10 min read
How to Automate Java SpringBoot Deployment with Jenkins and Docker Swarm
Su San Talks Tech
Su San Talks Tech
Apr 30, 2024 · Backend Development

Mastering Context Propagation in Thread Pools with TransmittableThreadLocal

This article explains why standard ThreadLocal mechanisms fail with thread pools, introduces the design of a custom solution using YesThreadLocal and YesRunnable, and then details how Alibaba's TransmittableThreadLocal (TTL) implements context capture, replay, and restoration for seamless asynchronous execution.

ConcurrencyContextPropagationJava
0 likes · 12 min read
Mastering Context Propagation in Thread Pools with TransmittableThreadLocal
Software Development Quality
Software Development Quality
Apr 30, 2024 · Backend Development

How to Thoroughly Test Dubbo Services: A Step‑by‑Step Guide

This guide walks you through preparing a Dubbo test environment, creating mock providers, writing JUnit 5 test cases, configuring consumers, sending requests, validating responses, handling errors, and optionally adding performance testing, monitoring, and CI automation to ensure robust backend services.

DubboJavamicroservices
0 likes · 5 min read
How to Thoroughly Test Dubbo Services: A Step‑by‑Step Guide
DeWu Technology
DeWu Technology
Apr 29, 2024 · Backend Development

Handling Non-Standard Collection Types in Dubbo RPC with Protostuff Serialization

When Dubbo RPC uses Protostuff serialization, DTO fields declared with ambiguous types that contain non‑standard collections such as subList results can trigger ClassNotFound or null errors during deserialization, so converting these to regular JDK collections (or switching to a more tolerant format like Hessian2/JSON) restores stability.

BackendDTODubbo
0 likes · 8 min read
Handling Non-Standard Collection Types in Dubbo RPC with Protostuff Serialization
Architecture Digest
Architecture Digest
Apr 29, 2024 · Backend Development

Implementing a FIFO Export Queue in Spring Boot for Large Data Exports

This article explains how to design and implement a fixed-size FIFO export queue in a Spring Boot backend, using synchronized methods, EasyExcel for large data exports, and a test controller to simulate concurrent export requests, while discussing performance considerations and future enhancements.

BackendConcurrencyExport Queue
0 likes · 10 min read
Implementing a FIFO Export Queue in Spring Boot for Large Data Exports
Selected Java Interview Questions
Selected Java Interview Questions
Apr 29, 2024 · Backend Development

Why Spring BeanUtils.copyProperties Is Discouraged and MapStruct Is Preferred for Java Object Mapping

The article explains the limitations of Spring's BeanUtils.copyProperties—such as type mismatches, null overwriting, and reflection overhead—and demonstrates how MapStruct provides a faster, compile‑time generated alternative for copying properties between Java objects, with usage examples and Maven setup.

BeanUtilsJavaObject Mapping
0 likes · 6 min read
Why Spring BeanUtils.copyProperties Is Discouraged and MapStruct Is Preferred for Java Object Mapping
DaTaobao Tech
DaTaobao Tech
Apr 29, 2024 · Backend Development

Refactoring Cache Logic with Spring Cache Annotations

The article explains how moving cache operations out of business code and into Spring Cache annotations—@Cacheable, @CachePut, and @CacheEvict—creates a clean, loosely‑coupled design, simplifies maintenance, and enables custom extensions such as breakdown protection and multi‑level caching for high‑concurrency applications.

AOPJavaspring
0 likes · 6 min read
Refactoring Cache Logic with Spring Cache Annotations
macrozheng
macrozheng
Apr 29, 2024 · Backend Development

Boost Java Development with MyBatisX: Full Guide to Code Generation and JPA Features

This article introduces MyBatisX, an IDEA plugin that streamlines MyBatis development with navigation, GUI‑based code generation, customizable templates, JPA‑style method hints, and icon settings, providing step‑by‑step instructions and visual examples to enhance backend productivity.

Backend DevelopmentIDEA PluginJava
0 likes · 8 min read
Boost Java Development with MyBatisX: Full Guide to Code Generation and JPA Features
Code Ape Tech Column
Code Ape Tech Column
Apr 29, 2024 · Backend Development

Advanced Lombok Annotations: @onX, @Delegate, @Cleanup, @Builder/@Singular, and @With

This article explains several powerful Lombok annotations—including @onX, @Delegate, @Cleanup, @Builder with @Singular, and @With—showing how they simplify Spring‑based Java code through automatic constructor generation, method delegation, resource management, and fluent builders, while also warning against overuse.

JavaLombokannotations
0 likes · 7 min read
Advanced Lombok Annotations: @onX, @Delegate, @Cleanup, @Builder/@Singular, and @With
Architect
Architect
Apr 28, 2024 · Backend Development

Understanding Spring's Circular Dependency Resolution with a Three‑Level Cache

This article explains how Spring solves circular dependencies by using a three‑level cache system, walks through the underlying source‑code execution flow, clarifies the purpose of each cache level, and discusses why the design is essential for AOP‑enabled beans.

AOPBackend DevelopmentBeanFactory
0 likes · 12 min read
Understanding Spring's Circular Dependency Resolution with a Three‑Level Cache
Architecture Digest
Architecture Digest
Apr 28, 2024 · Backend Development

Understanding FastJSON Serialization: Why isChinaName() Is Invoked and How to Control Serialized Methods

This article analyzes a FastJSON serialization issue where a getter method is unexpectedly called, explains the underlying ASM‑generated serializer mechanism, details which methods FastJSON invokes during serialization, and proposes using @JSONField(serialize = false) to explicitly exclude methods from the serialization process.

ASMBackend DevelopmentJSONField
0 likes · 8 min read
Understanding FastJSON Serialization: Why isChinaName() Is Invoked and How to Control Serialized Methods
macrozheng
macrozheng
Apr 28, 2024 · Backend Development

How to Seamlessly Replace MyBatis with MyBatis-Plus and Fix LocalDateTime Errors

This article walks through migrating an existing MySQL‑based Java project from MyBatis 3.5.x to MyBatis‑Plus 3.1.1, diagnosing the LocalDateTime conversion exception, upgrading mysql‑connector‑java, handling subsequent null‑pointer issues, and learning from a related file‑validation bug to emphasize thorough testing during component upgrades.

Connector-JavaDebuggingJava
0 likes · 9 min read
How to Seamlessly Replace MyBatis with MyBatis-Plus and Fix LocalDateTime Errors
Architect's Guide
Architect's Guide
Apr 28, 2024 · Backend Development

Kafka Consumer Usage Example and Deep Dive into Offset Management, Rebalance, and Thread Safety

This article presents a Java Kafka consumer example, explains offset semantics (at‑most‑once, at‑least‑once, exactly‑once), details consumer rebalance mechanisms, partition assignment strategies, thread‑safety considerations, and showcases core poll, heartbeat, and auto‑commit implementations with accompanying code snippets.

ConsumerJavaKafka
0 likes · 14 min read
Kafka Consumer Usage Example and Deep Dive into Offset Management, Rebalance, and Thread Safety
Code Ape Tech Column
Code Ape Tech Column
Apr 27, 2024 · Backend Development

Do Service and DAO Layers Need Interfaces? When to Use Them in Spring Projects

This article examines whether every Service and DAO class in a Spring‑based backend should implement an interface, discusses the three traditional reasons for using interfaces, explains why they often do not hold up, and proposes practical structuring alternatives for single‑ and multi‑implementation scenarios.

InterfaceJavaService Layer
0 likes · 8 min read
Do Service and DAO Layers Need Interfaces? When to Use Them in Spring Projects
Su San Talks Tech
Su San Talks Tech
Apr 27, 2024 · Cloud Native

Master OpenFeign: From Basics to Advanced Configurations in Spring Cloud

This comprehensive tutorial walks you through OpenFeign—its relationship to Feign, environment setup, service provider and consumer creation, various parameter passing methods, timeout handling, logging, HTTP client replacement, GZIP compression, and Sentinel-based circuit breaking—providing practical code examples and configuration snippets for Spring Cloud microservices.

Circuit BreakingJavaOpenFeign
0 likes · 19 min read
Master OpenFeign: From Basics to Advanced Configurations in Spring Cloud
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Apr 27, 2024 · Backend Development

Enabling Multiple @RequestBody Parameters in Spring MVC by Caching the Request Body

This article explains why Spring MVC cannot parse multiple @RequestBody annotations on a single handler method, analyzes the internal I/O stream closure that causes the failure, and provides a practical solution using a request‑body caching wrapper and a servlet filter to allow repeated reads of the request payload.

@RequestBodyBackendCaching
0 likes · 9 min read
Enabling Multiple @RequestBody Parameters in Spring MVC by Caching the Request Body
Top Architect
Top Architect
Apr 26, 2024 · Backend Development

Netty TCP Client Demo: Architecture Overview, Code Walkthrough, and Testing

This article presents a complete Netty TCP client demo for an IoT project, explaining the project background, architecture, modules, business flow, and detailed Java code—including a local queue, thread pool, client initialization, handler logic, and test controllers—along with deployment notes and source links.

JavaNettyRedis
0 likes · 22 min read
Netty TCP Client Demo: Architecture Overview, Code Walkthrough, and Testing
Top Architect
Top Architect
Apr 26, 2024 · Backend Development

Comprehensive Guide to Java 8 Stream API with Practical Examples

This article provides an in-depth tutorial on Java 8 Stream API, covering stream creation, intermediate and terminal operations, filtering, mapping, reduction, collection, sorting, grouping, and practical code examples, helping developers master functional programming with streams in Java.

Code ExamplesFunctional ProgrammingJava
0 likes · 24 min read
Comprehensive Guide to Java 8 Stream API with Practical Examples