Tagged articles
5000 articles
Page 29 of 50
Su San Talks Tech
Su San Talks Tech
Dec 13, 2024 · Backend Development

Avoid the Top 10 Java ThreadPool Pitfalls and Boost Performance

This article explains ten common Java thread‑pool pitfalls—such as using Executors shortcuts, misconfiguring thread counts, ignoring queue choices, and neglecting shutdown or monitoring—and provides concrete code examples and best‑practice solutions to help developers write safer, more efficient concurrent code.

Best PracticesConcurrencyJava
0 likes · 10 min read
Avoid the Top 10 Java ThreadPool Pitfalls and Boost Performance
Top Architect
Top Architect
Dec 12, 2024 · Backend Development

Using Spring Transaction Hooks to Send Kafka Messages After Transaction Commit

This article explains how to leverage Spring's TransactionSynchronizationManager to detect active transactions, register synchronization callbacks, and asynchronously send Kafka messages only after a transaction successfully commits, illustrated with a payment‑system example and complete Java code snippets, while also noting thread‑local considerations and promotional offers.

JavaKafkaSpringBoot
0 likes · 12 min read
Using Spring Transaction Hooks to Send Kafka Messages After Transaction Commit
Java Tech Enthusiast
Java Tech Enthusiast
Dec 12, 2024 · Backend Development

Java CompletableFuture: Asynchronous Programming Guide

Java's CompletableFuture, introduced in Java 8, replaces the blocking Future with a rich, non‑blocking API that supports asynchronous task creation, result retrieval via get/join, chaining callbacks, exception handling, task combination (AND/OR, allOf/anyOf), and recommends custom executors, timeouts, and proper saturation policies.

Best PracticesCompletableFutureConcurrency
0 likes · 16 min read
Java CompletableFuture: Asynchronous Programming Guide
Java Tech Enthusiast
Java Tech Enthusiast
Dec 12, 2024 · Fundamentals

LeetCode 814: Binary Tree Pruning

The article explains LeetCode 814, where a binary tree of 0s and 1s is pruned by recursively removing subtrees lacking a 1, using a post‑order traversal that returns null for nodes with value 0 and no retained children, achieving O(n) time and O(h) space.

C++JavaLeetCode
0 likes · 6 min read
LeetCode 814: Binary Tree Pruning
Deepin Linux
Deepin Linux
Dec 12, 2024 · Backend Development

Understanding Zero‑Copy Architecture: Concepts, Techniques, and Applications

Zero‑copy eliminates CPU‑mediated data copies between user and kernel spaces by using DMA and memory‑mapping, dramatically improving I/O performance, reducing context switches, and enabling high‑throughput applications such as file servers, Kafka brokers, and Java networking frameworks.

DMAI/O optimizationJava
0 likes · 28 min read
Understanding Zero‑Copy Architecture: Concepts, Techniques, and Applications
Architect
Architect
Dec 11, 2024 · Fundamentals

Mastering Code Refactoring: When, Why, and How to Clean Up Your Java Projects

This article explains the concept of refactoring, distinguishes it from performance optimization, outlines the purposes, timing, and challenges of refactoring, and provides concrete techniques, patterns, and IDE tools—complete with code examples—to help developers improve code structure, readability, and maintainability.

Best PracticesIDE toolsJava
0 likes · 30 min read
Mastering Code Refactoring: When, Why, and How to Clean Up Your Java Projects
JD Tech
JD Tech
Dec 11, 2024 · Backend Development

Optimizing SpringBoot Application Startup Speed: Diagnosis and Solutions

This article details how a SpringBoot advertising platform service with startup times of 400‑500 seconds was analyzed and optimized through Actuator monitoring, log inspection, Tomcat TLD scan disabling, asynchronous HBase warm‑up, custom BeanPostProcessors, async JSF consumer initialization, Tomcat version tuning, and hardware upgrades, achieving roughly a 60% reduction in launch time.

AsyncBackendBeanPostProcessor
0 likes · 20 min read
Optimizing SpringBoot Application Startup Speed: Diagnosis and Solutions
System Architect Go
System Architect Go
Dec 11, 2024 · Cloud Native

Kubernetes CPU Configuration and Linux CFS Interaction

This article explains how Kubernetes resource requests and limits map to Linux cgroup settings via the CFS scheduler, illustrates the underlying calculations for cpu.shares and cpu.cfs_quota_us, and discusses the impact on programming languages such as Go and Java within containers.

CFSJavacgroup
0 likes · 5 min read
Kubernetes CPU Configuration and Linux CFS Interaction
Code Ape Tech Column
Code Ape Tech Column
Dec 11, 2024 · Backend Development

Layered Architecture Design for SpringBoot Projects: Nine-Layer Structure and Detailed Implementation

This article explains the concept of layered architecture in Java backend projects, outlines five design dimensions, presents a nine‑layer SpringBoot module structure, and provides concrete code examples for each layer—including util, infrastructure, domain, service, integration, facade, client, controller, and boot—demonstrating how to achieve clean separation of concerns and maintainable code.

BackendDDDJava
0 likes · 18 min read
Layered Architecture Design for SpringBoot Projects: Nine-Layer Structure and Detailed Implementation
Su San Talks Tech
Su San Talks Tech
Dec 11, 2024 · Fundamentals

8 Essential Design Patterns Every Java Developer Should Master

This article introduces eight core design patterns—Singleton, Factory, Strategy, Proxy, Observer, Decorator, Template Method, and Builder—explaining their concepts, providing Java code examples, and showing typical JDK and Spring framework usages to help developers write cleaner, more maintainable code.

BuilderDecoratorDesign Patterns
0 likes · 12 min read
8 Essential Design Patterns Every Java Developer Should Master
Architecture Digest
Architecture Digest
Dec 10, 2024 · Backend Development

