Tagged articles
5000 articles
Page 19 of 50
Java Captain
Java Captain
May 21, 2025 · Backend Development

Graceful Shutdown of Spring Boot Applications Using JVM Signals and Actuator

The article explains how to achieve graceful shutdown of Spring Boot services by handling Linux kill signals, registering JVM shutdown hooks, and exposing an Actuator REST endpoint that safely releases resources, stops beans, and terminates the JVM without data loss.

ActuatorGraceful ShutdownJVM
0 likes · 11 min read
Graceful Shutdown of Spring Boot Applications Using JVM Signals and Actuator
Java Captain
Java Captain
May 21, 2025 · Fundamentals

Understanding Java Thread States and Their Transitions with Example Code

This article explains the six Java thread states defined in java.lang.Thread.State, describes the meaning of each state, illustrates the possible state transitions, and provides three runnable code examples that demonstrate NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING and TERMINATED states along with their console outputs.

ConcurrencyJavaThread
0 likes · 11 min read
Understanding Java Thread States and Their Transitions with Example Code
Top Architecture Tech Stack
Top Architecture Tech Stack
May 21, 2025 · Backend Development

Understanding DTO, BO, PO, and VO in Backend Development

This article explains the concepts of Data Transfer Object (DTO), Business Object (BO), Persistent Object (PO), and Value Object (VO) in backend development, shows how they differ and interact across layers, and provides Java code examples and a global configuration to filter null fields during serialization.

Backend DevelopmentDTOJava
0 likes · 7 min read
Understanding DTO, BO, PO, and VO in Backend Development
Alibaba Cloud Developer
Alibaba Cloud Developer
May 21, 2025 · Artificial Intelligence

How to Seamlessly Integrate MCP Protocol with Spring AI for Powerful LLM Tool Calls

This article explains the challenges of integrating diverse tools without MCP, then demonstrates step‑by‑step how to configure Spring‑AI and the native MCP SDK to call LLMs, register tools, handle SSE and stdio services, and troubleshoot common issues, providing code snippets and best‑practice recommendations.

AI tool integrationBackend DevelopmentJava
0 likes · 16 min read
How to Seamlessly Integrate MCP Protocol with Spring AI for Powerful LLM Tool Calls
Java Architect Essentials
Java Architect Essentials
May 20, 2025 · Backend Development

How @ModelAttribute Simplifies SpringBoot Form Data Binding

When handling complex forms in SpringBoot, developers often write repetitive code to extract each field, but the @ModelAttribute annotation automatically binds all form parameters to Java objects, reducing boilerplate, improving readability, and supporting custom binding scenarios.

@ModelAttributeBackend DevelopmentForm Binding
0 likes · 7 min read
How @ModelAttribute Simplifies SpringBoot Form Data Binding
Architect
Architect
May 20, 2025 · Backend Development

Why Is Spring Boot So Slow to Start? A Deep Dive into Its Startup Process

This article analyses why Spring Boot startup can take dozens of seconds, breaks down the most time‑consuming phases such as prepareEnvironment and refreshContext, shows profiling code and screenshots, compares a simple MVC demo with a real‑world project, and identifies external client connections and configuration loading as the biggest bottlenecks.

Backend DevelopmentJavaPerformance Optimization
0 likes · 13 min read
Why Is Spring Boot So Slow to Start? A Deep Dive into Its Startup Process
macrozheng
macrozheng
May 20, 2025 · Backend Development

10 Logging Rules Every Backend Engineer Should Follow

This article shares ten practical rules for producing high‑quality logs in Java backend systems, covering unified formatting, stack traces, log levels, complete parameters, data masking, asynchronous logging, traceability, dynamic level adjustment, structured storage, and intelligent monitoring to help developers quickly diagnose issues and improve system reliability.

JavaLogginglogback
0 likes · 12 min read
10 Logging Rules Every Backend Engineer Should Follow
Code Ape Tech Column
Code Ape Tech Column
May 20, 2025 · Backend Development

Dynamic Chain of Responsibility in Spring: A Practical Implementation

This article explains how to split a multi‑function OpenAPI endpoint into independent steps using the responsibility‑chain pattern in Spring, detailing the abstract component, context sharing, bean retrieval via ApplicationContext, and a controller that dynamically orders execution through a query parameter, with full code examples.

