Tagged articles
5000 articles
Page 43 of 50
Java Tech Enthusiast
Java Tech Enthusiast
Mar 3, 2024 · Backend Development

Integrating Apache Tika with Spring Boot for Document Parsing

This guide demonstrates how to add Apache Tika to a Spring Boot project by declaring the tika‑bom, core and parser dependencies, providing a custom tika‑config.xml, creating a @Configuration class that builds a Tika bean, and then injecting the bean to detect, parse, or translate documents.

Apache TikaConfigurationDocument Parsing
0 likes · 5 min read
Integrating Apache Tika with Spring Boot for Document Parsing
macrozheng
macrozheng
Mar 3, 2024 · Backend Development

18 Essential Code Review Rules Every Developer Should Follow

This article presents 18 practical code review guidelines covering comments, logging, naming, parameter validation, exception handling, modularity, concurrency, testing, formatting, compatibility, security, transaction, idempotency, middleware, code smells, and remote calls, offering concrete examples and best‑practice recommendations for Java developers.

Code reviewjavasoftware-engineering
0 likes · 19 min read
18 Essential Code Review Rules Every Developer Should Follow
Su San Talks Tech
Su San Talks Tech
Mar 3, 2024 · Backend Development

Master Efficient Large File Uploads: Instant, Chunked & Resume Techniques in Java

This guide explains how to handle large file uploads in Java by using instant (秒传) upload, chunked (分片) upload, and breakpoint resume techniques, detailing the underlying Redis state tracking, server‑side file writing with RandomAccessFile or MappedByteBuffer, and practical implementation steps for both front‑end and back‑end.

chunked uploadfile uploadjava
0 likes · 15 min read
Master Efficient Large File Uploads: Instant, Chunked & Resume Techniques in Java
Java Architect Essentials
Java Architect Essentials
Mar 3, 2024 · Fundamentals

Most Popular Java Features Added Since Java 8 (Java 8‑20)

This article reviews the most widely adopted Java language enhancements introduced from Java 8 through Java 20, including local‑variable type inference, switch expressions, text blocks, records, pattern‑matching instanceof, sealed classes, and improved NullPointerException messages, providing examples and reference links for each feature.

JDKLanguage Enhancementsjava
0 likes · 6 min read
Most Popular Java Features Added Since Java 8 (Java 8‑20)
Java Tech Enthusiast
Java Tech Enthusiast
Mar 2, 2024 · Backend Development

Dynamic Loading and Unloading of Java Governance Tasks with Custom ClassLoader and XXL‑Job Integration

The article presents a Java Spring solution that uses a custom URLClassLoader to dynamically load, register, and unload governance task JARs as Spring beans and XXL‑Job handlers at runtime, with configuration persistence via YAML or Nacos and Maven Shade packaging for seamless updates without service restarts.

Custom ClassLoaderDynamic LoadingXXL-JOB
0 likes · 21 min read
Dynamic Loading and Unloading of Java Governance Tasks with Custom ClassLoader and XXL‑Job Integration
Java Captain
Java Captain
Mar 1, 2024 · Backend Development

Full-Stack Development with Java, Spring Boot, and Vue: A Comprehensive Guide

This article explores the advantages of combining Java, Spring Boot, and Vue for full‑stack web development, outlining the technology selection, step‑by‑step development workflow, best practices for code quality, testing, debugging, performance optimization, and deployment using containerization.

Full-Stack DevelopmentSpring BootVue
0 likes · 5 min read
Full-Stack Development with Java, Spring Boot, and Vue: A Comprehensive Guide
Java Captain
Java Captain
Mar 1, 2024 · Fundamentals

Getting Started with Java: Fundamentals for Beginners

This article introduces Java’s origins, key characteristics, environment setup, basic syntax, object‑oriented concepts, exception handling, common libraries, and simple practice projects, providing beginners with a comprehensive foundation to start programming in Java.

Exception HandlingIDEOOP
0 likes · 5 min read
Getting Started with Java: Fundamentals for Beginners
Java Captain
Java Captain
Mar 1, 2024 · Backend Development

Using Java Annotations to Solve Concurrency Timing Challenges

The article explains how Java's annotation mechanism, including @ThreadSafe, @NotThreadSafe, @GuardedBy, and @Immutable, can be applied to clarify and manage concurrent behavior, helping developers resolve the timing uncertainties inherent in multithreaded programming.

annotationsconcurrencyjava
0 likes · 5 min read
Using Java Annotations to Solve Concurrency Timing Challenges
JD Tech
JD Tech
Mar 1, 2024 · Fundamentals

Optimizing Marketing System Blacklist Filtering with Bitmaps

This article examines how bitmap data structures and multithreading can dramatically accelerate blacklist filtering in large‑scale marketing systems, reducing processing time from tens of minutes to milliseconds while saving memory and improving overall system performance.

BitmapBlacklistRoaringBitmap
0 likes · 13 min read
Optimizing Marketing System Blacklist Filtering with Bitmaps
Selected Java Interview Questions
Selected Java Interview Questions
Mar 1, 2024 · Backend Development

Integrating Spring Boot with Minio for Direct File Upload Using Presigned Credentials

This article explains how to integrate Spring Boot with Minio to enable direct client‑side file uploads by generating time‑limited presigned credentials on the backend, covering environment setup, Maven dependencies, configuration classes, REST endpoints, response fields, and complete front‑end examples including chunked and resumable uploads.