Understanding Java Virtual Threads and Their Use in Spring Boot

This article explains Java 21's virtual threads, their lightweight and high‑concurrency advantages, demonstrates basic creation and Spring Boot integration, compares performance against traditional threads, and offers additional Java performance optimization techniques.

ConcurrencyJavaSpring Boot
0 likes · 7 min read
Understanding Java Virtual Threads and Their Use in Spring Boot
Top Architect
Top Architect
Dec 10, 2024 · Backend Development

Replacing Tomcat with Undertow in Spring Boot: Configuration, Features, and Performance Comparison

This article explains how to replace Spring Boot's default embedded Tomcat with the high‑performance Undertow server, provides step‑by‑step Maven dependency changes, outlines Undertow's advantages, and presents benchmark results showing superior throughput and lower memory usage for high‑concurrency applications.

JavaSpringBootTomcat
0 likes · 9 min read
Replacing Tomcat with Undertow in Spring Boot: Configuration, Features, and Performance Comparison
Java Tech Enthusiast
Java Tech Enthusiast
Dec 10, 2024 · Backend Development

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

The article demonstrates how to implement a bounded FIFO export queue in a Spring Boot application, using synchronized wait/notify methods to limit concurrent large‑data exports to ten threads, integrating with an abstract EasyExcel exporter and a controller that spawns export tasks, while noting future enhancements such as persistent storage and Redis‑based queues.

ConcurrencyExport QueueJava
0 likes · 11 min read
Implementing a FIFO Export Queue in Spring Boot for Large Data Exports
IT Services Circle
IT Services Circle
Dec 10, 2024 · Fundamentals

Six Common Mistakes When Using Java BigDecimal and How to Avoid Them

This article explains six typical pitfalls when using Java's BigDecimal for precise calculations—such as initializing with floating‑point literals, neglecting scale in division, misusing equals, confusing scale with precision, ignoring immutability, and performance overhead—and provides clear code‑based solutions to each problem.

ArithmeticBest PracticesBigDecimal
0 likes · 7 min read
Six Common Mistakes When Using Java BigDecimal and How to Avoid Them
dbaplus Community
dbaplus Community
Dec 9, 2024 · Backend Development

Master Java Logging: Framework Choices, Best Practices, and Real-World Tips

This guide explains why System.out.println is unsuitable for production, compares Java logging frameworks such as Log4j2, Logback and SLF4J, shows how to integrate them with code and Lombok, and provides comprehensive best‑practice recommendations on log levels, formatting, volume control, rolling policies, asynchronous logging and log aggregation.

Best PracticesJavalog4j2
0 likes · 18 min read
Master Java Logging: Framework Choices, Best Practices, and Real-World Tips
Architect
Architect
Dec 9, 2024 · Backend Development

Step‑by‑Step Guide: Integrating Flowable BPMN with Spring Boot for Leave Approval Workflow

This article walks through the evolution of Java‑based workflow engines, compares Activiti, Flowable and Camunda, and provides a complete Spring Boot integration tutorial—including Maven setup, BPMN modeling, service task implementation, diagram generation, unit testing and common troubleshooting—using a concrete leave‑request example.

BPMNFlowableJava
0 likes · 22 min read
Step‑by‑Step Guide: Integrating Flowable BPMN with Spring Boot for Leave Approval Workflow
IT Services Circle
IT Services Circle
Dec 9, 2024 · Backend Development

Optimized Snowflake ID Generation with Seata: Solving MyBatis-Plus Duplicate Key Issues

This article analyzes why MyBatis-Plus generates duplicate primary keys in clustered Docker/K8S environments due to worker‑id and datacenter‑id collisions, introduces Seata's improved Snowflake algorithm that decouples from the OS clock, explains its implementation with Java code, and shows how to integrate it as a global ID generator to improve database performance and avoid page splits.

Database PerformanceJavaMyBatis-Plus
0 likes · 18 min read
Optimized Snowflake ID Generation with Seata: Solving MyBatis-Plus Duplicate Key Issues
Selected Java Interview Questions
Selected Java Interview Questions
Dec 9, 2024 · Backend Development

Hot Deployment Techniques for Spring Boot: IDEA Configuration, Spring DevTools, and JRebel

This article explains three hot‑deployment methods for Spring Boot—IDEA's configuration options, the spring‑boot‑devtools library, and the JRebel plugin—detailing how to set them up, their underlying mechanisms, and best‑practice recommendations to avoid costly full restarts during development.

DevToolsHot DeploymentIDEA
0 likes · 4 min read
Hot Deployment Techniques for Spring Boot: IDEA Configuration, Spring DevTools, and JRebel
Architecture Digest
Architecture Digest
Dec 9, 2024 · Fundamentals

Efficient Null Checks in Java Using Utility Classes

This article explains how to efficiently perform null checks in Java by selecting appropriate utility classes such as StringUtils, ObjectUtils, Collections, and CollectionUtils for different data types, and also includes a brief notice about a free programmer book giveaway.

CollectionsJavaObjectUtils
0 likes · 9 min read
Efficient Null Checks in Java Using Utility Classes
macrozheng
macrozheng
Dec 9, 2024 · Backend Development

Mastering the Chain of Responsibility Pattern in Spring Boot: 3 Practical Implementations

This article explains the Chain of Responsibility design pattern, outlines typical use cases, and demonstrates three concrete ways to implement it in Spring Boot with full Java code examples, unit tests, and execution results, helping developers build clean, extensible backend workflows.

Backend DevelopmentChain of ResponsibilityDesign Patterns
0 likes · 11 min read
Mastering the Chain of Responsibility Pattern in Spring Boot: 3 Practical Implementations
macrozheng
macrozheng
Dec 9, 2024 · Backend Development