AOPChain of ResponsibilityJava
0 likes · 9 min read
Dynamic Chain of Responsibility in Spring: A Practical Implementation
JD Tech Talk
JD Tech Talk
May 20, 2025 · Fundamentals

Java Code Style Guidelines: Standards, Tool Integration, and Best Practices

This article explains why consistent Java code style matters, reviews major industry standards such as Google and Alibaba, guides the selection and customization of a style guide, and demonstrates how to configure IntelliJ IDEA, Checkstyle, and Maven to enforce the rules throughout development.

IntelliJ IDEAJavaMaven
0 likes · 12 min read
Java Code Style Guidelines: Standards, Tool Integration, and Best Practices
Java Architect Essentials
Java Architect Essentials
May 20, 2025 · Backend Development

Ensuring Idempotency with Distributed Locks: Adjusting Aspect Order in Java Backend

This article explains how using a custom @DistributeLock annotation together with @Transactional can cause idempotency issues due to aspect execution order, and demonstrates how to prioritize the lock aspect using @Order to ensure the lock is applied before the transaction, with code examples and best‑practice recommendations.

IdempotencyJavaaspect order
0 likes · 6 min read
Ensuring Idempotency with Distributed Locks: Adjusting Aspect Order in Java Backend
Top Architecture Tech Stack
Top Architecture Tech Stack
May 20, 2025 · Backend Development

Global Exception Handling in Spring Boot: Techniques and Code Examples

This article explains how to efficiently handle exceptions in Spring Boot applications by using @ControllerAdvice and @ExceptionHandler annotations, providing step-by-step code examples for custom global exception classes, error response structures, and handling specific exceptions such as business, null pointer, and type conversion errors.

BackendJavaREST
0 likes · 9 min read
Global Exception Handling in Spring Boot: Techniques and Code Examples
JD Tech Talk
JD Tech Talk
May 19, 2025 · Backend Development

Detailed Explanation of Java ConcurrentHashMap Source Code: Constructors, put, get, resize, and Concurrency Mechanisms

This article provides an in‑depth analysis of the Java ConcurrentHashMap implementation, covering its constructor logic, hash‑table sizing, the core put and get operations, element counting with addCount, multi‑threaded resizing via transfer, treeification of bins, removal, computeIfAbsent, and the design choices that forbid null keys and values to simplify concurrency handling.

CASConcurrentHashMapJava
0 likes · 36 min read
Detailed Explanation of Java ConcurrentHashMap Source Code: Constructors, put, get, resize, and Concurrency Mechanisms
JD Cloud Developers
JD Cloud Developers
May 19, 2025 · Backend Development

Unlocking Java’s ConcurrentHashMap: Inside Constructors, Put, and Resizing

This article provides a thorough, English‑language walkthrough of Java 8+ ConcurrentHashMap’s source code, covering its constructor logic, load‑factor handling, CAS‑based insertion, node optimizations, the put method, element‑count updates, multi‑threaded resizing, treeification, and auxiliary operations such as get, remove, and computeIfAbsent.

ConcurrencyConcurrentHashMapData Structures
0 likes · 42 min read
Unlocking Java’s ConcurrentHashMap: Inside Constructors, Put, and Resizing
ITPUB
ITPUB
May 19, 2025 · Fundamentals

Why Developers Prefer if…else Over switch: Pros, Cons, and Performance

The article examines why many programmers favor if...else over switch statements, outlining switch's intended clarity, its limitations such as lack of range support and fall‑through pitfalls, performance considerations across languages, and scenarios where each construct shines.

Control FlowJavacoding best practices
0 likes · 8 min read
Why Developers Prefer if…else Over switch: Pros, Cons, and Performance
Java Tech Enthusiast
Java Tech Enthusiast
May 19, 2025 · Information Security

Why Validation Matters: Java Bean Validation and Permission Checks

This article explains why both front‑end and back‑end data validation are essential for secure and user‑friendly web applications, introduces Java Bean Validation annotations, shows how to integrate them with Spring MVC, and compares common Java permission‑control frameworks such as Spring Security, Shiro and Sa‑Token.

Bean ValidationJavaSpring Security
0 likes · 16 min read
Why Validation Matters: Java Bean Validation and Permission Checks
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
May 19, 2025 · Cloud Native

