Tagged articles

Java

5000 articles · Page 49 of 50
Java Tech Enthusiast
Java Tech Enthusiast
Jun 11, 2024 · Backend Development

Hot‑Pluggable AOP: Dynamic Advice Management in Spring

The article shows how to implement a hot‑plug AOP system in Spring that lets users enable or disable logging at runtime by scanning, registering, and deregistering Advice/Advisor/Pointcut beans through the bean factory, demonstrated with a REST endpoint that adds or removes a logging interceptor.

BackendDynamic PluginJava
0 likes · 9 min read
Hot‑Pluggable AOP: Dynamic Advice Management in Spring
Java Architect Essentials
Java Architect Essentials
Jun 10, 2024 · Backend Development

Designing an Excellent Controller Layer in Java Spring

This article explains how to build a clean, maintainable Controller layer in Java Spring by separating responsibilities, using unified response structures, applying ResponseBodyAdvice for automatic wrapping, implementing parameter validation with JSR‑303, and handling custom exceptions through centralized advice, illustrated with comprehensive code examples.

ControllerExceptionHandlingJava
0 likes · 15 min read
Designing an Excellent Controller Layer in Java Spring
JavaEdge
JavaEdge
Jun 10, 2024 · Backend Development

How Nacos Implements Long Polling with AsyncContext – A Deep Dive

This article walks through Nacos's LongPollingService source code, showing how it extracts headers, calculates timeouts, detects configuration changes, enforces connection limits, and uses Servlet 3.0 AsyncContext to handle long‑polling without blocking threads.

AsyncContextBackend DevelopmentJava
0 likes · 6 min read
How Nacos Implements Long Polling with AsyncContext – A Deep Dive
Architect
Architect
Jun 10, 2024 · Backend Development

How to Build a Scalable Front‑Back‑Separated Captcha Login with Spring Boot and Redis

This article walks through the problem of traditional session‑based captcha login, compares it with a modern front‑back‑separated architecture, and provides a step‑by‑step implementation using Spring Boot, Kaptcha, and Redis, including full code snippets, configuration classes, and flow diagrams.

CAPTCHAFrontBackSeparationJava
0 likes · 12 min read
How to Build a Scalable Front‑Back‑Separated Captcha Login with Spring Boot and Redis
Cognitive Technology Team
Cognitive Technology Team
Jun 10, 2024 · Backend Development

Gracefully Shutting Down a Thread Pool in Java

To gracefully shut down a Java thread pool, use ExecutorService's shutdown() to reject new tasks, awaitTermination() to wait for running tasks with optional timeout, handle exceptions, and optionally invoke shutdownNow() for forced termination, as illustrated by code examples from Dubbo3 and RocketMQ.

ExecutorServiceGracefulShutdownJava
0 likes · 4 min read
Gracefully Shutting Down a Thread Pool in Java
Cognitive Technology Team
Cognitive Technology Team
Jun 10, 2024 · Backend Development

Recursive Update Bug in ConcurrentHashMap.computeIfAbsent Causing Infinite Loop and CPU Spike

The article explains a bug in Java's ConcurrentHashMap.computeIfAbsent that can cause recursive updates and infinite loops, leading to CPU spikes, and shows that newer Java versions throw an IllegalStateException while recommending avoiding nested computeIfAbsent/putIfAbsent calls, with a code example.

BackendConcurrentHashMapJava
0 likes · 3 min read
Recursive Update Bug in ConcurrentHashMap.computeIfAbsent Causing Infinite Loop and CPU Spike
Architect
Architect
Jun 9, 2024 · Backend Development

Using MDC and TraceId for Log Correlation in Java Applications

This article explains how to use SLF4J MDC together with a TraceId header to correlate logs across threads, services, and distributed tracing tools like SkyWalking, providing code examples for filters, Feign interceptors, thread‑pool adapters, and Logback configuration.

