Tagged articles
5000 articles
Page 31 of 50
Java Architect Essentials
Java Architect Essentials
Oct 28, 2024 · Information Security

Protecting Spring Boot Applications with Classfinal Maven Plugin: Code Encryption and Machine‑Bound Execution

This article explains how to secure Spring Boot deployment packages by using Maven plugins for code obfuscation and encryption, configuring classfinal‑maven‑plugin to encrypt class files, configuration files, and libraries, and demonstrates password‑less and password‑protected startup as well as machine‑bound execution to prevent reverse engineering.

ClassFinalCode Encryptionjava
0 likes · 6 min read
Protecting Spring Boot Applications with Classfinal Maven Plugin: Code Encryption and Machine‑Bound Execution
DeWu Technology
DeWu Technology
Oct 28, 2024 · Backend Development

Design and Evolution of an E-commerce Batch Processing System

The article traces the evolution of an e‑commerce batch‑processing system—from an initial centralized workflow with reusable components, through a platform‑driven configuration and SPI registration, to a localized, asynchronous task‑reporting architecture employing priority queues and isolated thread pools—to balance flexibility, scalability, and operational risk.

ScalabilitySystem Designconfiguration
0 likes · 18 min read
Design and Evolution of an E-commerce Batch Processing System
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 28, 2024 · Backend Development

Resolving Missing Request Headers in Spring MVC Multithreaded Environments

This article analyzes why Spring MVC fails to retrieve request header fields in multithreaded scenarios, explains the underlying ThreadLocal storage mechanism, critiques a common but flawed solution, and presents reliable approaches using CountDownLatch, manual RequestContextHolder propagation, and request caching to ensure header availability across threads.

BackendRequestContextHolderSpring MVC
0 likes · 10 min read
Resolving Missing Request Headers in Spring MVC Multithreaded Environments
Top Architect
Top Architect
Oct 27, 2024 · Backend Development

Building a Netty + WebSocket Message Push Server in Java

This article demonstrates how to build a Netty‑based WebSocket server for message pushing in Java, provides complete source code for the server, configuration, pipeline, custom handler, and push service, and also contains promotional material for AI services and a community group.

MessagePushjavawebsocket
0 likes · 10 min read
Building a Netty + WebSocket Message Push Server in Java
Cognitive Technology Team
Cognitive Technology Team
Oct 26, 2024 · Fundamentals

Understanding G1 Garbage Collector: Concepts, Heap Regions, Pause Prediction, Object Header, and Allocation Strategies

This article explains the core concepts of the G1 garbage collector, including its memory management duties, heap region types and sizing, pause‑time prediction model, card table and bitmap usage, object header structure, and both fast and slow object allocation strategies.

Garbage CollectionHeap RegionsObject Allocation
0 likes · 9 min read
Understanding G1 Garbage Collector: Concepts, Heap Regions, Pause Prediction, Object Header, and Allocation Strategies
Top Architect
Top Architect
Oct 25, 2024 · Backend Development

Maven Basics: Configuration, Dependency Management, Modules, Plugins, and Build Settings

This article provides a comprehensive guide to Maven, covering repository configuration, basic project setup, dependency declaration and management, module organization, unified version control, essential plugins such as jar, assembly, and shade, as well as build settings like compiler version, resource exclusion, and main class definition.

ModulesPluginsbuild tools
0 likes · 17 min read
Maven Basics: Configuration, Dependency Management, Modules, Plugins, and Build Settings
Architecture Digest
Architecture Digest
Oct 25, 2024 · Backend Development

Spring Boot Project Initialization, Version Management, and Common Development Tools Guide

This article walks through the challenges of setting up a Java development environment, demonstrates how to create a Spring Boot project, explains version compatibility between Spring Cloud, Spring Boot, and Kafka, showcases essential Maven configurations and code snippets for global exception handling, logging, CORS, Swagger, and recommends useful in‑memory tools such as embedded Redis, DB, Kafka, Hutool, MyBatis‑Plus, MapStruct, and Redisson.

backend-developmentconfigurationjava
0 likes · 11 min read
Spring Boot Project Initialization, Version Management, and Common Development Tools Guide
macrozheng
macrozheng
Oct 25, 2024 · Fundamentals

Why and How Java Breaks the Parent Delegation Model: Real-World Scenarios

This article explains the purpose of Java's parent‑delegation class‑loading mechanism, describes its three built‑in loaders, shows how custom loaders can override it, and explores common situations—such as JNDI, JDBC, Tomcat, and OSGi—where developers intentionally break the delegation for flexibility and modularity.

Custom ClassLoaderJDBCJNDI
0 likes · 11 min read
Why and How Java Breaks the Parent Delegation Model: Real-World Scenarios
Code Ape Tech Column
Code Ape Tech Column
Oct 25, 2024 · Fundamentals

Understanding Why BigDecimal Preserves Precision in Java

This article explains how Java's BigDecimal class maintains exact decimal precision by scaling numbers to long integers, detailing its internal fields, demonstrating addition with sample code, and analyzing the underlying add method logic to show why no precision is lost.

ArithmeticBackendBigDecimal
0 likes · 6 min read
Understanding Why BigDecimal Preserves Precision in Java
Java Architect Essentials
Java Architect Essentials
Oct 25, 2024 · Backend Development

Using Lombok Annotations @RequiredArgsConstructor, @Delegate, @Cleanup, @Singular and @Builder in Spring Applications