Master Spring Cloud Gateway in 3 Minutes – Complete Service Gateway Guide

This article introduces Spring Cloud Gateway as a high‑performance replacement for Zuul, explains its core components (Route, Predicate, Filter) and request flow, provides step‑by‑step setup of a gateway project, demonstrates route configuration, custom GlobalFilter and GatewayFilter implementations, and validates the behavior with example requests.

Custom FilterJavaMicroservices
0 likes · 17 min read
Master Spring Cloud Gateway in 3 Minutes – Complete Service Gateway Guide
Full-Stack Internet Architecture
Full-Stack Internet Architecture
May 18, 2025 · Fundamentals

Strategy Design Pattern in Java: Definition, Structure, Example, and Refactoring

This article explains the behavioral Strategy design pattern, describes its definition and structure, demonstrates a real‑world e‑commerce discount scenario with both a tangled if‑else implementation and a clean refactoring using Java interfaces, concrete strategy classes, a context, and a client, and finally discusses its advantages and drawbacks.

Design PatternsJavaStrategy Pattern
0 likes · 9 min read
Strategy Design Pattern in Java: Definition, Structure, Example, and Refactoring
Architect's Tech Stack
Architect's Tech Stack
May 18, 2025 · Backend Development

Six Practical File Upload and Download Solutions for Spring Boot

This article presents six commonly used file upload and download techniques for Spring Boot, covering basic Multipart handling, stream-based download, integration with Alibaba Cloud OSS and MinIO, as well as high‑concurrency chunked uploads with Nginx, each accompanied by complete code examples and usage scenarios.

File DownloadJavaMinio
0 likes · 16 min read
Six Practical File Upload and Download Solutions for Spring Boot
FunTester
FunTester
May 18, 2025 · Backend Development

Building a High‑Performance Netty WebSocket Client for Large‑Scale Performance Testing

This article explains how to build a high‑performance Netty‑based WebSocket client for large‑scale performance testing, covering Netty fundamentals, custom handler implementation, client bootstrap configuration, message sending, connection closing, batch operations, and client encapsulation to reduce resource consumption and improve scalability.

BackendJavaNetty
0 likes · 14 min read
Building a High‑Performance Netty WebSocket Client for Large‑Scale Performance Testing
Java Architect Essentials
Java Architect Essentials
May 17, 2025 · Backend Development

Simplify SpringBoot Time Handling with @DateTimeFormat Annotation

This article explains how SpringBoot’s @DateTimeFormat annotation automatically converts timestamps and date strings to Date, LocalDate, or LocalDateTime objects, eliminating manual parsing code, and provides practical examples ranging from simple date parameters to custom datetime patterns for more efficient backend development.

@DateTimeFormatBackend DevelopmentJava
0 likes · 7 min read
Simplify SpringBoot Time Handling with @DateTimeFormat Annotation
Java Tech Enthusiast
Java Tech Enthusiast
May 17, 2025 · Backend Development

How to Implement Distributed API Debounce in Java with Redis and Redisson

This article explains why API debounce is needed in web back‑ends, identifies the types of endpoints that require it, outlines how to detect duplicate requests, and provides two concrete distributed solutions—shared Redis cache and Redisson lock—complete with annotation design, key generation logic, and full Java code examples.

API DebounceIdempotencyJava
0 likes · 15 min read
How to Implement Distributed API Debounce in Java with Redis and Redisson
FunTester
FunTester
May 17, 2025 · Backend Development

Detailed Explanation of Java WebSocket Client Development

This article provides a comprehensive walkthrough of building a Java WebSocket client, covering client creation, connection establishment, message sending, graceful closure, header handling, and code encapsulation, with complete example code and best practices for performance testing and robust error handling.

JavaPerformanceTestingclient
0 likes · 11 min read
Detailed Explanation of Java WebSocket Client Development
Programmer DD
Programmer DD
May 17, 2025 · Backend Development

Unlock Dynamic Fields in Hibernate: Master @Formula for Read‑Only Calculations

The article explains Hibernate's @Formula annotation, showing how to define dynamic, read‑only fields with SQL expressions, provides code examples for simple concatenations, aggregate calculations, and multi‑table integrations, and offers best‑practice guidelines to optimize performance and avoid common pitfalls.