Why Replacing MyBatis with MyBatis-Plus Can Break Your Java App—and How to Fix It

This article walks through replacing MyBatis with MyBatis-Plus in a Spring Boot project, explains the LocalDateTime conversion error caused by MyBatis 3.5.1 and an outdated MySQL connector, and shows how upgrading the connector resolves the issue while highlighting the risks of component upgrades.

DebuggingJavaMyBatis-Plus
0 likes · 8 min read
Why Replacing MyBatis with MyBatis-Plus Can Break Your Java App—and How to Fix It
Java Tech Enthusiast
Java Tech Enthusiast
Dec 8, 2024 · Backend Development

Performance Comparison of Spring Boot Native Image, JAR, Go, and Rust Deployments

The article benchmarks a Spring Boot 3 service as a GraalVM native image, a traditional JAR, and Go and Rust versions, showing the native binary starts in under a second with ~70 MB memory and 7 k requests/s, the JAR needs seconds and 200 MB, while Go and Rust use 10 MB and 3 MB respectively with throughput, illustrating native images’ fast startup and lower runtime footprint despite longer compilation.

GoJavaRust
0 likes · 9 min read
Performance Comparison of Spring Boot Native Image, JAR, Go, and Rust Deployments
Top Architect
Top Architect
Dec 7, 2024 · Backend Development

Integrating Flowable Workflow Engine with Spring Boot: A Comprehensive Guide

This article provides a detailed tutorial on using Flowable as a BPMN workflow engine within a Spring Boot application, covering the history of workflow engines, core concepts, Maven dependencies, BPMN diagram creation, process deployment, task configuration, service task implementation, and troubleshooting tips.

BPMNFlowableJava
0 likes · 20 min read
Integrating Flowable Workflow Engine with Spring Boot: A Comprehensive Guide
Top Architect
Top Architect
Dec 7, 2024 · Information Security

OAuth 2.0 Overview and Spring Boot Implementation Guide

This article introduces OAuth 2.0 concepts, roles, and grant types, then provides a step‑by‑step Spring Boot implementation for an authorization server and a resource server, including configuration classes, Maven dependencies, test endpoints, and screenshots of the authentication and token‑validation process.

Authorization ServerJavaResource Server
0 likes · 12 min read
OAuth 2.0 Overview and Spring Boot Implementation Guide
Java Tech Enthusiast
Java Tech Enthusiast
Dec 7, 2024 · Interview Experience

Solve LeetCode 739 ‘Daily Temperatures’ Using a Monotonic Stack

This article explains the LeetCode 739 'Daily Temperatures' problem, describing how to compute the next warmer day for each temperature using a monotonic stack, and provides complete implementations in Java, C++, and Python, along with step‑by‑step analysis and example walkthroughs.

C++Daily TemperaturesJava
0 likes · 6 min read
Solve LeetCode 739 ‘Daily Temperatures’ Using a Monotonic Stack
Java Tech Enthusiast
Java Tech Enthusiast
Dec 7, 2024 · Backend Development

Elegant Parameter Validation in Spring Boot with Hibernate Validator

Spring Boot leverages Hibernate Validator to replace repetitive manual checks with declarative annotations on DTO fields, automatically enforcing constraints via @Valid, while a global exception handler formats failures into clear JSON, and advanced features such as validation groups and custom annotations further enhance maintainability and user‑friendly error reporting.

Hibernate ValidatorJavaParameter Validation
0 likes · 9 min read
Elegant Parameter Validation in Spring Boot with Hibernate Validator
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Dec 7, 2024 · Backend Development

Online SQL-to-ER Diagram Tool: Features, Usage, and Implementation Details

This article introduces an online SQL-to-ER diagram tool, explains its advantages, provides step‑by‑step usage instructions, showcases example SQL and Java code for parsing and generating ER diagrams, and discusses the underlying design‑pattern architecture such as Strategy, Factory, Dependency Injection, and Singleton.

Backend DevelopmentDesign PatternsER Diagram
0 likes · 17 min read
Online SQL-to-ER Diagram Tool: Features, Usage, and Implementation Details
21CTO
21CTO
Dec 6, 2024 · Backend Development

What’s New in JDK 24? 24 Features Shaping the Future of Java

JDK 24, slated for a March 2025 release, introduces over twenty‑four enhancements—including a fourth preview of structured concurrency, quantum‑resistant cryptography, and a compact object header—while being a non‑LTS release that builds on the capabilities of JDK 23 and sets the stage for JDK 25.

Backend DevelopmentJDK 24Java
0 likes · 13 min read
What’s New in JDK 24? 24 Features Shaping the Future of Java
ITPUB
ITPUB
Dec 6, 2024 · Backend Development

Why ChatGPT Uses Server-Sent Events (SSE) and How to Implement SSE in Spring Boot

This article explains why ChatGPT adopts Server-Sent Events for streaming responses, compares SSE with WebSocket, outlines SSE's core principles and best‑practice considerations, and provides a complete Spring Boot example—including server‑side Java code and client‑side HTML—to demonstrate real‑time data push.

JavaSSEServer-Sent Events
0 likes · 14 min read
Why ChatGPT Uses Server-Sent Events (SSE) and How to Implement SSE in Spring Boot
Top Architect
Top Architect
Dec 6, 2024 · Backend Development

Java Plugin Architecture: SPI, ServiceLoader, and Spring Boot Integration

This article explains how to implement plugin mechanisms in Java using SPI and ServiceLoader, demonstrates custom configuration approaches, and shows how Spring Boot’s spring.factories can be leveraged for extensible services, providing practical code examples and step‑by‑step guidance for building modular backend applications.