JavaLogbackMDC
0 likes · 15 min read
Using MDC and TraceId for Log Correlation in Java Applications
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jun 9, 2024 · Backend Development

Understanding RequestContextHolder Issues in Multithreaded Spring MVC Applications

This article explains why RequestContextHolder fails to retrieve the HttpServletRequest in a multithreaded Spring MVC environment, demonstrates the problem with a concrete example, analyzes the underlying thread‑local handling of request attributes, and clarifies the default non‑inheritable behavior that leads to null requests.

JavaRequestContextHolderServletRequestAttributes
0 likes · 8 min read
Understanding RequestContextHolder Issues in Multithreaded Spring MVC Applications
Top Architect
Top Architect
Jun 8, 2024 · Backend Development

Comprehensive Guide to Java BigDecimal: Overview, Constructors, Methods, Formatting, Exceptions, and Utilities

This article provides an in‑depth tutorial on Java's BigDecimal class, covering its purpose, common constructors, essential arithmetic methods, comparison techniques, formatting with NumberFormat, handling of division exceptions, and a utility class offering precise add, subtract, multiply, divide, rounding, and comparison operations.

ArithmeticBigDecimalExceptionHandling
0 likes · 16 min read
Comprehensive Guide to Java BigDecimal: Overview, Constructors, Methods, Formatting, Exceptions, and Utilities
Java Tech Enthusiast
Java Tech Enthusiast
Jun 8, 2024 · Cloud Native

Performance Comparison of Spring Boot and Quarkus for Cloud‑Native Java Applications

The article benchmarks Spring Boot and Quarkus for cloud‑native Java apps, showing Quarkus native images start up twice as fast, use less memory, and produce smaller artifacts than Spring Boot, while Spring Boot JVM offers slightly lower latency, and a migration guide demonstrates API compatibility and code reuse.

Cloud NativeJavaMicroservices
0 likes · 13 min read
Performance Comparison of Spring Boot and Quarkus for Cloud‑Native Java Applications
Cognitive Technology Team
Cognitive Technology Team
Jun 8, 2024 · Fundamentals

Why ConcurrentHashMap Disallows Null Keys and Values in Java

ConcurrentHashMap forbids null keys and values because allowing nulls creates ambiguous results in concurrent environments, making it impossible to distinguish between a missing entry and an entry explicitly mapped to null, which could compromise thread safety, as explained by Doug Lea’s design rationale.

ConcurrentHashMapJavaNULL
0 likes · 4 min read
Why ConcurrentHashMap Disallows Null Keys and Values in Java
Architecture Digest
Architecture Digest
Jun 7, 2024 · Information Security

Implementing RSA Encryption and Decryption in Spring Boot APIs

This article explains how to secure Spring Boot API responses using RSA asymmetric encryption and digital signatures, covering RSA fundamentals, project setup, Maven configuration, key management, annotation‑driven encryption/decryption, front‑end JavaScript encryption with JSEncrypt, and practical testing steps.

API EncryptionJavaRSA
0 likes · 10 min read
Implementing RSA Encryption and Decryption in Spring Boot APIs
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jun 7, 2024 · Fundamentals

Understanding Java CAS and AQS: Unlock Lock-Free Concurrency

This article explains the principles and implementation of Java's Compare-and-Swap (CAS) and AbstractQueuedSynchronizer (AQS), illustrating how CAS enables lock‑free algorithms and how AQS underpins high‑level synchronization constructs like ReentrantLock and CountDownLatch, while also providing practical step‑by‑step examples.

AQSCASJava
0 likes · 5 min read
Understanding Java CAS and AQS: Unlock Lock-Free Concurrency
macrozheng
macrozheng
Jun 7, 2024 · Backend Development

Boost Java Startup Speed with Class Data Sharing (CDS): A Step‑by‑Step Guide