This article demonstrates how Lombok annotations such as @RequiredArgsConstructor, @Delegate, @Cleanup, @Singular, and @Builder can be combined with Spring components to reduce boilerplate, automatically inject dependencies, manage resources, and build immutable objects, providing practical code examples and usage guidelines.

Lombokannotationscode-generation
0 likes · 7 min read
Using Lombok Annotations @RequiredArgsConstructor, @Delegate, @Cleanup, @Singular and @Builder in Spring Applications
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Oct 25, 2024 · Backend Development

Mastering Spring Boot 3 Validation: From Annotations to Global Error Handling

This article provides a comprehensive guide to data validation in Spring Boot 3, covering Bean Validation annotations, controller and service‑layer checks, JPA entity validation, custom constraints, validation groups, programmatic validation, and internationalized error messages with practical code examples and tests.

Bean Validationinternationalizationjava
0 likes · 16 min read
Mastering Spring Boot 3 Validation: From Annotations to Global Error Handling
Senior Tony
Senior Tony
Oct 24, 2024 · Backend Development

Why Java Still Needs Lock: Beyond synchronized with Non‑Blocking, Fair, and Read‑Write Features

This article explains why Java’s Lock interface is still needed despite synchronized, covering non‑blocking tryLock, timed lock acquisition, interruptible locking, fair versus non‑fair locks, read‑write locks, and Condition objects, with code samples and execution logs illustrating each feature.

LockSynchronizationbackend-development
0 likes · 14 min read
Why Java Still Needs Lock: Beyond synchronized with Non‑Blocking, Fair, and Read‑Write Features
Architecture Digest
Architecture Digest
Oct 24, 2024 · Backend Development

Oracle Java Migration Trends: Cost, Licensing, and OpenJDK Adoption

A recent Azul Systems survey reveals that over 80% of Oracle Java users are migrating to OpenJDK or commercially‑supported OpenJDK distributions to reduce costs, avoid licensing uncertainties, and gain more flexible, open‑source Java solutions, with most migrations completing within a year.

Cost reductionEnterprise SupportLicensing
0 likes · 5 min read
Oracle Java Migration Trends: Cost, Licensing, and OpenJDK Adoption
Top Architect
Top Architect
Oct 24, 2024 · Backend Development

tldb Distributed Lock: Usage Guide for Go and Java

This article introduces tldb's distributed lock mechanism, explains lock, trylock, and unlock methods, and provides step‑by‑step Go and Java client examples—including code snippets—for acquiring and releasing locks in a multi‑language environment.

GoMessage Queuejava
0 likes · 10 min read
tldb Distributed Lock: Usage Guide for Go and Java
Selected Java Interview Questions
Selected Java Interview Questions
Oct 24, 2024 · Information Security

Guide to Using the Sensitive‑Word Java Library for Sensitive Word Detection and Replacement

This article provides a step‑by‑step tutorial on integrating the Sensitive‑Word Java library via Maven, demonstrates core find/replace APIs, showcases advanced detection features such as email, URL, IPv4 and custom replacement strategies, and includes complete code examples and output results.

BackendSensitive WordText Filtering
0 likes · 12 min read
Guide to Using the Sensitive‑Word Java Library for Sensitive Word Detection and Replacement
macrozheng
macrozheng
Oct 24, 2024 · Backend Development

Master Java Thread Pools: Boost Performance and Avoid Resource Pitfalls

This article explains why creating a thread for each task is inefficient, introduces thread pools as a solution, compares execution times with code examples, details ThreadPoolExecutor's core interfaces, constructors, execution flow, rejection policies, state transitions, and provides practical usage patterns and best‑practice recommendations for Java backend development.

ExecutorServiceThreadPoolExecutorbackend-development
0 likes · 28 min read
Master Java Thread Pools: Boost Performance and Avoid Resource Pitfalls
Mingyi World Elasticsearch
Mingyi World Elasticsearch
Oct 24, 2024 · Backend Development

Full Elasticsearch 8.x Java API Client Code Ready for Immediate Project Use

This article walks through the new features of the Elasticsearch 8.x Java API client, shows how to set up the development environment, initialize the client with HTTPS or API‑key authentication, and provides complete, ready‑to‑run code examples for index creation, document indexing, searching, aggregations, and scripted sorting.

BackendElasticsearchElasticsearch 8.x
0 likes · 15 min read
Full Elasticsearch 8.x Java API Client Code Ready for Immediate Project Use
Su San Talks Tech
Su San Talks Tech
Oct 24, 2024 · Backend Development

Mastering Java Exception Handling: 13 Best Practices for Cleaner Code

This guide walks through common pitfalls and 13 practical best‑practice techniques for handling exceptions in Java, covering everything from avoiding ignored errors and using global handlers to proper logging, try‑with‑resources, custom exceptions, and avoiding exception‑driven control flow.

Exception HandlingSpringBootbest practices
0 likes · 13 min read
Mastering Java Exception Handling: 13 Best Practices for Cleaner Code
Baidu Geek Talk
Baidu Geek Talk
Oct 23, 2024 · Artificial Intelligence

Integrating Yuan 2.0 Large Model with PaddleNLP: Overview, Usage Steps, and Interaction Examples

The open‑source Yuan 2.0 large model is fully integrated into Baidu’s PaddleNLP, offering quick inference for tasks like code generation, translation, and reasoning, along with efficient distributed training and fine‑tuning features such as Zero Padding optimization, enabling developers to easily deploy and customize the model via simple setup steps and example interactions.