@FormulaBackend DevelopmentHibernate
0 likes · 7 min read
Unlock Dynamic Fields in Hibernate: Master @Formula for Read‑Only Calculations
Java Architect Essentials
Java Architect Essentials
May 16, 2025 · Backend Development

Simplifying Session Management in Spring Boot with @SessionAttributes

Spring Boot's @SessionAttributes annotation enables automatic session data handling, eliminating repetitive HttpSession code, simplifying development, improving maintainability, and supporting multi-attribute management and cleanup, as demonstrated through detailed examples and best practices for user login and shopping cart scenarios.

@SessionAttributesBackendJava
0 likes · 7 min read
Simplifying Session Management in Spring Boot with @SessionAttributes
Code Ape Tech Column
Code Ape Tech Column
May 16, 2025 · Backend Development

Mastering JXLS: Generate Complex Excel Reports with Java

This guide explains how to use the JXLS Java library to create complex, template‑driven Excel reports, covering setup, core concepts like XlsArea, looping, conditional rendering, dynamic grids, merging cells, image insertion, and formula handling with practical code examples.

Backend DevelopmentExcelJava
0 likes · 9 min read
Mastering JXLS: Generate Complex Excel Reports with Java
Cognitive Technology Team
Cognitive Technology Team
May 16, 2025 · Fundamentals

Why Java Switched HashMap Insertion to Tail and How It Affects Concurrency

This article examines the evolution of Java's HashMap from head‑insertion in JDK 1.7 to tail‑insertion in JDK 1.8, explains how the change eliminates circular‑list deadlocks during concurrent resizing, discusses remaining concurrency pitfalls such as red‑black tree conversion, and offers best‑practice solutions like using ConcurrentHashMap and proper initial capacity settings.

ConcurrencyData StructuresHashMap
0 likes · 10 min read
Why Java Switched HashMap Insertion to Tail and How It Affects Concurrency
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
May 16, 2025 · Backend Development

Explore 8 Ways to Define Web Interfaces in Spring Boot 3 – Practical Code Samples

This article presents a comprehensive collection of 124 Spring Boot 3 practical cases, detailing eight distinct methods for defining web interfaces—including @Controller, @RestController, HttpRequestHandler, ServletRegistrationBean, HandlerFunction, @HttpExchange, and static resource registration—complete with code snippets, configuration steps, and usage explanations.

Backend DevelopmentCode ExamplesJava
0 likes · 11 min read
Explore 8 Ways to Define Web Interfaces in Spring Boot 3 – Practical Code Samples
Java Architect Essentials
Java Architect Essentials
May 15, 2025 · Backend Development

How @PageableDefault Simplifies SpringBoot Pagination

The article explains how the SpringBoot @PageableDefault annotation automatically provides default pagination parameters, reducing boilerplate code, improving readability, and offering flexible control for various query endpoints in Java backend development.

BackendJavaSpringBoot
0 likes · 6 min read
How @PageableDefault Simplifies SpringBoot Pagination
Top Architect
Top Architect
May 15, 2025 · Backend Development

Using Undertow as an Alternative to Tomcat in Spring Boot

This article explains how Spring Boot’s default embedded Tomcat container can be replaced with the high‑performance Undertow server, provides step‑by‑step Maven configuration, compares their performance and memory usage, and concludes with a recommendation for high‑concurrency applications while also containing promotional material for AI services.

JavaTomcatWeb server
0 likes · 10 min read
Using Undertow as an Alternative to Tomcat in Spring Boot
Java Captain
Java Captain
May 15, 2025 · Backend Development

Automating CRUD Operations with MyBatisPlus and a Generic BaseController in Spring Boot

This article demonstrates how to automate CRUD functionality in a Spring Boot application by adding MyBatisPlus, creating utility methods for query building and reflection, implementing a generic BaseController, configuring pagination support, and extending the controller for specific entities, providing a reusable RESTful API template.

BaseControllerCRUDJava
0 likes · 11 min read
Automating CRUD Operations with MyBatisPlus and a Generic BaseController in Spring Boot
Java Captain
Java Captain
May 15, 2025 · Backend Development

Generating Temperature Line Charts in Excel with Apache POI (Java)

This tutorial demonstrates how to add Apache POI dependencies via Maven and use Java code to create an Excel workbook containing a multi‑series temperature line chart, including custom font sizes for titles and axes, and finally export the file to disk.