This article explains what Java Class Data Sharing (CDS) is, walks through training and running a Spring Boot application with CDS, and demonstrates how startup time can be reduced by nearly one second, while comparing CDS with CRaC and GraalVM for Java performance optimization.

Backend DevelopmentClass Data SharingJVM
0 likes · 9 min read
Boost Java Startup Speed with Class Data Sharing (CDS): A Step‑by‑Step Guide
Java High-Performance Architecture
Java High-Performance Architecture
Jun 7, 2024 · Backend Development

How to Parse Documents in Spring Boot with Apache Tika

Learn how to integrate Apache Tika into a Spring Boot application to parse a wide range of document formats, including the necessary Maven dependencies, XML configuration, custom configuration class, and usage examples, enabling efficient content extraction and processing within your Java backend.

Apache TikaBackend DevelopmentJava
0 likes · 5 min read
How to Parse Documents in Spring Boot with Apache Tika
Architect
Architect
Jun 6, 2024 · Backend Development

Why Fast‑Retry Beats Spring‑Retry for Million‑Task Scenarios

The article explains how Fast‑Retry, an asynchronous multi‑task retry framework, dramatically outperforms synchronous retry libraries like Spring‑Retry and Guava‑Retry when handling massive workloads, and provides step‑by‑step code examples, performance benchmarks, and integration tips for Java developers.

BackendJavaPerformance
0 likes · 8 min read
Why Fast‑Retry Beats Spring‑Retry for Million‑Task Scenarios
Java Tech Enthusiast
Java Tech Enthusiast
Jun 6, 2024 · Backend Development

MyBatis Dynamic SQL and Tag Usage Guide

MyBatis dynamic SQL lets developers construct conditional queries at runtime using tags like if, where, trim, choose, set, foreach, sql, include, and bind, simplifying complex statements, avoiding manual string concatenation, supporting batch operations, reusable fragments, and one‑to‑many mappings while improving flexibility and maintainability.

Dynamic SQLJavaMyBatis
0 likes · 16 min read
MyBatis Dynamic SQL and Tag Usage Guide
JD Cloud Developers
JD Cloud Developers
Jun 6, 2024 · Artificial Intelligence

Boost Code Review Efficiency with AI-Powered CI Integration

This guide explains how embedding a large‑language‑model AI into a CI pipeline can automate code reviews, cut review time, improve consistency and accuracy, and ultimately raise development efficiency and code quality while reducing manual effort and communication overhead.

AICI/CDJava
0 likes · 9 min read
Boost Code Review Efficiency with AI-Powered CI Integration
Architect's Guide
Architect's Guide
Jun 6, 2024 · Backend Development

Backend Implementation Method and Device Based on SpringBoot

The Chinese Patent CN112905176B granted to Industrial and Commercial Bank of China describes a SpringBoot‑based backend implementation method that extracts operation data, maps business IDs to configuration, builds conditional expressions, and processes data, aiming to reduce development changes, lower costs, and improve system stability.

Backend DevelopmentJavaSpringBoot
0 likes · 3 min read
Backend Implementation Method and Device Based on SpringBoot
JD Tech
JD Tech
Jun 5, 2024 · Artificial Intelligence

Integrating AI-Powered Code Review into CI Pipelines with JD's Large Model

This article explains the drawbacks of manual code review, demonstrates how AI large‑model services can automate and improve review quality, and provides a step‑by‑step guide—including a Java script and CI pipeline configuration—to embed JD's Chatrhino model into a continuous integration workflow, resulting in higher efficiency, accuracy, and reduced development cycle time.

AI code reviewCI/CDJava
0 likes · 11 min read
Integrating AI-Powered Code Review into CI Pipelines with JD's Large Model
Top Architect
Top Architect
Jun 5, 2024 · Backend Development

Advanced MyBatis Dynamic SQL Techniques and Best Practices

This article provides a comprehensive guide to MyBatis dynamic SQL, covering foreach loops, conditional if, choose, selectKey, trim, and sql fragments, with detailed explanations and full XML and Java code examples to help developers write efficient, error‑free mappings.