MinioPresigned URLSpring Boot
0 likes · 17 min read
Integrating Spring Boot with Minio for Direct File Upload Using Presigned Credentials
Java Backend Technology
Java Backend Technology
Mar 1, 2024 · Backend Development

How Graceful Response Simplifies Spring Boot API Development

Graceful Response is a Spring Boot component that provides unified response wrapping, global exception handling, and custom error codes, helping developers reduce boilerplate, improve code readability, and accelerate API development while maintaining consistent error responses.

APIException HandlingResponse wrapper
0 likes · 10 min read
How Graceful Response Simplifies Spring Boot API Development
Architect's Guide
Architect's Guide
Mar 1, 2024 · Backend Development

Ensuring Transaction Consistency in Multi‑threaded Spring Applications Using Programmatic Transactions

The article explains how to execute parallel tasks with CompletableFuture, why @Async cannot guarantee transactional integrity in a multi‑threaded Spring environment, and presents a programmatic transaction approach—including copying transaction resources between threads—to achieve consistent commit or rollback across concurrent operations.

CompletableFutureProgrammaticTransactionjava
0 likes · 19 min read
Ensuring Transaction Consistency in Multi‑threaded Spring Applications Using Programmatic Transactions
Su San Talks Tech
Su San Talks Tech
Mar 1, 2024 · Backend Development

Master JVM Tuning: When, How, and Which Tools to Optimize Java Performance

This article explains why JVM tuning matters, identifies scenarios that require tuning such as performance bottlenecks, memory overflows, and concurrency issues, and then details monitoring and diagnostic tools—including JDK command‑line utilities and third‑party solutions—followed by a comprehensive guide to JVM parameters, garbage‑collector selection, and practical ways to apply these settings in production environments.

JVMdiagnosticsjava
0 likes · 18 min read
Master JVM Tuning: When, How, and Which Tools to Optimize Java Performance
JD Retail Technology
JD Retail Technology
Feb 29, 2024 · Databases

Optimizing Large‑Scale Batch Processing for an Advertising Platform: From Query Tuning to Load‑Balanced Execution

This article presents a real‑world case study of optimizing massive batch‑processing tasks in an ad‑platform by applying query‑level improvements, cursor‑based pagination, shard‑aware batch updates, JVM‑tuned garbage collection, and distributed load‑balancing, ultimately reducing CPU usage from 80% to under 2% and cutting query‑per‑minute volume from millions to a few thousand.

Batch ProcessingDatabase Optimizationcursor pagination
0 likes · 22 min read
Optimizing Large‑Scale Batch Processing for an Advertising Platform: From Query Tuning to Load‑Balanced Execution
MaGe Linux Operations
MaGe Linux Operations
Feb 29, 2024 · Backend Development

Mastering JVM Heap Settings in Docker: Best Parameters Across JDK Versions

This guide explains how JVM determines heap size on physical machines versus containers, compares behavior of different JDK releases, and provides concrete Docker commands and JVM flags—such as -Xms/-Xmx, -XX:+UseCGroupMemoryLimitForHeap, and MaxRAMPercentage—to reliably control memory usage in containerized Java applications.

ContainerizationDockerJVM
0 likes · 11 min read
Mastering JVM Heap Settings in Docker: Best Parameters Across JDK Versions
Architecture Digest
Architecture Digest
Feb 29, 2024 · Backend Development

Comprehensive Guide to Spring MVC, Spring Bean, and Spring Boot Annotations

This article provides a detailed overview of Spring MVC request‑mapping annotations, Spring Bean lifecycle and dependency‑injection annotations, as well as Spring Boot configuration annotations, illustrating each with explanations and code examples to help Java backend developers use these tools effectively.

Spring BootSpring MVCannotations
0 likes · 12 min read
Comprehensive Guide to Spring MVC, Spring Bean, and Spring Boot Annotations
Programmer DD
Programmer DD
Feb 29, 2024 · Backend Development

How to Build Your Own Spring Boot Starter: A Step‑by‑Step Guide

This tutorial walks you through creating a custom Spring Boot Starter, from Maven project setup and dependency configuration to defining auto‑configuration classes, registering them, and writing comprehensive unit tests to verify conditional behavior.

Spring BootStarterauto-configuration
0 likes · 6 min read
How to Build Your Own Spring Boot Starter: A Step‑by‑Step Guide
Code Ape Tech Column
Code Ape Tech Column
Feb 29, 2024 · Backend Development

Introduction to Disruptor: A High‑Performance Java Message Queue with Full Example

This article introduces the open‑source Disruptor library, explains its core concepts such as Ring Buffer, Sequence, Sequencer and Wait Strategy, and provides a step‑by‑step Java demo—including Maven dependency, event model, handlers, configuration, producer, and test code—to show how to build a fast in‑memory message queue.

DisruptorMessage Queuebackend-development
0 likes · 11 min read
Introduction to Disruptor: A High‑Performance Java Message Queue with Full Example
dbaplus Community
dbaplus Community
Feb 28, 2024 · R&D Management

How Sun Microsystems Rose and Fell: Lessons from a Pioneering Tech Giant

The article chronicles Sun Microsystems' birth, its breakthrough with workstations, the development of SPARC CPUs and Solaris OS, the rise to market dominance, and the eventual decline caused by strategic missteps and competition from Linux and Intel, offering insights into technology‑driven business management.