AILLMPaddleNLP
0 likes · 10 min read
Integrating Yuan 2.0 Large Model with PaddleNLP: Overview, Usage Steps, and Interaction Examples
Architecture Digest
Architecture Digest
Oct 23, 2024 · Backend Development

Generating Dynamic PDF Invoices with iTextPdf in Java

This article explains how to use the iTextPdf library in a Java SpringBoot project to create, fill, and merge PDF invoice templates—covering dependency setup, template design, dynamic table generation, and final PDF concatenation for both fixed and variable invoice data.

BackendDynamic PDFSpringBoot
0 likes · 11 min read
Generating Dynamic PDF Invoices with iTextPdf in Java
Programmer DD
Programmer DD
Oct 23, 2024 · Artificial Intelligence

How to Build a Generative AI App with Ollama and Spring Boot

This guide walks you through setting up Ollama for local large‑model serving, creating a Spring Boot project with Spring AI support, writing a unit test to query the model, and explains how to add the necessary dependencies for AI integration in existing Java applications.

AI integrationOllamagenerative AI
0 likes · 7 min read
How to Build a Generative AI App with Ollama and Spring Boot
Su San Talks Tech
Su San Talks Tech
Oct 23, 2024 · Backend Development

Unlocking Java’s AQS: A Deep Dive into AbstractQueuedSynchronizer and Concurrency Primitives

This article explores the origins of Java's JUC package, explains the core concepts of AbstractQueuedSynchronizer—including template methods, exclusive and shared acquisition, CLH queues, CAS, and LockSupport—and demonstrates how locks, conditions, and synchronization mechanisms are implemented and used in real-world Java concurrency.

AQSConditionLock
0 likes · 30 min read
Unlocking Java’s AQS: A Deep Dive into AbstractQueuedSynchronizer and Concurrency Primitives
JavaEdge
JavaEdge
Oct 22, 2024 · Backend Development

Redis Quicklist vs Listpack: Memory‑Performance Secrets Every Java Engineer Should Know

Redis’s evolution from linked lists to ziplist, quicklist, and the newer listpack is examined in depth, highlighting their structures, memory‑performance trade‑offs, operational details, and practical guidance for Java developers on choosing the right data structure for different workloads.

Data StructuresListpackMemory Optimization
0 likes · 11 min read
Redis Quicklist vs Listpack: Memory‑Performance Secrets Every Java Engineer Should Know
Architect
Architect
Oct 22, 2024 · Backend Development

Simplify Third‑Party HTTP Calls with UniHttp: A Declarative Java Client

This article explains why traditional programmatic HTTP clients cause duplicated, hard‑to‑maintain code in enterprise projects, introduces the UniHttp declarative framework with its annotations, shows a quick‑start guide, details lifecycle hooks for custom processing, and demonstrates an enterprise‑level weather‑service integration example.

Declarative APIHTTP clientUniHttp
0 likes · 20 min read
Simplify Third‑Party HTTP Calls with UniHttp: A Declarative Java Client
Architecture Digest
Architecture Digest
Oct 22, 2024 · Backend Development

Comprehensive Guide to Using Ctrip’s Apollo Distributed Configuration Center with Spring Boot

This article provides a step‑by‑step tutorial on Apollo, Ctrip’s open‑source distributed configuration center, covering its core concepts, features, architecture, four‑dimensional model, project creation, Maven dependencies, Spring Boot configuration, test controllers, various runtime scenarios, cluster and namespace usage, and deployment on Kubernetes with Docker.

ApolloConfiguration ManagementKubernetes
0 likes · 23 min read
Comprehensive Guide to Using Ctrip’s Apollo Distributed Configuration Center with Spring Boot
Top Architect
Top Architect
Oct 22, 2024 · Databases

EasyQuery – A High‑Performance Java ORM with Strongly Typed Query API

The article presents EasyQuery, a high‑performance, type‑safe Java ORM inspired by .NET solutions, demonstrating its query capabilities—including single‑record retrieval, pagination, joins, subqueries, streaming results, custom VO mapping, dynamic conditions, and native SQL fragments—while highlighting its advantages over MyBatis‑Plus.

ORMdatabaseeasyquery
0 likes · 15 min read
EasyQuery – A High‑Performance Java ORM with Strongly Typed Query API
Selected Java Interview Questions
Selected Java Interview Questions
Oct 22, 2024 · Backend Development

Common Java Stream API Programming and Operations

This article introduces Java 8's Stream API, explains how to create streams from collections and arrays, and demonstrates a wide range of intermediate and terminal operations with clear code examples to help developers write concise, efficient, and readable Java code.

CollectionsJava 8Stream API
0 likes · 9 min read
Common Java Stream API Programming and Operations
macrozheng
macrozheng
Oct 22, 2024 · Backend Development

Can @Service Replace @Controller in Spring Boot? A Deep Dive

This article explores whether the @Service annotation can replace @Controller in Spring Boot, demonstrates a working example, explains the underlying bean registration process, and clarifies how Spring’s component scanning and request mapping enable such unconventional usage.

BackendControllerService
0 likes · 8 min read
Can @Service Replace @Controller in Spring Boot? A Deep Dive
Java Architecture Stack
Java Architecture Stack
Oct 22, 2024 · Backend Development

How to Prevent Browser Caching of JavaScript in Java Backend Apps