Dynamic SQLJavaMyBatis
0 likes · 20 min read
Advanced MyBatis Dynamic SQL Techniques and Best Practices
Top Architect
Top Architect
Jun 5, 2024 · Backend Development

Implementing Interface Debounce (Anti‑duplicate Submission) in Java Backend with Redis and Redisson

This article explains how to prevent duplicate API calls in Java backend systems by using debounce techniques, shared Redis caches or Redisson distributed locks, and provides complete annotation‑based implementations with code examples, key generation strategies, and testing results to achieve idempotent interfaces.

JavaRedisRedisson
0 likes · 16 min read
Implementing Interface Debounce (Anti‑duplicate Submission) in Java Backend with Redis and Redisson
Selected Java Interview Questions
Selected Java Interview Questions
Jun 5, 2024 · Backend Development

Analysis of MyBatis OGNL Concurrency Bug and Workarounds

This article investigates a concurrency bug in MyBatis caused by OGNL expression evaluation using reflection, explains the root cause through stack trace and source code analysis, and proposes solutions such as upgrading MyBatis or avoiding private inner‑class methods like Arrays.asList.

JavaMyBatisOGNL
0 likes · 13 min read
Analysis of MyBatis OGNL Concurrency Bug and Workarounds
FunTester
FunTester
Jun 4, 2024 · Backend Development

Why FastThreadLocal Beats ThreadLocal in High‑Concurrency Java Apps

This article compares Java's standard ThreadLocal with Netty's FastThreadLocal, explains their internal mechanisms, shows practical code examples, runs a JMH microbenchmark, and discusses performance, memory management, and usage scenarios to help developers choose the right thread‑local storage solution.

FastThreadLocalJMHJava
0 likes · 11 min read
Why FastThreadLocal Beats ThreadLocal in High‑Concurrency Java Apps
Top Architect
Top Architect
Jun 4, 2024 · Backend Development

Dynamic Hot‑Pluggable AOP Implementation in Spring

This article explains how to let users dynamically enable or disable logging by managing Spring AOP advice at runtime, covering prerequisite concepts, core hot‑plug logic, detailed Java code for installing and removing plugins, a step‑by‑step demo, and a concise summary of the approach.

AOPDynamic PluginHot Plug
0 likes · 12 min read
Dynamic Hot‑Pluggable AOP Implementation in Spring
Programmer DD
Programmer DD
Jun 4, 2024 · Backend Development

8 Essential Java Stream APIs to Simplify Collection Processing

This article introduces eight ready‑to‑use Java Stream APIs—including Stream.ofNullable, Stream.iterate, collectingAndThen, dropWhile/takeWhile, IntStream, teeing, concat, and partitioningBy—showing how each can cleanly handle nulls, generate sequences, transform collections, and combine streams with concise code examples.

CollectionsJavaJava 12
0 likes · 7 min read
8 Essential Java Stream APIs to Simplify Collection Processing
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jun 4, 2024 · Cloud Native

Mastering Hystrix: A Complete Guide to Circuit Breaking in Spring Cloud

This article provides a comprehensive overview of Hystrix, covering its core functions such as fault isolation, service fallback, timeout control, and circuit breaking, and walks through adding Maven dependencies, annotating methods with @HystrixCommand, configuring properties, and explaining the underlying circuit‑breaker and thread‑pool isolation principles.

Circuit BreakerHystrixJava
0 likes · 6 min read
Mastering Hystrix: A Complete Guide to Circuit Breaking in Spring Cloud
Java High-Performance Architecture
Java High-Performance Architecture
Jun 4, 2024 · Backend Development

Master Spring Security & JWT for Seamless Single Sign-On (SSO)