JavaSPISpringBoot
0 likes · 23 min read
Java Plugin Architecture: SPI, ServiceLoader, and Spring Boot Integration
Java Tech Enthusiast
Java Tech Enthusiast
Dec 6, 2024 · Backend Development

Migrating MyBatis to MyBatis-Plus: Debugging LocalDateTime Conversion Issues

When migrating an old Java project from MyBatis 3.5.0 to MyBatis‑Plus 3.1.1, a test failed with “Conversion not supported for type java.time.LocalDateTime” because MyBatis 3.5.1 stopped handling Java 8 time types and the existing mysql‑connector‑java 5.1.26 driver lacked support, which was resolved by upgrading the connector to version 5.1.37 or later, highlighting the need for thorough compatibility testing during framework upgrades.

JavaLocalDateTimeMyBatis
0 likes · 7 min read
Migrating MyBatis to MyBatis-Plus: Debugging LocalDateTime Conversion Issues
Architecture Digest
Architecture Digest
Dec 6, 2024 · Backend Development

EasyExcel Wrapper for Simplified Import and Export in Spring Boot Backend

This article demonstrates how to encapsulate Alibaba's EasyExcel library within a Spring Boot backend, providing step‑by‑step environment setup, entity annotations, service interfaces, implementation details, usage examples, and solutions to common issues such as date conversion and template‑based export limitations.

ExcelImportExportJavaSpringBoot
0 likes · 13 min read
EasyExcel Wrapper for Simplified Import and Export in Spring Boot Backend
Selected Java Interview Questions
Selected Java Interview Questions
Dec 6, 2024 · Backend Development

Design and Implementation of a Lightweight Data Translation Framework for Java Backend Applications

This article introduces a lightweight, extensible Java framework that uses custom annotations to translate relational data, dictionaries, collections, and nested objects, detailing its background, architecture, core annotation design, usage examples, advanced features, Spring Boot integration, ORM support, and provides the open‑source repository link.

BackendData TranslationFramework
0 likes · 17 min read
Design and Implementation of a Lightweight Data Translation Framework for Java Backend Applications
Su San Talks Tech
Su San Talks Tech
Dec 6, 2024 · Fundamentals

6 Common BigDecimal Mistakes in Java and How to Avoid Them

This article explains six typical pitfalls when using Java's BigDecimal—such as initializing with floating‑point literals, ignoring scale in division, misusing equals, misunderstanding scale, overlooking immutability, and performance costs—and provides clear code examples and best‑practice solutions to prevent precision loss and inefficiency.

ArithmeticBigDecimalJava
0 likes · 7 min read
6 Common BigDecimal Mistakes in Java and How to Avoid Them
FunTester
FunTester
Dec 5, 2024 · Backend Development

Understanding Aeron: A High‑Performance Messaging Framework and Its Advantages

Aeron is an open‑source, low‑latency, high‑throughput messaging framework that leverages zero‑copy memory, shared‑memory IPC and UDP transport to deliver microsecond‑level latency for finance, gaming, and distributed systems, offering a simple API and powerful performance features.

AeronDistributed SystemsHigh-Performance Messaging
0 likes · 9 min read
Understanding Aeron: A High‑Performance Messaging Framework and Its Advantages
Lobster Programming
Lobster Programming
Dec 5, 2024 · Fundamentals

How Does Java’s JVM Load Classes and Execute Code? A Deep Dive

This article explains how Java classes are loaded into the JVM, details the class loader’s parent‑delegation mechanism, and walks through the execution flow of a sample program, covering stack frames, heap allocation, dynamic linking, method area, program counter, native method stack, and garbage collection.

Garbage CollectionJVMJava
0 likes · 9 min read
How Does Java’s JVM Load Classes and Execute Code? A Deep Dive
Java Architect Essentials
Java Architect Essentials
Dec 4, 2024 · Backend Development

Spring Boot Project Initialization, Version Management, and Common Scaffold Code Guide

This article walks through initializing a Spring Boot project, handling version compatibility between Spring Cloud, Spring Boot, and Kafka, demonstrates common scaffolding code such as global exception handling, logging, CORS configuration, and recommends useful tools like Maven, embedded Redis, MyBatis‑Plus, and MapStruct for backend development.

Backend DevelopmentJavaKafka
0 likes · 9 min read
Spring Boot Project Initialization, Version Management, and Common Scaffold Code Guide
Top Architect
Top Architect
Dec 4, 2024 · Fundamentals

Comprehensive Guide to IntelliJ IDEA Debugging Features

This article provides a detailed walkthrough of IntelliJ IDEA's debugging capabilities, covering preparation, main interface components, step controls, variable inspection, conditional breakpoints, expression evaluation, frame dropping, force return, multithreaded and stream debugging, as well as remote debugging techniques, supplemented by a Java code example.

DebuggingIDEIntelliJ IDEA
0 likes · 18 min read
Comprehensive Guide to IntelliJ IDEA Debugging Features
FunTester
FunTester
Dec 4, 2024 · Backend Development

Mastering Custom ThreadPoolExecutor: Build Flexible Java Thread Pools

This article explains why the standard Executors factory methods may be insufficient, details each ThreadPoolExecutor constructor parameter, demonstrates how to configure a custom pool for performance testing, and walks through multiple code examples that illustrate thread creation, queue behavior, and rejection policies.

ConcurrencyJavaJava concurrency
0 likes · 14 min read
Mastering Custom ThreadPoolExecutor: Build Flexible Java Thread Pools
Architect
Architect
Dec 3, 2024 · Information Security

How to Secure Third‑Party APIs with AK/SK, Signatures, and Token Strategies

This guide presents a comprehensive design for securing third‑party API calls, covering Access Key/Secret Key generation, permission granularity, timestamp and nonce based replay protection, signature creation and verification, token handling, TLS encryption, rate limiting, logging, and practical Java code examples.