R&D managementSPARCSolaris
0 likes · 12 min read
How Sun Microsystems Rose and Fell: Lessons from a Pioneering Tech Giant
Selected Java Interview Questions
Selected Java Interview Questions
Feb 28, 2024 · Backend Development

Integrating Elasticsearch with Spring Boot for Full-Text Search

This tutorial explains how to integrate Elasticsearch into a Spring Boot application, covering project setup, dependency addition, configuration, entity and repository creation, service and controller implementation, and testing to enable efficient full‑text search for large data sets.

ElasticsearchSpring Bootbackend-development
0 likes · 6 min read
Integrating Elasticsearch with Spring Boot for Full-Text Search
Huolala Tech
Huolala Tech
Feb 28, 2024 · Operations

How Huolala Created an Intelligent Automated Testing System to Raise Coverage & Cut Regression Costs

Facing rapid business expansion, Huolala’s quality assurance team tackled redundant code, high regression costs, and lack of coverage metrics by designing an intelligent automated testing framework that analyzes effective code, provides smart test case recommendations, visualizes progress, and integrates monitoring, resulting in significant coverage improvements and efficiency gains across services.

Automated TestingJaCoCocode coverage
0 likes · 25 min read
How Huolala Created an Intelligent Automated Testing System to Raise Coverage & Cut Regression Costs
Java Tech Enthusiast
Java Tech Enthusiast
Feb 28, 2024 · Backend Development

Understanding Java Processes, Threads, and Thread Creation Techniques

The article clarifies Java processes and threads using a game analogy, then demonstrates three thread‑creation techniques—extending Thread, implementing Runnable, and implementing Callable with FutureTask—while covering run vs start, thread control methods such as sleep, join, and daemon settings.

CallableRunnableThread
0 likes · 9 min read
Understanding Java Processes, Threads, and Thread Creation Techniques
Su San Talks Tech
Su San Talks Tech
Feb 28, 2024 · Backend Development

OpenFeign Deep Dive: Core Architecture and Spring Cloud Integration

This article thoroughly explains OpenFeign’s core architecture, including its dynamic proxy mechanism, seven essential components, the process of building and executing HTTP calls, and how Spring Cloud integrates and configures OpenFeign through annotations, factories, and property settings.

Dynamic ProxyFeign ComponentsMicroservices
0 likes · 22 min read
OpenFeign Deep Dive: Core Architecture and Spring Cloud Integration
IT Services Circle
IT Services Circle
Feb 27, 2024 · Backend Development

Common Causes of 100% CPU Usage in Java Backend Systems and Their Solutions

This article analyzes typical reasons why Java backend services experience sustained 100% CPU usage—such as bulk data retrieval, Kafka auto‑acknowledgement, infinite loops, excessive multithreading, massive file synchronization, deadlocks, inefficient regular expressions, and heavy real‑time calculations—and offers practical mitigation strategies.

CPUKafkadeadlock
0 likes · 9 min read
Common Causes of 100% CPU Usage in Java Backend Systems and Their Solutions
MaGe Linux Operations
MaGe Linux Operations
Feb 27, 2024 · Operations

How to Install and Deploy Apache RocketMQ 5.1.4 on Ubuntu

This guide walks you through setting up the Java environment, downloading Apache RocketMQ 5.1.4, installing its NameServer, Broker, and optional Proxy components on an Ubuntu 20.04 cloud instance, and configuring both local and cluster deployment modes with optional visual dashboard tools.

InstallationMessage QueueRocketMQ
0 likes · 8 min read
How to Install and Deploy Apache RocketMQ 5.1.4 on Ubuntu
Programmer DD
Programmer DD
Feb 27, 2024 · Backend Development

Build Your Own Spring Boot Starter: A Step‑by‑Step Guide

This tutorial explains how to create a custom Spring Boot Starter, covering project setup, Maven dependencies, auto‑configuration class creation, registration via spring.factories, and comprehensive unit testing to ensure correct conditional behavior.

Spring BootStarterauto-configuration
0 likes · 7 min read
Build Your Own Spring Boot Starter: A Step‑by‑Step Guide
Programmer DD
Programmer DD
Feb 27, 2024 · Backend Development

Step-by-Step Guide: Integrate Camunda Workflow Engine with Spring Boot

Learn how to set up Camunda, a flexible Java-based BPMN 2.0 workflow engine, within a Spring Boot application by generating a project, configuring dependencies, defining data models and REST endpoints, designing a simple process diagram, and testing the workflow end‑to‑end.

BPMNCamundaIntegration
0 likes · 9 min read
Step-by-Step Guide: Integrate Camunda Workflow Engine with Spring Boot
macrozheng
macrozheng
Feb 27, 2024 · Backend Development

How to Build a Full‑Stack Admin System with Erupt and Zero Front‑End Code

Discover how the low‑code Java framework Erupt enables rapid creation of full‑stack admin applications without writing front‑end code, by using annotations to generate CRUD pages, integrating with SpringBoot, configuring dependencies, and extending with modules for scheduling, code generation, monitoring, NoSQL, and magic‑API.

CRUDEruptSpringBoot
0 likes · 14 min read
How to Build a Full‑Stack Admin System with Erupt and Zero Front‑End Code
Java Architect Essentials
Java Architect Essentials
Feb 27, 2024 · Backend Development