This comprehensive guide walks you through the concepts of Single Sign-On, the mechanics of JWT, RSA asymmetric encryption, and step‑by‑step integration of Spring Security with JWT, providing full Maven project setup, configuration files, utility classes, custom filters, and testing instructions for a robust distributed authentication system.

Backend DevelopmentJWTJava
0 likes · 25 min read
Master Spring Security & JWT for Seamless Single Sign-On (SSO)
Architect's Guide
Architect's Guide
Jun 4, 2024 · Fundamentals

IntelliJ IDEA 2024.1 Release: New Features and Improvements

JetBrains' 2024.1 update for IntelliJ IDEA introduces full‑line code completion, Java 22 support, a revamped terminal, AI Assistant enhancements, improved version‑control integration, faster Maven project loading, advanced debugging, Spring framework upgrades, and numerous UI and refactoring refinements, all aimed at boosting developer productivity.

AI code completionBuild ToolsIDE Features
0 likes · 11 min read
IntelliJ IDEA 2024.1 Release: New Features and Improvements
Programmer XiaoFu
Programmer XiaoFu
Jun 4, 2024 · Operations

How to Tackle a 900% CPU Spike in MySQL and Java Processes

The article walks through real interview scenarios where MySQL or Java processes consume 900% CPU, detailing step‑by‑step diagnosis with top, processlist, jstack, and concrete remediation such as adding indexes, using caches, fixing busy loops, and tuning memory.

CPUGCJava
0 likes · 12 min read
How to Tackle a 900% CPU Spike in MySQL and Java Processes
Shepherd Advanced Notes
Shepherd Advanced Notes
Jun 4, 2024 · Backend Development

Understanding Java ThreadPoolExecutor: Implementation Details and Business Best Practices

This article explains the core concepts of Java thread pools, walks through the ThreadPoolExecutor class hierarchy and key methods, analyzes thread‑pool states and execution flow, and provides practical guidelines for configuring parameters, avoiding memory leaks, handling task dependencies, and managing exceptions in production systems.

BestPracticesJVMJava
0 likes · 23 min read
Understanding Java ThreadPoolExecutor: Implementation Details and Business Best Practices
dbaplus Community
dbaplus Community
Jun 3, 2024 · Backend Development

Why Your ScheduledExecutorService Stops After an Exception—and How to Fix It

A mis‑handled exception in a ScheduledExecutorService can silently halt the entire scheduled thread pool, causing critical periodic jobs to stop; this article explains the underlying delay‑queue and thread‑pool mechanics, shows reproducible code, and provides practical safeguards to keep scheduled tasks alive.

DelayQueueExceptionHandlingJava
0 likes · 9 min read
Why Your ScheduledExecutorService Stops After an Exception—and How to Fix It
Java Tech Enthusiast
Java Tech Enthusiast
Jun 3, 2024 · Backend Development

Integrating URule Rule Engine into Java Spring Boot Projects

The article explains how to embed the open‑source URule rule engine into a Spring Boot application, covering installation, datasource configuration, library definitions for variables, constants, parameters and actions, creating visual or script rule sets and decision tables, and demonstrates a membership‑upgrade use case.

Backend DevelopmentJavaRule Engine
0 likes · 16 min read
Integrating URule Rule Engine into Java Spring Boot Projects
Architecture Digest
Architecture Digest
Jun 3, 2024 · Backend Development

Spring Statemachine for Order State Management with Persistence, Exception Handling, and AOP Logging

This article explains the fundamentals of finite state machines, introduces Spring Statemachine, demonstrates how to model order lifecycle states, configure persistence with memory and Redis, handle exceptions during state transitions, and use AOP to log transition results, providing complete Java code examples.

AOPBackendJava
0 likes · 23 min read
Spring Statemachine for Order State Management with Persistence, Exception Handling, and AOP Logging
FunTester
FunTester
Jun 3, 2024 · Backend Development

Implementing Unix Domain Socket Communication in Java with junixsocket