This article explains why stale JavaScript can break functionality, outlines the risks of caching such as outdated bugs, security flaws, and debugging difficulties, and provides practical Java‑side solutions—including versioned URLs, cache‑control headers, static‑resource policies, and ETag/Last‑Modified handling—to ensure browsers always load the latest scripts.

BackendJavaScriptcaching
0 likes · 7 min read
How to Prevent Browser Caching of JavaScript in Java Backend Apps
Architect
Architect
Oct 21, 2024 · Backend Development

Choosing the Right Local Cache in Java: From ConcurrentHashMap to Caffeine

This article examines why and how to use local in‑process caches in Java, compares four implementations—ConcurrentHashMap, Guava Cache, Caffeine, and Ehcache—covers essential cache features, consistency challenges, hit‑rate optimization, and recommends Caffeine as the most performant choice for a two‑level caching architecture.

Cache ConsistencyCaffeineConcurrentHashMap
0 likes · 11 min read
Choosing the Right Local Cache in Java: From ConcurrentHashMap to Caffeine
Lobster Programming
Lobster Programming
Oct 21, 2024 · Backend Development

Mastering Order State Management with Spring State Machine

This guide demonstrates how to use Spring State Machine to elegantly manage order status changes by defining states, events, configuring transitions, and implementing listeners, providing Maven dependencies and Java code examples for building extensible, event‑driven workflows in backend applications.

Spring State Machinebackend-developmentjava
0 likes · 7 min read
Mastering Order State Management with Spring State Machine
IT Services Circle
IT Services Circle
Oct 20, 2024 · Backend Development

Huawei Campus Interview Experience and Technical Q&A: Java, MySQL, Redis, Design Patterns, and Networking Fundamentals

This article combines a Huawei campus recruitment overview—including interview timeline, salary grades, and interview process—with extensive technical Q&A covering Java vs C differences, Java features, OOP concepts, common design patterns, Redis and MySQL comparisons, MySQL transaction properties, B‑Tree indexes, list deduplication, stack implementations, and the low‑level workings of the ping command.

Data StructuresDesign PatternsMySQL
0 likes · 23 min read
Huawei Campus Interview Experience and Technical Q&A: Java, MySQL, Redis, Design Patterns, and Networking Fundamentals
Top Architect
Top Architect
Oct 20, 2024 · Backend Development

Comprehensive Maven Guide: Configuration, Dependency Management, Modules, Plugins, and Build Settings

This article provides a detailed tutorial on Maven, covering basic project configuration, repository setup, POM structure, dependency declaration and scopes, indirect dependencies, exclusions, variable properties, multi‑module management, unified dependency management, essential plugins such as jar, assembly and shade, as well as build settings like compiler version, resource exclusion, and main‑class definition.

Pluginsbackend-developmentbuild tools
0 likes · 22 min read
Comprehensive Maven Guide: Configuration, Dependency Management, Modules, Plugins, and Build Settings
Java Tech Enthusiast
Java Tech Enthusiast
Oct 20, 2024 · Backend Development

Why C++ Candidates Struggle in Backend Development Jobs and How to Improve

C++ graduates often fail backend interviews at major internet firms because those companies favor Java or Go and expect experience with databases, caches, and message queues, so candidates should either acquire those backend skills, switch to the dominant languages, or target C++‑friendly domains such as embedded, AV, gaming, or client‑side networking.

C++Gobackend-development
0 likes · 8 min read
Why C++ Candidates Struggle in Backend Development Jobs and How to Improve
Selected Java Interview Questions
Selected Java Interview Questions
Oct 20, 2024 · Backend Development

Optimizing XML‑to‑MySQL Bulk Import: Reducing Execution Time from 300 s to 4 s with JDBC Batch and Disruptor

This article details how a Java‑based XML‑to‑MySQL import of over 60,000 records was accelerated from 300 seconds to just 4 seconds by enabling JDBC batch processing, configuring rewriteBatchedStatements, and employing a multithreaded Disruptor pipeline for asynchronous writes, while also discussing further tuning options.

DisruptorJDBC BatchMySQL
0 likes · 11 min read
Optimizing XML‑to‑MySQL Bulk Import: Reducing Execution Time from 300 s to 4 s with JDBC Batch and Disruptor
Architect
Architect
Oct 19, 2024 · Operations

Why Does Your Java Application Crash? Decoding JVM Crash Logs and Core Dumps

This article walks through the anatomy of a Java Virtual Machine crash, explains how to read the generated hs_err_pid log and core dump, and provides practical debugging steps—including code examples, signal analysis, register context, and GDB commands—to pinpoint and resolve the root cause.

JVMLinuxcore dump
0 likes · 37 min read
Why Does Your Java Application Crash? Decoding JVM Crash Logs and Core Dumps
JavaEdge
JavaEdge
Oct 19, 2024 · Backend Development

Why Java 21 Virtual Threads Can Stall Tomcat: A Deep Dive into CloseWait Sockets and Lock Contention

This article investigates a production issue on Java 21 where virtual threads cause Tomcat to stop processing requests, closeWait sockets to accumulate, and locks to deadlock, detailing the diagnostics, thread‑dump analysis, lock inspection, and the eventual conclusions about virtual‑thread behavior.

PerformanceTomcatVirtual Threads
0 likes · 19 min read
Why Java 21 Virtual Threads Can Stall Tomcat: A Deep Dive into CloseWait Sockets and Lock Contention
Architect's Guide
Architect's Guide
Oct 19, 2024 · Backend Development