Implementing a Robust Retry Mechanism in Spring Boot with Spring Retry and Hystrix

This article explains how to integrate Spring Retry into a Spring Boot project to gracefully handle third‑party API failures, covering annotation‑based retries, asynchronous retries, exception filtering, fallback handling, and an optional Hystrix circuit‑breaker extension for comprehensive fault tolerance.

HystrixSpring BootSpring Retry
0 likes · 12 min read
Implementing a Robust Retry Mechanism in Spring Boot with Spring Retry and Hystrix
Java Captain
Java Captain
Feb 26, 2024 · Backend Development

Parameter Validation in Spring Boot: @Valid, @Validated, and Custom Annotations

Spring Boot offers several ways to validate request parameters—including the @Valid and @Validated annotations and custom validation annotations—each with its own strengths, allowing developers to enforce data integrity, improve code quality, and enhance user experience across different scenarios.

@Valid@ValidatedCustom Annotation
0 likes · 11 min read
Parameter Validation in Spring Boot: @Valid, @Validated, and Custom Annotations
Code Ape Tech Column
Code Ape Tech Column
Feb 26, 2024 · Backend Development

Implementing a Two‑Level Cache with Caffeine and Redis in Spring Boot

This article explains how to design and implement a two‑level caching architecture in Spring Boot by combining a local Caffeine cache with a remote Redis cache, covering manual approaches, annotation‑driven management with Spring Cache, and a custom AOP solution to minimize code intrusion.

CacheSpring Bootjava
0 likes · 18 min read
Implementing a Two‑Level Cache with Caffeine and Redis in Spring Boot
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Feb 26, 2024 · Backend Development

Understanding and Configuring Pagination Rationalization with MyBatis PageHelper in SpringBoot

This article explains pagination rationalization in SpringBoot using MyBatis PageHelper, illustrates common unreasonable pagination scenarios, demonstrates a bug caused by page deletion, and shows how a simple two‑line configuration or per‑query setting resolves the issue while detailing the underlying implementation.

BackendMyBatisSpringBoot
0 likes · 8 min read
Understanding and Configuring Pagination Rationalization with MyBatis PageHelper in SpringBoot
Su San Talks Tech
Su San Talks Tech
Feb 26, 2024 · Backend Development

Why Does My Java Service Hit 100% CPU? 8 Real-World Causes and Fixes

This article examines eight common reasons why Java backend services experience 100% CPU usage—such as fetching excessive data, automatic Kafka acknowledgments, infinite loops, multithreaded imports, massive file syncs, deadlocks, inefficient regular expressions, and heavy real‑time calculations—and provides practical mitigation strategies.

CPUKafkajava
0 likes · 9 min read
Why Does My Java Service Hit 100% CPU? 8 Real-World Causes and Fixes
Architect
Architect
Feb 25, 2024 · Backend Development

Unlocking Tomcat: A Deep Dive into Its Architecture and Design Patterns

This article dissects Tomcat’s mature architecture, explaining its macro and micro design, startup flow, connector and container components, lifecycle management, class‑loader hierarchy, hot‑reload mechanism, and how developers can apply the demonstrated patterns such as composite, observer, template method, and strategy in real projects.

Class LoaderDesign PatternsMicroservices
0 likes · 43 min read
Unlocking Tomcat: A Deep Dive into Its Architecture and Design Patterns
Java High-Performance Architecture
Java High-Performance Architecture
Feb 25, 2024 · Backend Development

Mastering Spring’s @ConfigurationProperties and @PropertySources for Clean Config Management

This article explains how Spring's @ConfigurationProperties and @PropertySources annotations work, compares their purposes, and provides step‑by‑step examples for binding external configuration to Java beans and loading multiple property files in a Spring Boot application.

ConfigurationPropertiesPropertySourcesSpring Boot
0 likes · 11 min read
Mastering Spring’s @ConfigurationProperties and @PropertySources for Clean Config Management
Selected Java Interview Questions
Selected Java Interview Questions
Feb 25, 2024 · Information Security

Custom Authorization Annotations in Spring Security: Design, Implementation, and Usage

This article explores how to create and use custom authorization annotations in Spring Security to achieve more flexible, expressive, and maintainable permission checks, covering the basics of Spring Security, advantages of custom annotations, step‑by‑step implementation, and additional use‑case scenarios.

Backend SecurityCustom Annotationjava
0 likes · 9 min read
Custom Authorization Annotations in Spring Security: Design, Implementation, and Usage
Architect's Guide
Architect's Guide
Feb 25, 2024 · Backend Development

Understanding AOP in Spring Boot with Practical Code Examples

This article explains the fundamentals of Aspect‑Oriented Programming (AOP) in Spring, describes its core concepts such as pointcuts, advice, aspects, join points and weaving, and provides multiple Spring Boot examples—including simple @GetMapping logging, custom permission annotations, and the use of various AOP annotations—complete with full source code snippets.

Aspect Oriented ProgrammingSpring Bootannotations
0 likes · 18 min read
Understanding AOP in Spring Boot with Practical Code Examples
Architect
Architect
Feb 24, 2024 · Backend Development

Implementing a Dynamic Thread Pool with Nacos in Spring Cloud