This article demonstrates how to use the junixsocket library to add Unix domain socket support to Java applications, providing Maven dependency details, full server and client code examples, and cross‑language testing with a Go server implementation.

BackendIPCJava
0 likes · 6 min read
Implementing Unix Domain Socket Communication in Java with junixsocket
Selected Java Interview Questions
Selected Java Interview Questions
Jun 2, 2024 · Backend Development

Implementing a Data Permission Interceptor with MyBatis‑Plus in Java

This article explains how to create a custom annotation and MyBatis‑Plus interceptor that automatically injects data‑permission WHERE clauses based on the current user's role, covering both a basic implementation and an advanced version with role‑based scope handling, complete with configuration and usage examples.

BackendData PermissionJava
0 likes · 16 min read
Implementing a Data Permission Interceptor with MyBatis‑Plus in Java
Architect's Guide
Architect's Guide
Jun 2, 2024 · Fundamentals

Pitfalls and Best Practices of Arrays.asList and ArrayList.subList in Java

This article explains how Java's Arrays.asList creates a fixed‑size list that throws UnsupportedOperationException on add/remove, and how ArrayList.subList returns a mutable view whose non‑structural changes affect both the original list and the sublist while structural changes can trigger ConcurrentModificationException, providing code examples and practical guidelines.

Arrays.asListCollectionsConcurrentModificationException
0 likes · 9 min read
Pitfalls and Best Practices of Arrays.asList and ArrayList.subList in Java
Open Source Linux
Open Source Linux
Jun 1, 2024 · Fundamentals

Mastering Concurrency and Parallelism in Java: From Basics to Advanced APIs

This article explains the concepts of concurrency, parallelism, and serial execution, describes common multi‑core scheduling algorithms, and demonstrates Java's concurrent programming tools—including Future, Fork/Join, Stream API, and CompletableFuture—through clear code examples and practical guidelines.

CompletableFutureFutureJava
0 likes · 20 min read
Mastering Concurrency and Parallelism in Java: From Basics to Advanced APIs
Architect's Guide
Architect's Guide
Jun 1, 2024 · Backend Development

Implementing API Idempotency with Spring Boot, Redis, and Custom Annotations

This article explains how to achieve reliable API idempotency in Spring Boot applications by using Redis for token storage, defining a custom @AutoIdempotent annotation, implementing token generation and validation services, configuring an interceptor, and providing test cases to demonstrate the workflow.

InterceptorJavaRedis
0 likes · 11 min read
Implementing API Idempotency with Spring Boot, Redis, and Custom Annotations
Selected Java Interview Questions
Selected Java Interview Questions
May 31, 2024 · Backend Development

Flexible Switching Between Spring @Scheduled and XXL‑JOB for Scheduled Tasks

This article explains how to implement a configuration‑driven mechanism that dynamically switches between Spring's native @Scheduled tasks and XXL‑JOB execution, automatically registers jobs, disables Spring's scheduler when needed, and forwards logs to the XXL‑JOB console, providing a complete starter solution for backend developers.

AutoConfigurationBackendJava
0 likes · 25 min read
Flexible Switching Between Spring @Scheduled and XXL‑JOB for Scheduled Tasks
Top Architect
Top Architect
May 31, 2024 · Backend Development

How to Skip Tests When Packaging a Maven Project

This article explains why Maven runs unit tests during the package phase, describes the Maven lifecycle, and provides several practical methods—including command‑line flags, pom.xml configuration, and IDE settings—to skip tests when building a Java project.

CIJavaMaven
0 likes · 9 min read
How to Skip Tests When Packaging a Maven Project
Java High-Performance Architecture
Java High-Performance Architecture
May 31, 2024 · Frontend Development

How to Build a Real‑Time Data Visualization Dashboard with Echarts and Java

This guide walks you through creating a dynamic, real‑time data visualization dashboard—covering design mockups, requirement planning, architecture using Echarts for the front‑end and Java for the back‑end, JSON data handling, deployment without installation, configuration steps, code structure, and source acquisition.