API SecurityAccess KeyJava
0 likes · 28 min read
How to Secure Third‑Party APIs with AK/SK, Signatures, and Token Strategies
Alibaba Cloud Developer
Alibaba Cloud Developer
Dec 3, 2024 · Fundamentals

Unraveling Java’s ClassLoader: From Parent Delegation to Custom Loading

This article explores Java's class loading mechanism in depth, covering when and how classes are loaded, the parent‑delegation model, the internal role of ClassFileParser and InstanceKlass, parallel loading nuances, and practical ways to break or extend the delegation chain with custom class loaders.

CustomClassLoaderInstanceKlassJVM
0 likes · 17 min read
Unraveling Java’s ClassLoader: From Parent Delegation to Custom Loading
Java Tech Enthusiast
Java Tech Enthusiast
Dec 3, 2024 · Backend Development

Spring Boot 3.4 Upgrade Guide: Major Changes and Features

Spring Boot 3.4 adds automatic multi‑client RestClient configuration, Bean‑Validation‑based property checks, default graceful shutdown, ECS/GELF/Logstash structured logging, enhanced observability with application grouping and OTLP tracing, upgraded core and third‑party dependencies, AssertJ‑enabled MockMvc testing, and replaces old management endpoint settings with access‑based properties.

JavaLoggingSpring Boot
0 likes · 6 min read
Spring Boot 3.4 Upgrade Guide: Major Changes and Features
JD Cloud Developers
JD Cloud Developers
Dec 3, 2024 · Backend Development

How to Slash SpringBoot Startup Time by 60%: Proven Optimization Techniques

This article details a comprehensive set of optimizations that reduced a SpringBoot application's startup time from 400‑500 seconds to about 130‑150 seconds, covering Actuator monitoring, Tomcat TLD scan disabling, HBase asynchronous warm‑up, custom BeanPostProcessor timing, JSF consumer proxy refactoring, Tomcat version impacts, and hardware upgrades.

Backend DevelopmentBeanPostProcessorJava
0 likes · 22 min read
How to Slash SpringBoot Startup Time by 60%: Proven Optimization Techniques
JD Tech Talk
JD Tech Talk
Dec 3, 2024 · Backend Development

Optimizing SpringBoot Application Startup Time: Diagnosis, BeanPostProcessor Tweaks, and Asynchronous JSF Consumer Initialization

This article documents the systematic analysis and multi‑step optimization of a SpringBoot application's slow startup, covering profiling with Actuator, Tomcat TLD scan disabling, HBase async warm‑up, custom BeanPostProcessor timing, and asynchronous JSF consumer initialization to cut launch time by over 60 percent.

AsyncBeanPostProcessorJava
0 likes · 21 min read
Optimizing SpringBoot Application Startup Time: Diagnosis, BeanPostProcessor Tweaks, and Asynchronous JSF Consumer Initialization
macrozheng
macrozheng
Dec 3, 2024 · Backend Development

Master Spring Boot 3.4: Key Changes, New Features, and Migration Guide

This comprehensive guide explores Spring Boot 3.4’s performance boosts, enhanced observability, and developer experience improvements, detailing major changes such as RestClient/RestTemplate auto‑configuration, bean validation updates, graceful shutdown, structured logging formats, observability enhancements, dependency upgrades, testing enhancements, and deprecated feature handling, with practical code snippets.

Backend DevelopmentJavaMigration
0 likes · 9 min read
Master Spring Boot 3.4: Key Changes, New Features, and Migration Guide
Java Architect Essentials
Java Architect Essentials
Dec 2, 2024 · Backend Development

Dynamic Loading of JAR Files in Spring Boot Applications

This article provides a comprehensive guide on dynamically loading JAR packages in Spring Boot, covering core concepts, benefits, and step‑by‑step implementations using SpringBootClassLoader and third‑party OSGi libraries, complete with practical code examples.

Backend DevelopmentDynamic JAR LoadingJava
0 likes · 8 min read
Dynamic Loading of JAR Files in Spring Boot Applications
Architect
Architect
Dec 2, 2024 · Backend Development

Mastering Java Agents: Premain vs Attach for Bytecode Manipulation

This article explains how Java agents work, compares premain and attach agents, shows how to implement entry points, use Instrumentation and Javassist to transform bytecode, provides complete code samples, packaging instructions, and demonstrates the runtime output with diagrams.

AttachInstrumentationJava
0 likes · 17 min read
Mastering Java Agents: Premain vs Attach for Bytecode Manipulation
Zhuanzhuan Tech
Zhuanzhuan Tech
Dec 2, 2024 · Fundamentals

Understanding Fair and Unfair Locks in Java's ReentrantLock

This article explains the concepts, creation methods, usage examples, and internal implementation details of fair and unfair locks in Java's ReentrantLock, comparing their performance characteristics and providing guidance on when to choose each type in multithreaded applications.

ConcurrencyFairLockJava
0 likes · 23 min read
Understanding Fair and Unfair Locks in Java's ReentrantLock
Code Ape Tech Column
Code Ape Tech Column
Dec 2, 2024 · Backend Development

Creating an Enterprise‑Grade OSS Object Storage Spring Boot Starter Based on Amazon S3

This article provides a step‑by‑step guide to building a Spring Boot starter that abstracts object storage services (OSS) via the Amazon S3 protocol, covering dependency selection, configuration properties, template interfaces, implementation, auto‑configuration, packaging, and testing for cloud‑native backend applications.

Amazon S3BackendJava
0 likes · 15 min read
Creating an Enterprise‑Grade OSS Object Storage Spring Boot Starter Based on Amazon S3
Architect's Guide
Architect's Guide
Dec 2, 2024 · Backend Development

Implementing QR‑Code Login with WebSocket in Spring Boot