This article demonstrates how to build a dynamically configurable thread pool in a Spring Cloud backend by using Nacos as a configuration center, covering dependency setup, YAML files, Java implementation, controller exposure, testing steps, and practical tips for runtime adjustments.

BackendDynamic ConfigurationNacos
0 likes · 9 min read
Implementing a Dynamic Thread Pool with Nacos in Spring Cloud
Java High-Performance Architecture
Java High-Performance Architecture
Feb 24, 2024 · Backend Development

Unlock MyBatis Performance: Master First‑Level and Second‑Level Caches in SpringBoot

This article explains how MyBatis implements first‑level (session) and second‑level (namespace) caches, details their activation conditions, common pitfalls—especially when integrated with SpringBoot—and provides step‑by‑step configuration, code examples, and best‑practice recommendations to ensure cache effectiveness while avoiding hidden hazards.

CacheMyBatisSpringBoot
0 likes · 11 min read
Unlock MyBatis Performance: Master First‑Level and Second‑Level Caches in SpringBoot
Java Architect Essentials
Java Architect Essentials
Feb 23, 2024 · Backend Development

Optimizing Apache HttpClient for High-Concurrency Scenarios

This article explains how to improve a high‑traffic Java service by reusing a singleton HttpClient, enabling keep‑alive, configuring a pooling connection manager, and adding an idle‑connection monitor, which reduces average request latency from 250 ms to about 80 ms.

BackendConnectionPoolingHttpClient
0 likes · 11 min read
Optimizing Apache HttpClient for High-Concurrency Scenarios
Architect
Architect
Feb 23, 2024 · Backend Development

Mastering Spring Transaction Propagation: When and How Transactions Merge, Suspend, or Nest

This article explains the seven Spring transaction propagation levels, shows how nested @Transactional methods interact under each level, and provides concrete code‑level examples that illustrate when transactions are merged, suspended, started anew, or rolled back, helping developers choose the right strategy for reliable enterprise applications.

Spring Frameworkjavapropagation
0 likes · 14 min read
Mastering Spring Transaction Propagation: When and How Transactions Merge, Suspend, or Nest
Selected Java Interview Questions
Selected Java Interview Questions
Feb 23, 2024 · Backend Development

Designing an Order Number Generation System in Spring Boot

This article presents several approaches for generating unique, scalable order numbers in Spring Boot, including UUIDs, database sequences or auto‑increment IDs, timestamp‑based strings with random components, and distributed Snowflake IDs, each accompanied by Java code examples and discussion of their advantages and drawbacks.

Spring Bootjavaorder ID
0 likes · 10 min read
Designing an Order Number Generation System in Spring Boot
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Feb 23, 2024 · Backend Development

Master Spring Boot 2.7: Bean Lifecycle, DI, AOP, Caching & More

This guide walks through essential Spring Boot 2.7.16 features—including bean lifecycle annotations, dependency injection methods, Java‑based configuration, conditional beans, event listeners, AOP, scheduled tasks, data access with Spring Data JPA, caching, exception handling, security, SpEL, configuration management, performance monitoring, and micro‑service components—providing concise code examples for each.

MicroservicesSpring Bootaop
0 likes · 10 min read
Master Spring Boot 2.7: Bean Lifecycle, DI, AOP, Caching & More
Java Tech Enthusiast
Java Tech Enthusiast
Feb 22, 2024 · Backend Development

Common Pitfalls of Arrays.asList in Java

When converting arrays to lists in Java, Arrays.asList cannot handle primitive arrays (treating them as a single element), returns a fixed‑size view that disallows add or remove operations, and shares its backing array so modifications affect both structures, so developers should use boxed streams or copy into a new ArrayList.

Arrays.asListListStream
0 likes · 4 min read
Common Pitfalls of Arrays.asList in Java
macrozheng
macrozheng
Feb 22, 2024 · Backend Development

How Many Requests Can a Default SpringBoot App Handle? Inside Tomcat & Undertow Thread Pools

This article walks through an interview question about the maximum concurrent requests a default SpringBoot application can process, builds a minimal demo, examines Tomcat and Undertow thread‑pool configurations, and shows how container defaults and parameters like core size, max size, and queue length determine the real limit.

SpringBootThreadPoolTomcat
0 likes · 19 min read
How Many Requests Can a Default SpringBoot App Handle? Inside Tomcat & Undertow Thread Pools
macrozheng
macrozheng
Feb 22, 2024 · Backend Development

Why Using isSuccess Can Break JSON Serialization in Java

This article explains how different Java JSON libraries handle boolean getter naming, shows code examples of serialization results with fastjson, Gson, and Jackson, and recommends using a plain "success" field with an isSuccess() getter to avoid runtime bugs.

GsonJacksonJavaBeans
0 likes · 7 min read
Why Using isSuccess Can Break JSON Serialization in Java
Code Ape Tech Column
Code Ape Tech Column
Feb 22, 2024 · Backend Development

Upgrading a Campus Blog Project to JDK 17 and Spring Boot 3: Process, Pitfalls, and Solutions

This article documents the step‑by‑step migration of a Java campus‑blog project from JDK 8 + Spring Boot 2.6 to JDK 17 and Spring Boot 3.2, explaining why the upgrade is worthwhile, detailing code and configuration changes, and sharing solutions to the numerous compatibility issues encountered.