Apache POIData visualizationExcel
0 likes · 8 min read
Generating Temperature Line Charts in Excel with Apache POI (Java)
JD Cloud Developers
JD Cloud Developers
May 15, 2025 · Cloud Native

How Sentinel Empowers Cloud‑Native Traffic Governance and Resilience

This article introduces Sentinel, a cloud‑native flow‑control component born from Alibaba's ecosystem, explains its resource‑based rule model, core implementation—including rule‑control chain, datasource, and dashboard—and discusses practical deployment considerations and extension strategies for Java microservices.

JavaMicroservicesRate Limiting
0 likes · 20 min read
How Sentinel Empowers Cloud‑Native Traffic Governance and Resilience
Programmer DD
Programmer DD
May 15, 2025 · Backend Development

Boost Spring Boot Performance 3× with JVM Tuning: Practical Parameters

After caching, indexing, and async optimizations still leave a Spring Boot REST API sluggish, this guide shows how fine‑tuning JVM options—such as enabling G1GC, adjusting pause targets, compressing class metadata, shrinking thread stacks, and pre‑touching memory—can triple response speed without changing application code.

G1GCJVMJava
0 likes · 7 min read
Boost Spring Boot Performance 3× with JVM Tuning: Practical Parameters
Lin is Dream
Lin is Dream
May 15, 2025 · Backend Development

How to Build a Pluggable Operation Log System with AOP and Annotations in Java

This article explains a complete, reusable solution for recording operation logs in Java backend applications using Spring AOP, custom annotations, callback interfaces, and a user‑adapter to bridge third‑party logging libraries with the main program, enabling flexible storage and auditing.

BackendJavaOperation Log
0 likes · 8 min read
How to Build a Pluggable Operation Log System with AOP and Annotations in Java
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
May 15, 2025 · Fundamentals

Mastering Thread‑Safe Classes in Java: 6 Proven Design Strategies

This article explains what makes a class thread‑safe in Java, illustrates common race‑condition pitfalls with sample code, and presents six practical design strategies—including stateless, immutable, synchronized, volatile, concurrent collections, thread‑confinement, and defensive copying—to help developers build robust, high‑performance concurrent applications.

ConcurrencyDesign PatternsImmutable
0 likes · 11 min read
Mastering Thread‑Safe Classes in Java: 6 Proven Design Strategies
Java Architect Essentials
Java Architect Essentials
May 14, 2025 · Backend Development

Master SpringBoot @RequestHeader: Simplify HTTP Header Binding

This article explains how SpringBoot's @RequestHeader annotation automatically binds HTTP request headers to controller method parameters, reducing boilerplate code, supporting default values and optional headers, and improving readability and development efficiency with clear code examples.

@RequestHeaderBackendJava
0 likes · 6 min read
Master SpringBoot @RequestHeader: Simplify HTTP Header Binding
Top Architecture Tech Stack
Top Architecture Tech Stack
May 14, 2025 · Backend Development

Injecting List, Array, Set, and Map from Spring Configuration Files Using @Value and EL Expressions

This article explains how to store and inject collection types such as List, array, Set, and Map in Spring configuration files, demonstrates the pitfalls of using @Value directly, and provides practical solutions using @ConfigurationProperties, EL split functions, and custom decoders for flexible and safe property binding.

BackendEL expressionJava
0 likes · 7 min read
Injecting List, Array, Set, and Map from Spring Configuration Files Using @Value and EL Expressions
IT Services Circle
IT Services Circle
May 14, 2025 · Mobile Development

The Origin and Rise of Android: From a Small Startup to a Global Mobile OS

From Google's early recruitment challenges to acquiring a tiny startup that built a Java‑based demo system, Android emerged as an open‑source mobile operating system, leveraging Dalvik, overcoming hardware competition, and ultimately dominating the global smartphone market through rapid development and strategic alliances.

AndroidDalvikGoogle
0 likes · 13 min read
The Origin and Rise of Android: From a Small Startup to a Global Mobile OS
Java Tech Enthusiast
Java Tech Enthusiast
May 14, 2025 · Backend Development

Understanding SpringBoot Interceptors: Filters, HandlerInterceptor, AOP, RestTemplate, Feign, and WebFilter