This article explains how to design a QR‑code login flow, create the necessary database table, define the required APIs, and integrate front‑end JavaScript with a Spring Boot back‑end using WebSocket to notify the client of successful authentication.

BackendJavaQR Code Login
0 likes · 13 min read
Implementing QR‑Code Login with WebSocket in Spring Boot
FunTester
FunTester
Dec 2, 2024 · Fundamentals

Mastering Java Thread Pools: Fixed vs. Cached Executors Explained

This article explains Java thread pools, their performance benefits, and how to create and use FixedThreadPool and CachedThreadPool via the Executors utility, providing code examples, execution results, and guidance on selecting the appropriate pool for different concurrency scenarios.

CachedThreadPoolConcurrencyExecutorService
0 likes · 12 min read
Mastering Java Thread Pools: Fixed vs. Cached Executors Explained
Top Architect
Top Architect
Dec 1, 2024 · Backend Development

Diagnosing Slow Asynchronous Log Printing in Java: From Mapping Overhead to Disruptor and JNI Analysis

This article investigates why a large number of quality‑check mappings cause severe latency in a Java service, traces the slowdown to excessive asynchronous log printing, explains the Disruptor‑based async logger internals, evaluates stack‑trace location handling and JNI overhead, and proposes practical configuration and code‑level fixes.

DisruptorJNIJava
0 likes · 20 min read
Diagnosing Slow Asynchronous Log Printing in Java: From Mapping Overhead to Disruptor and JNI Analysis
Java Tech Enthusiast
Java Tech Enthusiast
Dec 1, 2024 · Fundamentals

LeetCode 34: Binary Search Range

LeetCode 34 asks for the first and last indices of a target in a non‑decreasing integer array, returning [-1,-1] when absent, and can be solved in O(log n) time by applying two binary‑search passes—one locating the leftmost occurrence and the other the rightmost—illustrated with Java, C++, and Python implementations.

Binary SearchC++Java
0 likes · 8 min read
LeetCode 34: Binary Search Range
Su San Talks Tech
Su San Talks Tech
Dec 1, 2024 · Backend Development

Master Elegant Parameter Validation in Spring Boot with Hibernate Validator

This article explains why manual if‑statement checks are problematic, introduces Spring Boot's built‑in validation using Hibernate Validator annotations, shows how to handle errors globally, and covers advanced techniques such as group validation and custom constraint annotations for clean, maintainable backend code.

Hibernate ValidatorJavaParameter Validation
0 likes · 12 min read
Master Elegant Parameter Validation in Spring Boot with Hibernate Validator
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Dec 1, 2024 · Backend Development

Optimizing Million-Row Excel Export with EasyExcel: Design, Implementation, and Performance Tuning

This article presents a comprehensive guide to efficiently exporting millions of rows to Excel using EasyExcel, covering performance bottlenecks, resource consumption, asynchronous processing, thread‑pool design, batch querying, streaming writes, and practical code examples to achieve fast, memory‑friendly report generation.

JavaPerformance OptimizationThreadPool
0 likes · 35 min read
Optimizing Million-Row Excel Export with EasyExcel: Design, Implementation, and Performance Tuning
Code Ape Tech Column
Code Ape Tech Column
Nov 30, 2024 · Cloud Native

Implementing Distributed Authentication in Spring Cloud Alibaba Using Custom Annotations

This article demonstrates how to move authentication from the gateway to downstream microservices in a Spring Cloud Alibaba setup by disabling the gateway’s ReactiveAuthorizationManager, defining three custom security annotations, creating an AOP aspect to enforce them, and showing practical usage examples with role‑based access control and Feign calls.

AOPAuthenticationJava
0 likes · 9 min read
Implementing Distributed Authentication in Spring Cloud Alibaba Using Custom Annotations
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 30, 2024 · Backend Development

Understanding Nacos Service Registration and Discovery in Spring Cloud Microservices

This article explains the fundamentals and implementation of a Nacos service registry in a Spring Cloud microservice architecture, covering registration concepts, building a standalone Nacos server, creating provider and consumer services, and deep-diving into the underlying registration code and HTTP interactions.

DiscoveryJavaNacos
0 likes · 15 min read
Understanding Nacos Service Registration and Discovery in Spring Cloud Microservices
Zhuanzhuan Tech
Zhuanzhuan Tech
Nov 29, 2024 · Operations

Why Use Prometheus and How It Guarantees Business System Stability

This article explains the motivations for adopting Prometheus, introduces its core components and metric types, and demonstrates how comprehensive monitoring of business‑critical data, failure events, QPS, latency, and underlying resources can improve system stability and accelerate fault response.

JavaPrometheussystem stability
0 likes · 13 min read
Why Use Prometheus and How It Guarantees Business System Stability
Top Architect
Top Architect
Nov 29, 2024 · Backend Development

Diagnosing High Memory Usage in Spring Boot Applications and Tuning JVM Parameters

This article details a real‑world case where Spring Boot microservices on a 64 GB server consumed excessive memory, explains how to diagnose the issue using jps and jmap, discusses default JVM heap settings, and provides practical recommendations for tuning JVM parameters to prevent similar problems.

BackendDevelopmentJVMJava
0 likes · 8 min read
Diagnosing High Memory Usage in Spring Boot Applications and Tuning JVM Parameters
Selected Java Interview Questions
Selected Java Interview Questions
Nov 29, 2024 · Databases

12 MyBatis‑Plus Optimization Tips for Efficient Database Operations

This article presents twelve practical MyBatis‑Plus optimization techniques—including avoiding isNull checks, specifying select fields, batch operations, using EXISTS, safe ordering, type‑safe Lambda queries, handling nulls, performance tracking, enum mapping, logical deletion, optimistic locking, and increment/decrement methods—to improve code readability, maintainability, and database query performance.