ElasticsearchSpringBoot3SpringCloud
0 likes · 18 min read
Upgrading a Campus Blog Project to JDK 17 and Spring Boot 3: Process, Pitfalls, and Solutions
Architecture Digest
Architecture Digest
Feb 21, 2024 · Backend Development

Java 8 Stream API Tutorial with PO Example and Common Operations

This article introduces Java 8's Stream API, explains its pipeline concept similar to SQL and Linux pipes, and demonstrates common operations such as filter, map, sorted, forEach, collect, statistics and parallelStream using a UserPo class with complete runnable code examples.

BackendLambdaStream API
0 likes · 9 min read
Java 8 Stream API Tutorial with PO Example and Common Operations
DaTaobao Tech
DaTaobao Tech
Feb 21, 2024 · Artificial Intelligence

An Overview of LangChain: Core Concepts and Practical Implementations

The article introduces LangChain as a framework that unifies LLM providers through model I/O, connects external data via retrievers, composes workflows with chains, maintains context with memory, and enables tool use through agents, and demonstrates Java examples for TongYi embeddings, a ChatGLM‑6B RetrievalQA chain, and discusses agent registration and micro‑service‑based agent factories.

EmbeddingLLMLangChain
0 likes · 9 min read
An Overview of LangChain: Core Concepts and Practical Implementations
转转QA
转转QA
Feb 21, 2024 · Backend Development

Design and Evaluation of a JSON Similarity Algorithm for Reducing Diff Noise in Traffic Replay

This article presents a systematic approach to distinguish effective from ineffective diff failures in traffic replay by designing a JSON similarity model based on value, key, and structural comparisons, implementing the algorithm in Java, and demonstrating its superior accuracy over traditional system diff through extensive experiments.

Backend testingDiff Noise ReductionJSON
0 likes · 19 min read
Design and Evaluation of a JSON Similarity Algorithm for Reducing Diff Noise in Traffic Replay
Architect's Guide
Architect's Guide
Feb 21, 2024 · Backend Development

Design and Implementation of a Java Rule Engine with Short‑Circuit Evaluation

This article explains a real‑world scenario of extending trial‑user eligibility rules, introduces a refactored Java rule‑engine architecture that separates data, abstract rule templates, concrete rule implementations, and a service supporting AND/OR short‑circuit logic, and evaluates its advantages and drawbacks.

Code RefactoringDesign PatternsShort-circuit Evaluation
0 likes · 8 min read
Design and Implementation of a Java Rule Engine with Short‑Circuit Evaluation
Java Architect Essentials
Java Architect Essentials
Feb 20, 2024 · Backend Development

Why Did Our API Hang? Uncovering Redis Connection Pool Blocking in Spring Boot

A week‑long API freeze in a sandbox environment was traced to Redis connection pool misconfiguration, where threads waited indefinitely for a Jedis resource, leading to Tomcat request threads blocking and 500 errors, and the issue was resolved by adjusting pool settings and using proper connection release patterns.

BackendConnection PoolJedis
0 likes · 9 min read
Why Did Our API Hang? Uncovering Redis Connection Pool Blocking in Spring Boot
Architect
Architect
Feb 20, 2024 · Backend Development

Implementing Interface Rate Limiting with Spring Interceptor and Redis in Java

This article demonstrates how to prevent API abuse in a Java Spring application by using a custom HandlerInterceptor combined with Redis to track request counts per IP and URI, covering basic implementation, configuration, custom annotations, reflection for flexible limits, and discusses potential pitfalls and improvements.

InterceptorReflectionannotations
0 likes · 19 min read
Implementing Interface Rate Limiting with Spring Interceptor and Redis in Java
The Dominant Programmer
The Dominant Programmer
Feb 20, 2024 · Backend Development

Integrating XXL‑JOB Distributed Scheduler into SpringBoot with Minimal Intrusion

This guide walks through XXL‑JOB’s core features, shows how to download and set up the admin console, configure a SpringBoot executor, and implement various job types—including simple, sharding, command‑line, HTTP, and lifecycle tasks—complete with code samples and UI screenshots.

Backend IntegrationDistributed SchedulerSpringBoot
0 likes · 17 min read
Integrating XXL‑JOB Distributed Scheduler into SpringBoot with Minimal Intrusion
The Dominant Programmer
The Dominant Programmer
Feb 20, 2024 · Backend Development

Implementing Retry Logic for Third‑Party APIs with Spring Retry in Spring Boot

This guide shows how to add a retry mechanism to Spring Boot applications using Spring Retry, covering dependency setup, enabling @EnableRetry, defining @Retryable with custom back‑off settings, handling failures with @Recover, writing unit tests, and observing behavior with different retry counts and exception filters.

@EnableRetryRetryableSpring Boot
0 likes · 6 min read
Implementing Retry Logic for Third‑Party APIs with Spring Retry in Spring Boot
The Dominant Programmer
The Dominant Programmer
Feb 20, 2024 · Backend Development

How to Manually Switch Multiple Data Sources (MySQL, SQL Server) in Spring Boot with Dynamic‑Datasource

This guide shows how to configure Spring Boot, MyBatis‑Plus and the dynamic‑datasource starter to connect to MySQL, SQL Server and PostgreSQL, add and remove data sources at runtime, verify their availability, and perform manual switching using a utility class and functional interfaces.