This article introduces the six main types of interceptors in SpringBoot—Filter, HandlerInterceptor, AOP, RestTemplate, Feign, and WebFilter—explaining their typical use‑cases, implementation details, common pitfalls, and best‑practice ordering to help developers choose the right tool for each scenario.

AOPBackend DevelopmentInterceptor
0 likes · 8 min read
Understanding SpringBoot Interceptors: Filters, HandlerInterceptor, AOP, RestTemplate, Feign, and WebFilter
Java Captain
Java Captain
May 14, 2025 · Fundamentals

Creation and Stopping of Debug Sessions in IntelliJ

The article explains how IntelliJ creates a debug session via XDebuggerManager.startSessionAndShowTab, the role of XDebugSession and XDebugProcess, and details the sequence of events and listeners involved when the session is stopped, including process termination and listener cleanup.

DebuggingIDEIntelliJ
0 likes · 6 min read
Creation and Stopping of Debug Sessions in IntelliJ
Cognitive Technology Team
Cognitive Technology Team
May 14, 2025 · Fundamentals

How to Instantiate Java Objects Without Constructors Using Objenesis

This tutorial explains how Objenesis enables Java objects to be instantiated without invoking constructors, covering traditional object creation, the library’s internal mechanisms, Maven setup, usage examples with ObjenesisStd, ObjenesisSerializer, and ObjenesisHelper, advanced scenarios, best practices, and considerations for safe adoption.

JavaObject InstantiationObjenesis
0 likes · 9 min read
How to Instantiate Java Objects Without Constructors Using Objenesis
IT Xianyu
IT Xianyu
May 14, 2025 · Databases

Using PostgreSQL Stored Procedures to Batch Update User Tags Efficiently

This article explains how Java developers can replace thousands of individual UPDATE statements with a single PostgreSQL stored procedure call, covering the motivation, procedure creation, Java invocation, scheduling with shell scripts, performance benchmarks, and common pitfalls.

Batch UpdateJavaPostgreSQL
0 likes · 8 min read
Using PostgreSQL Stored Procedures to Batch Update User Tags Efficiently
Java Web Project
Java Web Project
May 13, 2025 · Backend Development

How Maven‑mvnd Supercharges Java Builds with a Daemon Process

Maven‑mvnd introduces a long‑running daemon to eliminate JVM startup overhead, cut resource usage, accelerate frequent builds, and streamline multi‑module projects, while remaining compatible with existing Maven workflows and offering GraalVM‑based native execution for faster, lighter builds.

Build OptimizationJavaMaven
0 likes · 7 min read
How Maven‑mvnd Supercharges Java Builds with a Daemon Process
Code Ape Tech Column
Code Ape Tech Column
May 13, 2025 · Backend Development

Elegant Multi‑Tenant Data Isolation with MyBatis‑Plus in SaaS Applications

This article explains the concept of SaaS multi‑tenant architecture, compares three data‑isolation designs, and demonstrates how to implement elegant tenant‑level data isolation in Java using MyBatis‑Plus’s tenant plugin, complete with configuration, handler code, SQL examples, and troubleshooting tips.

BackendData IsolationJava
0 likes · 15 min read
Elegant Multi‑Tenant Data Isolation with MyBatis‑Plus in SaaS Applications
Cognitive Technology Team
Cognitive Technology Team
May 13, 2025 · Fundamentals

An Introduction to SootUp: Static Analysis of JVM Code

This article introduces the SootUp library, explains how to configure its Maven dependencies, describes the Jimple intermediate representation, and demonstrates how to use SootUp's API to analyze Java source code, bytecode, and method bodies through a series of code examples.

JVMJavaJimple
0 likes · 14 min read
An Introduction to SootUp: Static Analysis of JVM Code
Continuous Delivery 2.0
Continuous Delivery 2.0
May 13, 2025 · Backend Development

Common Backend Code Smells and How to Prevent Over‑Engineering, Deep Inheritance, Excessive DTO Layers, Fake Interfaces, and Contract‑less Microservices

The article outlines common backend code smells such as over‑engineering, deep inheritance hierarchies, excessive DTO/VO layers, unnecessary interfaces, and contract‑less microservice designs, explains why they harm team efficiency and project quality, and provides concrete Java examples and best‑practice recommendations to avoid them.