Java Spring Development Best Practices: 14 Tips for Clean and Efficient Code

This article presents fourteen practical Java Spring development best‑practice tips—including using @ConfigurationProperties, Lombok's @RequiredArgsConstructor, modularizing code, throwing exceptions instead of returning error codes, minimizing unnecessary database calls, avoiding null returns, reducing if‑else chains, and leveraging IDE features—to help developers write cleaner, more maintainable backend code.

BackendLombokbest practices
0 likes · 7 min read
Java Spring Development Best Practices: 14 Tips for Clean and Efficient Code
Alibaba Cloud Native
Alibaba Cloud Native
Oct 18, 2024 · Artificial Intelligence

How Spring AI Alibaba Simplifies Java AI Application Development

This article introduces the open‑source Spring AI Alibaba framework, explains its background, core features such as chat model abstraction, prompt templates, structured output, function calling, RAG and chat memory, and walks through a complete smart‑ticket‑assistant example with code snippets and deployment guidance.

AI FrameworkChat MemoryFunction Calling
0 likes · 17 min read
How Spring AI Alibaba Simplifies Java AI Application Development
Sohu Tech Products
Sohu Tech Products
Oct 18, 2024 · Backend Development

Design and Refactoring of a Java SDK with Proxy Optimization and Integration Test Enhancements

The article details how a Java SDK for a CIM instant‑messaging system was redesigned using Java 8+ features and the Builder pattern, introduced a lightweight proxy resembling RPC frameworks with dynamic‑URL support, and added comprehensive integration tests that verify automatic client reconnection and reliable message delivery across clustered servers.

Builder PatternProxyRPC
0 likes · 10 min read
Design and Refactoring of a Java SDK with Proxy Optimization and Integration Test Enhancements
Top Architect
Top Architect
Oct 18, 2024 · Backend Development

Using Spring Transaction Hooks to Send Kafka Messages After 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, providing a practical example and detailed code snippets for building a reusable Spring Boot starter library.

KafkaSpringBootTransactionSynchronizationManager
0 likes · 12 min read
Using Spring Transaction Hooks to Send Kafka Messages After Commit
Top Architect
Top Architect
Oct 18, 2024 · Backend Development

UniHttp: Declarative HTTP Interface Integration Framework for Java Backend Projects

This article introduces UniHttp, a declarative Java HTTP client framework that lets developers define third‑party HTTP APIs as annotated interfaces, provides quick‑start instructions, detailed annotation usage, lifecycle hooks, custom client configuration, and an enterprise integration example with full code snippets.

DeclarativeHTTPSpringBoot
0 likes · 21 min read
UniHttp: Declarative HTTP Interface Integration Framework for Java Backend Projects
macrozheng
macrozheng
Oct 18, 2024 · Backend Development

Why @Transactional Often Fails: 13 Real-World Pitfalls and How to Fix Them

An in‑depth guide reveals thirteen common pitfalls that cause Spring’s @Transactional annotation to malfunction—ranging from unnecessary usage and proxy limitations to propagation misconfigurations and exception handling—plus practical demos and solutions to ensure reliable transaction rollbacks in Java backend development.

Backendaopexceptionhandling
0 likes · 20 min read
Why @Transactional Often Fails: 13 Real-World Pitfalls and How to Fix Them
macrozheng
macrozheng
Oct 18, 2024 · Backend Development

Master Spring Boot Validation: 10 Essential Tips and Custom Techniques

This article presents ten practical techniques—including built‑in annotations, custom constraints, server‑side checks, internationalized messages, validation groups, cross‑field rules, exception handling, testing, and client‑side considerations—to help developers implement robust validation in Spring Boot applications.

Custom AnnotationsJSR-303java
0 likes · 17 min read
Master Spring Boot Validation: 10 Essential Tips and Custom Techniques
JD Cloud Developers
JD Cloud Developers
Oct 18, 2024 · Backend Development

Mastering Caffeine Cache: High‑Performance Java Caching Techniques

This guide introduces Caffeine, a high‑performance Java caching library, explains its core features, configuration options, loading strategies—including manual, automatic, asynchronous, and async loading caches—eviction policies, removal listeners, and statistics collection, providing code examples for each use case.

CaffeinePerformanceeviction
0 likes · 16 min read
Mastering Caffeine Cache: High‑Performance Java Caching Techniques
Alibaba Cloud Developer
Alibaba Cloud Developer
Oct 18, 2024 · Backend Development

How to Use Arthas Flamegraph for Java Performance Profiling and Optimization

Learn how to leverage the Arthas flamegraph tool to profile Java applications, interpret CPU usage visualizations, and apply practical optimization techniques illustrated through real-world case studies that reduced CPU consumption by up to 6% and improved system stability during high‑traffic events.

ArthasCPU optimizationbackend-development
0 likes · 7 min read
How to Use Arthas Flamegraph for Java Performance Profiling and Optimization
Architecture Digest
Architecture Digest
Oct 17, 2024 · Backend Development

Simplifying Backend CRUD with APIJSON: One Interface per Operation

This article explains how APIJSON can replace dozens of traditional SpringBoot controller methods with a single configurable endpoint, demonstrating concise request formats, permission annotations, and example code for creating, reading, updating, deleting, and aggregating data in a Java backend.