HikariCPSpringBootdatasource-switching
0 likes · 14 min read
How to Manually Switch Multiple Data Sources (MySQL, SQL Server) in Spring Boot with Dynamic‑Datasource
The Dominant Programmer
The Dominant Programmer
Feb 20, 2024 · Backend Development

Integrating Elasticsearch with Spring Boot for Full CRUD Operations

This guide walks through integrating Spring Data Elasticsearch into a Spring Boot application, covering entity mapping annotations, repository creation, service layer implementation, and unit tests to perform create, read, update, delete, and fuzzy search operations on Elasticsearch indices.

CRUDElasticsearchSpring Boot
0 likes · 8 min read
Integrating Elasticsearch with Spring Boot for Full CRUD Operations
Top Architect
Top Architect
Feb 20, 2024 · Backend Development

JVM Garbage Collection Tuning Experience: Reducing FullGC Frequency and Solving Memory Leaks

Over a month of systematic JVM tuning, the author reduced FullGC frequency from 40 times per day to once every ten days, halved YoungGC time, identified and fixed a memory leak caused by anonymous inner‑class listeners, and documented the step‑by‑step optimization process with configuration changes and performance results.

Garbage CollectionJVMjava
0 likes · 12 min read
JVM Garbage Collection Tuning Experience: Reducing FullGC Frequency and Solving Memory Leaks
IT Services Circle
IT Services Circle
Feb 20, 2024 · Fundamentals

LeetCode 392: Determine if a String is a Subsequence Using the Two‑Pointer Technique

This article humorously references recent layoff memes before presenting a detailed tutorial on solving LeetCode problem 392—checking whether string s is a subsequence of t—using a two‑pointer algorithm, complete with step‑by‑step explanation, complexity analysis, visual illustrations, and reference implementations in C++, Java, and Python.

C++LeetCodePython
0 likes · 8 min read
LeetCode 392: Determine if a String is a Subsequence Using the Two‑Pointer Technique
Programmer DD
Programmer DD
Feb 20, 2024 · Backend Development

Quick Start: Integrate Camunda Workflow Engine with Spring Boot

Learn how to set up and integrate the Camunda BPMN 2.0 workflow engine into a Spring Boot application, covering project initialization, Maven dependencies, configuration files, creating a simple user task process, and testing the workflow via Camunda’s web interface.

BPMNCamundaSpring Boot
0 likes · 10 min read
Quick Start: Integrate Camunda Workflow Engine with Spring Boot
Programmer DD
Programmer DD
Feb 20, 2024 · Backend Development

How to Throttle Java Virtual Threads with Semaphores for Optimal Throughput

This article explains how to manage the throughput of Java 21 virtual threads by using Executors to create them and applying java.util.concurrent.Semaphore to limit concurrent execution, ensuring efficient and safe concurrency without pooling virtual threads.

Virtual Threadsbackend-developmentconcurrency
0 likes · 4 min read
How to Throttle Java Virtual Threads with Semaphores for Optimal Throughput
Code Ape Tech Column
Code Ape Tech Column
Feb 20, 2024 · Backend Development

Understanding ForkJoinPool: Divide‑and‑Conquer, Task Splitting, and Performance in Java

This article explains the limitations of ThreadPoolExecutor, introduces the Fork/Join model and its divide‑and‑conquer algorithm, demonstrates custom RecursiveTask implementations with full source code, analyzes ForkJoinPool construction, task submission, work‑stealing, monitoring APIs, commonPool pitfalls, and performance evaluation, providing practical guidance for Java developers.

ForkJoinPoolThreadPoolconcurrency
0 likes · 24 min read
Understanding ForkJoinPool: Divide‑and‑Conquer, Task Splitting, and Performance in Java
FunTester
FunTester
Feb 20, 2024 · Backend Development

Deadlock, Livelock, and Thread Starvation in Java Concurrency

This article explains Java concurrency issues such as deadlock, livelock, and thread starvation, demonstrates deadlock examples, discusses prevention techniques like timeouts and lock ordering, and provides an overview of the java.util.concurrent package including executors, locks, semaphores, latches, barriers, and concurrent collections.

Thread Starvationconcurrencydeadlock
0 likes · 33 min read
Deadlock, Livelock, and Thread Starvation in Java Concurrency
Architect
Architect
Feb 19, 2024 · Information Security

Mastering Single Sign-On: From Session Basics to CAS Implementation

This article walks through the fundamentals of HTTP session handling, the challenges of session sharing in clustered environments, and presents a step‑by‑step design of a Single Sign‑On solution using CAS, including concrete code examples, Redis‑based session storage, and a comparison with OAuth2.

AuthenticationCASSSO
0 likes · 17 min read
Mastering Single Sign-On: From Session Basics to CAS Implementation
IT Services Circle
IT Services Circle
Feb 19, 2024 · Backend Development

Common Pitfalls When Converting Arrays to Lists with Arrays.asList in Java

This article explains three common pitfalls of using Java's Arrays.asList—its incompatibility with primitive arrays, the immutability of the returned list, and the shared backing array that causes side‑effects—along with practical solutions such as using wrapper types, Streams, or creating a new ArrayList.

Arrays.asListListPitfalls
0 likes · 5 min read
Common Pitfalls When Converting Arrays to Lists with Arrays.asList in Java
Selected Java Interview Questions
Selected Java Interview Questions
Feb 19, 2024 · Backend Development

Eight Ways to Implement Asynchronous Programming in Java