DTOInheritanceJava
0 likes · 5 min read
Common Backend Code Smells and How to Prevent Over‑Engineering, Deep Inheritance, Excessive DTO Layers, Fake Interfaces, and Contract‑less Microservices
Architect
Architect
May 12, 2025 · Backend Development

Why 500 RPS Dropped to 50 RPS: Tracing Spring Bean Creation and Thread‑Pool Bottlenecks

A ToB Java service that initially expected 500 requests per second fell to only 50 RPS under load, prompting a step‑by‑step investigation of CPU usage, lock contention, slow SQL, excessive logging, prototype‑scoped beans, and thread‑pool configuration, ultimately revealing how bean creation and async execution affect throughput.

BackendJavaOptimization
0 likes · 16 min read
Why 500 RPS Dropped to 50 RPS: Tracing Spring Bean Creation and Thread‑Pool Bottlenecks
Java Captain
Java Captain
May 12, 2025 · Fundamentals

Understanding Java Thread Pools: Design, Implementation, and Usage

This article explains the purpose, advantages, design principles, configuration parameters, task queue options, rejection policies, lifecycle management, and internal execution flow of Java's ThreadPoolExecutor, providing code examples and detailed insights into how thread pools work in concurrent applications.

ConcurrencyExecutorJava
0 likes · 30 min read
Understanding Java Thread Pools: Design, Implementation, and Usage
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
May 12, 2025 · Backend Development

Mastering Feature Toggles in Spring Boot 3: 6 Practical Implementations

This article explains why feature flags are essential in Spring Boot projects and walks through six concrete ways to implement dynamic toggles—including @Profile, @Conditional, @RefreshScope, database‑backed scheduling, Apache Commons Configuration, and Togglz—complete with code snippets and usage tips.

Backend DevelopmentDynamic RefreshJava
0 likes · 9 min read
Mastering Feature Toggles in Spring Boot 3: 6 Practical Implementations
Java Captain
Java Captain
May 11, 2025 · Fundamentals

Understanding Abstract Classes and Interfaces: Design Principles and Practical Uses

Abstract classes and interfaces are core object‑oriented concepts that enable reusable, extensible, and maintainable code; this article explains their definitions, design considerations, and real‑world applications, illustrated with Java examples of a Control hierarchy and a Shape interface implementation.

Abstract ClassInheritanceInterface
0 likes · 5 min read
Understanding Abstract Classes and Interfaces: Design Principles and Practical Uses
Top Architecture Tech Stack
Top Architecture Tech Stack
May 11, 2025 · Backend Development

Using Java 8 Functional Interfaces to Replace Repetitive if‑else Logic

This article explains how Java 8 functional interfaces such as Function, Supplier, Consumer, and Runnable can replace repetitive if‑else statements, provides code examples for throwing exceptions, branch handling, and present‑or‑else logic, and demonstrates practical usage to improve backend code readability.

BackendConsumerException Handling
0 likes · 6 min read
Using Java 8 Functional Interfaces to Replace Repetitive if‑else Logic
IT Services Circle
IT Services Circle
May 10, 2025 · Backend Development

Understanding Java synchronized: Locks, Optimizations, and Example Code

This article explains how Java's synchronized keyword works, covering object and class locks, lock upgrades such as biased, lightweight, and heavyweight locks, the underlying monitor implementation, example code for a thread‑safe counter, and performance considerations for high‑concurrency scenarios.

ConcurrencyJavalocking
0 likes · 7 min read
Understanding Java synchronized: Locks, Optimizations, and Example Code
Java One
Java One
May 10, 2025 · Backend Development

Master Maven pom.xml: Essential Configurations for Java Projects

This guide explains how to configure a Maven pom.xml file, covering project coordinates, dependency scopes, dependencyManagement, exclusions, conflict resolution, lifecycle phases, goals, common plugins, profile activation, repository settings, distribution management, and modular project structure for reliable Java builds.

JavaMavenbuild
0 likes · 21 min read
Master Maven pom.xml: Essential Configurations for Java Projects
Java Architect Essentials
Java Architect Essentials
May 9, 2025 · Backend Development

Using @ConversionService in Spring Boot for Automatic Request Parameter Conversion