APIJSONBackendCRUD
0 likes · 8 min read
Simplifying Backend CRUD with APIJSON: One Interface per Operation
Top Architect
Top Architect
Oct 17, 2024 · Backend Development

Understanding ForkJoinPool and the Fork/Join Framework in Java

This article explains the limitations of ThreadPoolExecutor, introduces the Fork/Join model and ForkJoinPool, demonstrates how to implement divide‑and‑conquer tasks with RecursiveTask, analyzes the pool’s design, task submission methods, work‑stealing mechanism, common pool pitfalls, and presents performance evaluation results.

DivideAndConquerForkJoinPoolParallelism
0 likes · 26 min read
Understanding ForkJoinPool and the Fork/Join Framework in Java
Top Architect
Top Architect
Oct 17, 2024 · Backend Development

Spring Utility Classes Overview: Assertions, ObjectUtils, CollectionUtils, File/IO, and Reflection/AOP

This article, written by a senior architect, reviews Spring’s built‑in utility classes—including assertions, object and collection helpers, file/IO operations, and reflection/AOP tools—providing code snippets and usage notes to help developers replace redundant custom utilities and improve backend Java code quality.

Reflectionassertionsjava
0 likes · 15 min read
Spring Utility Classes Overview: Assertions, ObjectUtils, CollectionUtils, File/IO, and Reflection/AOP
Code Ape Tech Column
Code Ape Tech Column
Oct 17, 2024 · Backend Development

Comprehensive Guide to Using Ctrip's Open‑Source Apollo Distributed Configuration Center

This article provides an in‑depth tutorial on Apollo, Ctrip's open‑source distributed configuration center, covering its concepts, features, architecture, four management dimensions, client design, Maven integration, SpringBoot implementation, testing procedures, and deployment on Kubernetes with Docker.

ApolloConfiguration ManagementKubernetes
0 likes · 23 min read
Comprehensive Guide to Using Ctrip's Open‑Source Apollo Distributed Configuration Center
Architect's Guide
Architect's Guide
Oct 17, 2024 · Backend Development

Using JXLS for Complex Excel Export in Java Backend Applications

This article introduces the JXLS library for Java, explains how to add Maven dependencies, provides backend utility and controller code for exporting Excel files, and details common XLS expressions such as jx:area, jx:each, jx:mergeCells, and dynamic column handling to simplify complex Excel report generation.

BackendDynamic Columnsexcel-export
0 likes · 8 min read
Using JXLS for Complex Excel Export in Java Backend Applications
Alibaba Cloud Developer
Alibaba Cloud Developer
Oct 17, 2024 · Artificial Intelligence

Build AI-Powered Java Apps Fast with Spring AI Alibaba: Features & Demo

Spring AI Alibaba is an open‑source Java framework that integrates Alibaba Cloud's large‑model services with Spring AI, offering high‑level abstractions for chat models, prompts, function calling, RAG, and conversation memory, and includes a complete ticket‑assistant example with code snippets.

AI FrameworkChatbotFunction Calling
0 likes · 17 min read
Build AI-Powered Java Apps Fast with Spring AI Alibaba: Features & Demo
Architect
Architect
Oct 16, 2024 · Backend Development

Mastering Spring Transaction Hooks for Safe Kafka Publishing

This article explains how to use Spring's TransactionSynchronizationManager to detect active transactions, register synchronization callbacks, and asynchronously publish payment‑log messages to Kafka without affecting the main business flow, complete with practical code snippets and pitfalls to avoid.

BackendKafkaTransactionSynchronizationManager
0 likes · 11 min read
Mastering Spring Transaction Hooks for Safe Kafka Publishing
Architecture Digest
Architecture Digest
Oct 16, 2024 · Backend Development

Implementing Request and Response Encryption in Spring Boot with ControllerAdvice

This article walks through the design and implementation of symmetric request/response encryption for a Spring Boot API, covering requirement analysis, data models, custom ControllerAdvice for decryption and encryption, serialization challenges with FastJson and Jackson, and final configuration to keep encrypted payloads consistent across Android, iOS, and H5 clients.

ControllerAdviceJacksonapi-encryption
0 likes · 12 min read
Implementing Request and Response Encryption in Spring Boot with ControllerAdvice
IT Services Circle
IT Services Circle
Oct 15, 2024 · Backend Development

Why C++ Graduates Struggle to Land Backend Development Jobs in Internet Companies and How to Improve Their Prospects

The article analyzes why C++‑focused graduates receive few backend interview opportunities at major internet firms, highlights the mismatch between C++ skill sets and common backend components, and offers practical advice on switching languages or augmenting projects to better align with industry demands.

C++GoJob Hunting
0 likes · 10 min read
Why C++ Graduates Struggle to Land Backend Development Jobs in Internet Companies and How to Improve Their Prospects
Su San Talks Tech
Su San Talks Tech
Oct 15, 2024 · Backend Development

How Bean Searcher Lets You Build Complex Queries with One Line of Code

Bean Searcher is an open‑source, Apache‑2.0 licensed ORM search engine that outperforms MyBatis by up to 100×, offering one‑line multi‑table joins, pagination, dynamic sorting, field aggregation, and extensive extensibility, with simple Spring Boot integration and customizable components for rapid backend development.

ORMjavaspring-boot
0 likes · 9 min read
How Bean Searcher Lets You Build Complex Queries with One Line of Code
Alibaba Cloud Native
Alibaba Cloud Native
Oct 14, 2024 · Cloud Native