This article introduces eight common Java asynchronous implementation techniques—including raw threads, thread pools, Future, CompletableFuture, Spring @Async, ApplicationEvent, message queues, ThreadUtil, and Guava ListenableFuture—explains their use cases, advantages, and limitations, and provides concrete code examples for each method.

AsynchronousBackendCompletableFuture
0 likes · 11 min read
Eight Ways to Implement Asynchronous Programming in Java
The Dominant Programmer
The Dominant Programmer
Feb 19, 2024 · Backend Development

How to Use SpringBoot and Modbus4j for Modbus TCP Data Reading

This article walks through setting up a SpringBoot project with the Modbus4j library to communicate with Modbus TCP devices, covering repository configuration, Maven dependencies, utility class implementation, single and batch reads, scheduled tasks, and troubleshooting common function‑code errors.

Industrial IoTModbus TCPModbus4j
0 likes · 11 min read
How to Use SpringBoot and Modbus4j for Modbus TCP Data Reading
Programmer DD
Programmer DD
Feb 19, 2024 · Backend Development

How to Build a Full‑Text Search API with Spring Boot and PostgreSQL

This guide explains how to implement a searchable user‑story interface using PostgreSQL tables with btree and gin indexes, Java record models, Spring Boot data access, and REST controllers to support range and full‑text queries efficiently.

Full‑Text SearchSpring Bootjava
0 likes · 9 min read
How to Build a Full‑Text Search API with Spring Boot and PostgreSQL
Programmer DD
Programmer DD
Feb 19, 2024 · Backend Development

Boost Your Spring Boot Apps with Generative AI Using Spring AI

This tutorial walks you through adding OpenAI's generative capabilities to a Spring Boot application with Spring AI, covering project setup, API key configuration, controller creation, simple and advanced prompt usage, and how to test the resulting AI-powered endpoints.

OpenAISpring Bootbackend-development
0 likes · 5 min read
Boost Your Spring Boot Apps with Generative AI Using Spring AI
Java Backend Technology
Java Backend Technology
Feb 19, 2024 · Backend Development

Mastering Unified API Responses, Exception Handling, and Logging in Spring Boot

This article explains how to design a standardized JSON response format, implement a unified result class and enum, handle global exceptions with @ControllerAdvice, and configure comprehensive Logback logging for Spring Boot applications, providing complete code examples and best‑practice guidelines.

Exception HandlingSpring BootUnified API
0 likes · 16 min read
Mastering Unified API Responses, Exception Handling, and Logging in Spring Boot
High Availability Architecture
High Availability Architecture
Feb 19, 2024 · Backend Development

Understanding Spring Transaction Propagation Mechanisms

This article explains Spring's seven transaction propagation behaviors—REQUIRED, SUPPORTS, MANDATORY, REQUIRES_NEW, NOT_SUPPORTED, NEVER, and NESTED—detailing how nested transactional methods interact, when new transactions are created or suspended, and how exceptions influence commit and rollback across different propagation settings.

javapropagationspring
0 likes · 10 min read
Understanding Spring Transaction Propagation Mechanisms
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Feb 19, 2024 · Backend Development

Understanding the Thread‑Safety Mechanism of MyBatis SqlSessionTemplate in Spring Integration

This article explains why MyBatis' default SqlSession implementation is not thread‑safe, how Spring‑MyBatis integration introduces SqlSessionTemplate and its dynamic proxy, and how transaction‑bound ThreadLocal management ensures safe SqlSession usage across multiple threads.

MyBatisThreadLocalTransactionManagement
0 likes · 11 min read
Understanding the Thread‑Safety Mechanism of MyBatis SqlSessionTemplate in Spring Integration
Architect
Architect
Feb 18, 2024 · Backend Development

How Redisson Implements Distributed Locks: Deep Dive into Mechanisms and Pitfalls

This article explains why distributed locks are needed, outlines Redisson's lock properties, walks through its Lua‑based acquisition, renewal, and release processes, examines master‑slave pitfalls, compares RedLock with Zookeeper, and provides practical code examples for Java developers.

Lock MechanismRedlockconcurrency
0 likes · 14 min read
How Redisson Implements Distributed Locks: Deep Dive into Mechanisms and Pitfalls
Python Programming Learning Circle
Python Programming Learning Circle
Feb 18, 2024 · Fundamentals

Hello World Examples in 12 Popular Programming Languages

This article showcases the correct "Hello World" syntax for twelve widely used programming languages, providing clear code snippets and brief explanations to help beginners understand the fundamental first program across Java, C, Python, C++, C#, Visual Basic .NET, JavaScript, PHP, Objective‑C, SQL, Ruby, and MATLAB.

Hello WorldPythonc++
0 likes · 4 min read
Hello World Examples in 12 Popular Programming Languages
Programmer DD
Programmer DD
Feb 18, 2024 · Backend Development

How SpringBoot Enables a Dynamic Backend Implementation – A Patent Insight

Industrial and Commercial Bank of China received patent CN112905176B for a SpringBoot‑based web system backend method that extracts operation data, maps business IDs to configuration, builds conditional expressions, and processes data, thereby reducing development changes, cutting costs, and enhancing system stability.

SpringBootbusiness logicjava
0 likes · 3 min read
How SpringBoot Enables a Dynamic Backend Implementation – A Patent Insight