Data VisualizationEChartsJSON
0 likes · 4 min read
How to Build a Real‑Time Data Visualization Dashboard with Echarts and Java
Architect
Architect
May 30, 2024 · Backend Development

Inside Pulsar’s Bookie: A Deep Dive into Storage Architecture and Write/Read Paths

This article dissects Pulsar’s storage layer by examining the Bookie component, detailing its architecture, the sequential write‑ahead log, ledger management, journal handling, caching mechanisms, and the complete read/write call chains with concrete code examples and performance considerations.

JavaLedgerPerformance
0 likes · 33 min read
Inside Pulsar’s Bookie: A Deep Dive into Storage Architecture and Write/Read Paths
Java High-Performance Architecture
Java High-Performance Architecture
May 30, 2024 · Backend Development

How to Build a Clean, Robust Java Controller Layer with Unified Responses and Validation

This article explains how to design an effective Java controller layer by separating concerns, introducing a unified response structure, applying global response wrapping, leveraging Spring's validation mechanisms, and handling custom exceptions to produce concise, maintainable backend code.

Backend DevelopmentControllerJava
0 likes · 18 min read
How to Build a Clean, Robust Java Controller Layer with Unified Responses and Validation
Code Ape Tech Column
Code Ape Tech Column
May 30, 2024 · Backend Development

Dynamic Loading of JAR Files in Spring Boot Applications

This article explains the concepts and step-by-step implementation of dynamically loading JAR packages in Spring Boot applications, covering built‑in classloader usage, creating JARs, and leveraging third‑party libraries to enhance flexibility and extensibility.

BackendClassLoaderDynamic Loading
0 likes · 9 min read
Dynamic Loading of JAR Files in Spring Boot Applications
Top Architect
Top Architect
May 28, 2024 · Backend Development

Implementing Process Pooling in Java with GenericObjectPool

This article explains how Java developers can use thread pools and Apache Commons Pool2's GenericObjectPool to create a reusable process pool, covering the underlying concepts, required interfaces, Maven dependencies, configuration options, and practical code examples to improve performance.

GenericObjectPoolJavaPooling
0 likes · 11 min read
Implementing Process Pooling in Java with GenericObjectPool
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.

Backend DevelopmentJavaZGC
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 PersistenceEhcacheJava
0 likes · 15 min read
Mastering Ehcache: A Deep Dive into Java Local Caching Strategies
Programmer XiaoFu
Programmer XiaoFu
May 28, 2024 · Backend Development

SpringBoot Techniques for API Debounce to Eliminate Duplicate Submissions

The article explains why API debounce is essential, identifies the types of endpoints that need it, and walks through two SpringBoot solutions—Redis‑based shared cache and Redisson distributed lock—complete with custom annotations, key generation, code samples, test results, and practical limitations.

Duplicate SubmissionJavaRedis
0 likes · 14 min read
SpringBoot Techniques for API Debounce to Eliminate Duplicate Submissions
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.

JavaServer-Sent EventsSpring Boot
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.

BackendJavamultitenancy
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 ArchitectureJavaMicroservices
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.

JavaLua scriptingRedis
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.

JVMJavagarbage collection
0 likes · 4 min read
Understanding Garbage Collection in the JVM
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.

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

Backend DevelopmentJavaSpring Boot
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 ClassBackend DevelopmentDesign 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.

JWTJavaSpring
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 IntelligenceJavaMaven
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.

Backend DevelopmentBeanFactoryDependency Injection
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.

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

FastjsonJSON serializationJava
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.

AOPBytecode ManipulationJava
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.

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

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

API GatewayBackendConsul
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.

Backend DevelopmentIDE pluginJava
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.

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

BackendJavaRequestBodyAdvice
0 likes · 21 min read
Design and Implementation of a Spring Boot Starter for Request/Response Encryption and Decryption