Database OptimizationJavaMyBatisPlus
0 likes · 14 min read
12 MyBatis‑Plus Optimization Tips for Efficient Database Operations
Architecture Digest
Architecture Digest
Nov 29, 2024 · Backend Development

Dynamic Service Provider Switching with Spring Smart DI

This article explains how to implement runtime switching of multiple service providers in a Spring‑based backend by configuring the active implementation in a central store and using the spring‑smart‑di library's AutowiredProxySPI to inject the appropriate bean automatically.

Dynamic ConfigurationJavadependency-injection
0 likes · 7 min read
Dynamic Service Provider Switching with Spring Smart DI
Java Backend Technology
Java Backend Technology
Nov 29, 2024 · Backend Development

Why Does submit() Hide Exceptions in Java Thread Pools? Uncover the Truth

This article explains why tasks submitted with submit() in a Java thread pool silently swallow exceptions, contrasts it with execute(), and presents three practical solutions—including try‑catch, a default UncaughtExceptionHandler, and overriding afterExecute—to reliably capture and handle those errors.

Exception HandlingExecutorServiceJava
0 likes · 14 min read
Why Does submit() Hide Exceptions in Java Thread Pools? Uncover the Truth
JD Retail Technology
JD Retail Technology
Nov 29, 2024 · Fundamentals

Java Code Style Guidelines: Importance, Standards, and Tool Integration

This article explains why Java code style standards are essential for team collaboration, reviews major guidelines such as Google Java Style and Alibaba's p3c, and provides step‑by‑step instructions for configuring IntelliJ IDEA, Checkstyle, and Maven to enforce consistent, readable, and maintainable Java code.

Best PracticesIntelliJ IDEAJava
0 likes · 13 min read
Java Code Style Guidelines: Importance, Standards, and Tool Integration
JD Tech
JD Tech
Nov 28, 2024 · Fundamentals

Comprehensive Guide to Unit Testing Strategies and Tools for Java Projects

This article presents a detailed, step‑by‑step guide on improving unit test coverage in large Java codebases, covering strategies such as mocking, divide‑and‑conquer, tool‑assisted test generation, reflection‑based coverage, Maven configuration, and practical tips for handling static methods, final classes, and test data replay.

JUnitJavaMockito
0 likes · 27 min read
Comprehensive Guide to Unit Testing Strategies and Tools for Java Projects
IT Services Circle
IT Services Circle
Nov 28, 2024 · Backend Development

When to Quit Your Job and What a 2‑Year Java Developer Should Know

The article offers practical advice on deciding whether to resign without a new job, emphasizing health, financial stability, and mindset, and then outlines the essential technical knowledge and interview expectations for Java developers with around two years of experience.

Javacareer advicejob resignation
0 likes · 14 min read
When to Quit Your Job and What a 2‑Year Java Developer Should Know
Top Architect
Top Architect
Nov 28, 2024 · Backend Development

Comprehensive Maven Tutorial: Basic Configuration, Dependency Management, Module Setup, Plugin Usage, and Build Settings

This article provides a thorough step‑by‑step guide to using Maven for Java backend projects, covering repository configuration, basic POM structure, dependency inclusion and exclusion, module management, unified dependency handling, essential plugins such as jar, assembly and shade, and detailed build settings with code examples.

Backend DevelopmentJavaMaven
0 likes · 24 min read
Comprehensive Maven Tutorial: Basic Configuration, Dependency Management, Module Setup, Plugin Usage, and Build Settings
Top Architect
Top Architect
Nov 28, 2024 · Backend Development

A Comprehensive Guide to Java Enums: Basics, Advanced Usage, and Design Patterns

This article explains Java enums introduced in Java 5, shows how to define simple and complex enum types, demonstrates their use in comparisons, switch statements, collections like EnumSet and EnumMap, and illustrates applying enums to design patterns such as Singleton and Strategy, while providing practical code examples and JSON serialization techniques.

CollectionsDesign PatternsEnum
0 likes · 16 min read
A Comprehensive Guide to Java Enums: Basics, Advanced Usage, and Design Patterns
Selected Java Interview Questions
Selected Java Interview Questions
Nov 28, 2024 · Backend Development

Key Considerations and Best Practices for Using Spring Event in Backend Systems

This article explains critical pitfalls and best‑practice guidelines for employing Spring Event in Java backend applications, covering graceful shutdown requirements, event loss during startup, suitable business scenarios, reliability enhancements, retry mechanisms, idempotency, and the relationship between Spring Event and message queues.

BackendEvent-Driven ArchitectureJava
0 likes · 12 min read
Key Considerations and Best Practices for Using Spring Event in Backend Systems
Architecture Digest
Architecture Digest
Nov 28, 2024 · Backend Development

Automatic Insertion of UserId and OrderId into Logs Using Spring AOP and MDC

This article explains how to automatically embed userId and orderId into log statements by defining log placeholders, storing these values in MDC via ThreadLocal, and using a custom @UserLog annotation together with Spring AOP to inject the data before method execution, complete with configuration and test examples.

AOPJavaLogging
0 likes · 8 min read
Automatic Insertion of UserId and OrderId into Logs Using Spring AOP and MDC
Java Architect Essentials
Java Architect Essentials
Nov 28, 2024 · Backend Development

Comprehensive Guide to Maven: Basic Configuration, Dependency Management, Module Management, and Plugin Usage

This article provides a detailed tutorial on Maven, covering its basic configuration, repository setup, dependency management (including scopes, exclusions, and version variables), multi‑module organization, unified dependency management, and common build plugins such as jar, assembly, and shade, with complete code examples and explanations.

JavaMavenbuild tools
0 likes · 22 min read
Comprehensive Guide to Maven: Basic Configuration, Dependency Management, Module Management, and Plugin Usage
Su San Talks Tech
Su San Talks Tech
Nov 28, 2024 · Backend Development