Seata 2.1.0 Release: New Features, Compatibility & Upgrade Guide

Seata 2.1.0, the first Apache-incubated release, renames the package to org.apache.seata, adds RocketMQ transaction support, Raft metadata sync, decouples Saga from Spring, provides extensive compatibility across JDKs, Spring versions and OSes, and includes detailed deployment, upgrade, security and testing improvements.

ApacheDistributed TransactionsRelease Notes
0 likes · 11 min read
Seata 2.1.0 Release: New Features, Compatibility & Upgrade Guide
Top Architect
Top Architect
Oct 14, 2024 · Backend Development

Outdated Java Technologies You Can Stop Learning: JSP, Struts, Hibernate, and More

The article advises Java backend developers to drop learning outdated technologies such as JSP, Struts, Hibernate, and certain legacy tools, emphasizing the importance of mastering core concepts like Servlets while focusing on modern frameworks like Spring MVC and lightweight ORMs like MyBatis.

Outdated TechnologiesSpring MVCjava
0 likes · 10 min read
Outdated Java Technologies You Can Stop Learning: JSP, Struts, Hibernate, and More
macrozheng
macrozheng
Oct 14, 2024 · Backend Development

Simplify MyBatis-Plus Join Queries with MPJ: A Hands‑On Guide

This tutorial demonstrates how to use the mybatis-plus-join (MPJ) library to perform left and right join queries in a Spring Boot project without writing XML, covering dependency setup, mapper changes, query construction, pagination, and practical code examples.

Join QueryMPJORM
0 likes · 10 min read
Simplify MyBatis-Plus Join Queries with MPJ: A Hands‑On Guide
Java Backend Technology
Java Backend Technology
Oct 14, 2024 · Cloud Native

Why ExitOnOutOfMemoryError Beats HeapDumpOnOutOfMemoryError in Containerized Java Apps

This article explains why, in containerized Java applications, the JVM flag -XX:+ExitOnOutOfMemoryError is generally preferred over -XX:+HeapDumpOnOutOfMemoryError, detailing the trade‑offs, operational benefits, and how Kubernetes probes and monitoring can ensure fast failure, rapid recovery, and user‑transparent service continuity.

ContainerJVMKubernetes
0 likes · 11 min read
Why ExitOnOutOfMemoryError Beats HeapDumpOnOutOfMemoryError in Containerized Java Apps
Java Architect Essentials
Java Architect Essentials
Oct 13, 2024 · Backend Development

Diagnosing and Optimizing Startup Performance of a Legacy Dubbo Service with JProfile

This article walks through a systematic investigation of a slow‑starting Dubbo service built on Spring 3.2, using JProfile to pinpoint costly class‑loading checks, disabling unnecessary annotation processing, and resolving thread‑waiting issues caused by RabbitMQ and other components, ultimately reducing deployment time by about 40%.

DubboJProfilePerformance
0 likes · 7 min read
Diagnosing and Optimizing Startup Performance of a Legacy Dubbo Service with JProfile
Top Architect
Top Architect
Oct 13, 2024 · Backend Development

Spring Boot Project Initialization, Version Management, and Common Backend Utilities Tutorial

This article walks through creating a Spring Boot project, handling version compatibility between Spring Cloud, Spring Boot, and Kafka, demonstrates common Maven configurations, provides global exception handling and logging aspects, and lists useful backend tools such as embedded Redis, MyBatis‑Plus, and Redisson.

SpringBootVersionManagementexceptionhandling
0 likes · 13 min read
Spring Boot Project Initialization, Version Management, and Common Backend Utilities Tutorial
Java Tech Enthusiast
Java Tech Enthusiast
Oct 13, 2024 · Backend Development

Fluent Mybatis Tutorial: Overview, Features, and Practical Code Examples

The article introduces Fluent Mybatis, a compile‑time code‑generating ORM that merges Mybatis‑Plus, Dynamic SQL and JPA features, eliminates XML mappers, offers a fluent, type‑safe Java API, and demonstrates through concise examples how it reduces boilerplate compared with native Mybatis and Mybatis‑Plus.

CRUDFluent MyBatisORM
0 likes · 13 min read
Fluent Mybatis Tutorial: Overview, Features, and Practical Code Examples
Architecture Digest
Architecture Digest
Oct 13, 2024 · Backend Development

Improving Spring MVC Controllers: Unified Response Structure, Validation, and Exception Handling

The article explains how to simplify Spring MVC controller code by introducing a unified response wrapper, handling String return types with ResponseBodyAdvice, adjusting HttpMessageConverter order, applying JSR‑303 validation for @RequestParam, @PathVariable and @RequestBody, creating custom validation annotations, and implementing global exception handling for consistent API responses.

BackendControllerResponseAdvice
0 likes · 18 min read
Improving Spring MVC Controllers: Unified Response Structure, Validation, and Exception Handling
JD Tech
JD Tech
Oct 13, 2024 · Artificial Intelligence

Building a Simple Local AI Question‑Answer System with Java, LangChain4J, Ollama, and ChromaDB

This article guides readers through the concepts of large language models, embeddings, vector databases, and Retrieval‑Augmented Generation, then demonstrates step‑by‑step how to set up Ollama, install a local Chroma vector store, configure Maven dependencies, and write Java code using LangChain4J to build and test a functional AI Q&A application.