Spring Boot's @ConversionService annotation simplifies request parameter conversion by automatically transforming string inputs into target types such as dates or numbers, eliminating repetitive manual parsing code, supporting custom converters, and enhancing code maintainability and development efficiency, as demonstrated with practical examples.

Backend DevelopmentConversionServiceJava
0 likes · 6 min read
Using @ConversionService in Spring Boot for Automatic Request Parameter Conversion
Java Tech Enthusiast
Java Tech Enthusiast
May 9, 2025 · Information Security

Understanding and Preventing HTTP Redirect Attacks in Java Applications

After a login module unintentionally redirected users to a gambling site, the author explains how maliciously crafted redirect parameters enable HTTP redirect attacks, demonstrates vulnerable Java code, and outlines three defensive layers—whitelisting, signature verification, and path sanitization—plus five best‑practice tips to prevent such exploits.

HTTP redirectJavaOpen Redirect
0 likes · 7 min read
Understanding and Preventing HTTP Redirect Attacks in Java Applications
Su San Talks Tech
Su San Talks Tech
May 9, 2025 · Backend Development

Master Spring Boot Interceptors: Filters, Handlers, AOP, RestTemplate & Feign

This article explores the hierarchy of Spring Boot interception mechanisms—Filter, HandlerInterceptor, AOP, RestTemplate, Feign, and WebFilter—detailing their typical use cases, implementation code, pitfalls, and best‑practice ordering, while providing practical tips and performance monitoring advice for robust backend development.

AOPInterceptorJava
0 likes · 8 min read
Master Spring Boot Interceptors: Filters, Handlers, AOP, RestTemplate & Feign
Java Captain
Java Captain
May 9, 2025 · Databases

Using H2 Database in Embedded, Server, and Mixed Modes with Java

This article demonstrates how to use the H2 database with Java 1.8, covering embedded (file and memory) modes, server modes (Web, TCP, PG), mixed mode configurations, required dependencies, and provides complete JUnit test code examples for creating, accessing, and managing tables.

DatabaseJDBCJUnit
0 likes · 17 min read
Using H2 Database in Embedded, Server, and Mixed Modes with Java
Top Architecture Tech Stack
Top Architecture Tech Stack
May 9, 2025 · Backend Development

Understanding DTO, BO, PO, and VO in Backend Development

This article explains the concepts of Data Transfer Object (DTO), Business Object (BO), Persistent Object (PO), and Value Object (VO) in backend development, compares their roles, provides Java code examples, and discusses how to configure Spring MVC to filter null fields, while also including promotional content for IDE licenses.

Backend DevelopmentDTOJava
0 likes · 6 min read
Understanding DTO, BO, PO, and VO in Backend Development
Java Architect Essentials
Java Architect Essentials
May 8, 2025 · Backend Development

How @Encrypt Simplifies API Security in SpringBoot

This article explains how the @Encrypt annotation in SpringBoot can automatically handle encryption and decryption of sensitive API parameters, eliminating repetitive manual code, improving maintainability, and allowing custom encryption strategies for real‑world applications.

API SecurityJavaSpringBoot
0 likes · 7 min read
How @Encrypt Simplifies API Security in SpringBoot
Architecture Digest
Architecture Digest
May 8, 2025 · Backend Development

Introducing Maven‑mvnd: A Faster Maven Daemon for Java Builds

The article explains Maven‑mvnd, a daemon‑based Maven variant that eliminates JVM startup overhead, reduces resource consumption, and speeds up single‑ and multi‑module Java builds, while remaining compatible with existing Maven workflows and offering simple installation, configuration, and usage instructions.

Build ToolJavaMaven
0 likes · 6 min read
Introducing Maven‑mvnd: A Faster Maven Daemon for Java Builds
Su San Talks Tech
Su San Talks Tech
May 8, 2025 · Backend Development

Boost Your Java Productivity: Essential Utility Classes You Should Know

This article introduces nine indispensable Java utility classes—including Collections, CollectionUtils, Lists, Objects, StringUtils, BeanUtils, ReflectionUtils, DigestUtils, and HttpStatus—showing how each can simplify common tasks, reduce boilerplate code, and improve development efficiency with clear examples and code snippets.

Apache CommonsCollectionsJava
0 likes · 20 min read
Boost Your Java Productivity: Essential Utility Classes You Should Know