Unified Asynchronous Notification Verification Using Custom Spring MVC Argument Resolvers

The article explains how to encapsulate asynchronous notification signature verification in Spring MVC by creating a custom annotation and argument resolver, discusses why aspects and @RequestBody are unsuitable, and presents an alternative unified notification handling design using a service interface and dynamic implementation loading.

Custom Argument ResolverJavaannotation
0 likes · 9 min read
Unified Asynchronous Notification Verification Using Custom Spring MVC Argument Resolvers
FunTester
FunTester
Nov 28, 2024 · Backend Development

Java Multithreading Implementations

This article explains three common ways to create multithreaded Java programs—extending Thread, implementing Runnable, and using Lambda expressions—providing step‑by‑step instructions, code samples, console output, and a summary of each method’s advantages and appropriate use cases.

JavaLambdaRunnable
0 likes · 6 min read
Java Multithreading Implementations
vivo Internet Technology
vivo Internet Technology
Nov 27, 2024 · Backend Development

Implementation Principles of Distributed Locks with Redis and Zookeeper

Distributed locks synchronize multiple services across nodes, and can be implemented using Redis’s fast, AP‑oriented SET‑NX with automatic TTL renewal or Zookeeper’s CP‑oriented ephemeral sequential nodes, each offering distinct trade‑offs in performance, consistency, and suitability for various workload requirements.

CAP theoremJavaRedis
0 likes · 24 min read
Implementation Principles of Distributed Locks with Redis and Zookeeper
Top Architect
Top Architect
Nov 27, 2024 · Information Security

Understanding RBAC and Implementing Spring Security with JWT in Java

This article explains the concepts and models of Role‑Based Access Control (RBAC), demonstrates how to configure RBAC permissions in Spring Security, and provides step‑by‑step Java code for integrating JWT authentication, password encryption, and custom login filters for secure backend development.

Backend DevelopmentJWTJava
0 likes · 18 min read
Understanding RBAC and Implementing Spring Security with JWT in Java
Selected Java Interview Questions
Selected Java Interview Questions
Nov 27, 2024 · Backend Development

Designing a Flexible Permission Control System with Java Annotations and Spring AOP

This article explains how to build a scalable, maintainable permission control framework in Java by defining custom annotations, designing relational database tables, and using Spring AOP to intercept method calls for organization‑level, personal, limit, and special‑role checks, while providing implementation details and best‑practice recommendations.

AOPBackendJava
0 likes · 21 min read
Designing a Flexible Permission Control System with Java Annotations and Spring AOP
macrozheng
macrozheng
Nov 27, 2024 · Backend Development

How a Tiny HashMap Bug Triggered a Massive Memory Leak in a High‑Traffic Microservice

A senior architect introduced a high‑concurrency monitoring feature that used a ConcurrentHashMap without proper equals/hashCode implementations, leading to duplicate keys, race conditions, and severe memory leaks, which were later resolved by correcting the key class and applying atomic map operations.

ConcurrentHashMapJavaMemoryLeak
0 likes · 8 min read
How a Tiny HashMap Bug Triggered a Massive Memory Leak in a High‑Traffic Microservice
Architect's Tech Stack
Architect's Tech Stack
Nov 27, 2024 · Backend Development

Refactoring Spring Boot Controllers: From Messy Code to Clean, Validated, and Exception‑Handled Design

This article examines common problems in Spring Boot controller implementations—excessive try‑catch blocks, inline validation, and business logic leakage—and demonstrates how to refactor them using @Valid, assertion utilities, and a global exception handler to achieve concise, maintainable backend code.

BackendControllerJava
0 likes · 9 min read
Refactoring Spring Boot Controllers: From Messy Code to Clean, Validated, and Exception‑Handled Design
Top Architecture Tech Stack
Top Architecture Tech Stack
Nov 27, 2024 · Backend Development

Understanding Java ThreadPoolExecutor Rejection Policies and Their Use Cases

Java's ThreadPoolExecutor provides four built‑in RejectedExecutionHandler strategies—AbortPolicy, CallerRunsPolicy, DiscardPolicy, and DiscardOldestPolicy—each suited to different overload scenarios, and this article explains their behavior, trigger conditions, and practical application guidelines for robust backend concurrency management.

ConcurrencyJavaRejectionPolicy
0 likes · 10 min read
Understanding Java ThreadPoolExecutor Rejection Policies and Their Use Cases
JD Retail Technology
JD Retail Technology
Nov 27, 2024 · Backend Development

Optimizing SpringBoot Application Startup Time: Diagnosis and Solutions

This article documents the diagnosis of slow SpringBoot startup in a large‑scale advertising platform and presents a series of optimizations—including actuator monitoring, Tomcat TLD scan disabling, HBase async warm‑up, custom BeanPostProcessor timing, asynchronous JSF consumer refer, Tomcat version tuning, and hardware migration—that together reduce launch time by about 60%.

BackendBeanPostProcessorJava
0 likes · 20 min read
Optimizing SpringBoot Application Startup Time: Diagnosis and Solutions
Java Architect Essentials
Java Architect Essentials
Nov 27, 2024 · Backend Development

New Features of Cool Request Plugin: Trace, MyBatis Tracking, Custom Timing Colors, and Scripting

The article introduces the latest Cool Request IDEA plugin update, detailing its Trace capability for method execution timing, selective MyBatis function monitoring, customizable slow‑method highlighting, and scripting support for headers and JSON parsing, all illustrated with Java code examples.

Cool RequestIDEA PluginJava
0 likes · 5 min read
New Features of Cool Request Plugin: Trace, MyBatis Tracking, Custom Timing Colors, and Scripting