AILLMLangChain4j
0 likes · 22 min read
Building a Simple Local AI Question‑Answer System with Java, LangChain4J, Ollama, and ChromaDB
ITPUB
ITPUB
Oct 13, 2024 · Backend Development

Why Does 1000==1000 Return False but 100==100 Return True in Java?

This article explains why the == operator yields false when comparing two Integer objects with the value 1000 but true for the value 100, covering Java's reference comparison, the IntegerCache mechanism, its performance rationale, and a reflective hack that can even make 2+2 equal 5.

Reference EqualityReflectioninteger
0 likes · 7 min read
Why Does 1000==1000 Return False but 100==100 Return True in Java?
Java Architect Essentials
Java Architect Essentials
Oct 11, 2024 · Backend Development

Mastering EasyQuery: A Strongly Typed Java ORM with Real‑World Query Examples

This article explains why the author created the EasyQuery ORM for Java, demonstrates a wide range of query patterns—including single‑record, pagination, joins, subqueries, streaming, custom VO mapping, dynamic conditions, grouping, native SQL, function columns, and high‑performance encryption—while providing complete code snippets and links to documentation and source repositories.

BackendORMdatabase
0 likes · 13 min read
Mastering EasyQuery: A Strongly Typed Java ORM with Real‑World Query Examples
macrozheng
macrozheng
Oct 11, 2024 · Backend Development

Does Spring Commit Before Unlock? Unraveling Transaction Timing in High‑Concurrency

This article dissects the exact moment a Spring @Transactional method commits relative to a surrounding lock, explains why committing after unlock can cause overselling, and provides source‑level debugging techniques to verify transaction start, commit, and rollback behavior in MySQL under high concurrency.

Lockconcurrencydatabase
0 likes · 21 min read
Does Spring Commit Before Unlock? Unraveling Transaction Timing in High‑Concurrency
macrozheng
macrozheng
Oct 11, 2024 · Fundamentals

Unlock Java’s Latest Power: Practical Guide to New Features from Java 9‑17

This article provides a concise, hands‑on overview of Java’s most useful language enhancements from Java 9 through Java 17—including private interface methods, Optional API upgrades, Stream API additions, var type inference, the new HTTP client, switch expressions, text blocks, records, instanceof pattern matching, and sealed classes—complete with clear code examples for each feature.

Code ExamplesNew Featuresjava
0 likes · 15 min read
Unlock Java’s Latest Power: Practical Guide to New Features from Java 9‑17
Top Architect
Top Architect
Oct 10, 2024 · Backend Development

Avoiding Excessive Null Checks in Java: Using Assertions, Exceptions, and the Null Object Pattern

This article explains why overusing null‑check statements in Java leads to verbose code, distinguishes cases where null is a valid response versus an error, and offers practical techniques such as assertions, throwing exceptions, returning empty collections, and applying the Null Object pattern to write cleaner backend code.

ExceptionsNull Object patternassertions
0 likes · 9 min read
Avoiding Excessive Null Checks in Java: Using Assertions, Exceptions, and the Null Object Pattern
Java Tech Enthusiast
Java Tech Enthusiast
Oct 10, 2024 · Fundamentals

Understanding Try-with-Resources in Java: A Comprehensive Guide

This guide explains Java's try-with-resources statement introduced in JDK 7, showing how it automatically closes AutoCloseable resources, eliminates boilerplate finally blocks, manages closure order and suppressed exceptions, avoids common decorator pitfalls, and provides best‑practice examples for robust production code.

Exception HandlingJDK7Resource Management
0 likes · 10 min read
Understanding Try-with-Resources in Java: A Comprehensive Guide
Java Architect Essentials
Java Architect Essentials
Oct 9, 2024 · Backend Development

Investigating and Resolving a Massive Thread Leak in a Java Backend Application

This article details the discovery, analysis, and fix of a severe thread‑leak issue in a Java Spring MVC service caused by unsafe use of a shared CloseableHttpAsyncClient, showing how multithreaded testing reproduced the problem and how refactoring the client to a local variable eliminated the runaway thread growth.

HttpAsyncClientPerformanceThread Leak
0 likes · 12 min read
Investigating and Resolving a Massive Thread Leak in a Java Backend Application
JD Tech
JD Tech
Oct 9, 2024 · Fundamentals

Defensive Programming: Concepts, Core Principles, and Practical Java Examples

This article explains defensive programming as a proactive coding paradigm that anticipates and mitigates errors through input validation, error handling, assertions, and continuous testing, and demonstrates its application with detailed Java examples covering pagination, loop safety, exception management, and boundary checks.

Error HandlingSoftware Robustnessdefensive programming
0 likes · 15 min read
Defensive Programming: Concepts, Core Principles, and Practical Java Examples
Architect
Architect
Oct 8, 2024 · Backend Development

How to Supercharge Java Backend Performance with CompletableFuture, Thread Pools, Caching, and Lock Tuning

This article analyzes Java performance bottlenecks and demonstrates how to use CompletableFuture for parallelism, fine‑tune ThreadPoolExecutor parameters, minimize transaction scope, apply cache‑line padding, object pooling, lock‑granularity techniques, copy‑on‑write collections, and reduce network payloads to achieve lower latency and higher throughput.

CompletableFutureMicroservicesPerformanceOptimization
0 likes · 38 min read
How to Supercharge Java Backend Performance with CompletableFuture, Thread Pools, Caching, and Lock Tuning