Tagged articles
5000 articles
Page 34 of 50
Su San Talks Tech
Su San Talks Tech
Aug 30, 2024 · Backend Development

Prevent Data Loss in Java Thread Pools When Services Crash

This article explains Java thread pools, their advantages, internal mechanics, common pitfalls such as oversized queues, excessive threads, and data loss on crashes, and presents a persistence‑based solution using database‑stored tasks and scheduled retries to ensure no data is lost when services go down.

Data PersistenceOOM preventionbackend-development
0 likes · 8 min read
Prevent Data Loss in Java Thread Pools When Services Crash
FunTester
FunTester
Aug 30, 2024 · Backend Development

Choosing a Java ORM Framework: Key Factors, Popular Options, and Implementation Steps

This article explains why Java ORM frameworks are essential for simplifying database access, outlines the critical criteria for selecting the right ORM, compares popular choices such as Hibernate, JPA, EclipseLink, and DataNucleus, and provides a step‑by‑step guide for successful implementation.

BackendHibernateORM
0 likes · 14 min read
Choosing a Java ORM Framework: Key Factors, Popular Options, and Implementation Steps
Architecture Digest
Architecture Digest
Aug 29, 2024 · Backend Development

mybatis-mate – Enterprise‑level MyBatis Extension for Sharding, Auditing, Encryption, and Data Permissions

The article introduces mybatis-mate, an enterprise‑grade MyBatis module that supports sharding, multi‑datasource, data auditing, field encryption, sensitive‑data masking, automatic DDL maintenance, performance logging, and fine‑grained data‑scope control, providing code examples and configuration guidelines for Spring Boot projects.

Data Auditingbackend-developmentdata encryption
0 likes · 15 min read
mybatis-mate – Enterprise‑level MyBatis Extension for Sharding, Auditing, Encryption, and Data Permissions
Top Architect
Top Architect
Aug 29, 2024 · Backend Development

Implementing Single Sign-On (SSO) with CAS and Session Management in Java

This article explains traditional session mechanisms, challenges in clustered environments, and presents solutions such as session replication and centralized storage, then details the design and implementation of a CAS-based Single Sign-On system in Java, including code for user forms, controllers, filters, and configuration.

CASSSOSession Management
0 likes · 17 min read
Implementing Single Sign-On (SSO) with CAS and Session Management in Java
Practical DevOps Architecture
Practical DevOps Architecture
Aug 29, 2024 · Backend Development

Comprehensive Java Backend Architecture Course: Spring, SpringBoot, JVM, MySQL, Redis, Microservices, and More

This course provides an in‑depth exploration of the technical challenges faced by Java architects, covering Spring bean lifecycle, AOP, transaction mechanisms, SpringBoot auto‑configuration, JVM memory models, MySQL indexing, Redis caching, microservice patterns, distributed locks, and performance optimization techniques across 99 video modules.

Microservicesjavaspring
0 likes · 8 min read
Comprehensive Java Backend Architecture Course: Spring, SpringBoot, JVM, MySQL, Redis, Microservices, and More
Architecture Digest
Architecture Digest
Aug 28, 2024 · Backend Development

Activiti Workflow Engine: Design, Deployment, and Implementation of a Multi‑Level Approval Process

This article explains how to use the Activiti workflow engine to design a multi‑level leave‑approval process, covering BPMN diagram creation, Spring Boot configuration, deployment, Java code for starting instances, task handling, database schema, API overview, and tips for extending the workflow without additional code.

ActivitiBPMNWorkflow Engine
0 likes · 24 min read
Activiti Workflow Engine: Design, Deployment, and Implementation of a Multi‑Level Approval Process
DaTaobao Tech
DaTaobao Tech
Aug 28, 2024 · Backend Development

Understanding Java Virtual Threads: Principles, Implementation, and Performance

Java virtual threads, introduced in JDK 21, decouple Java threads from OS threads by using continuations and a ForkJoinPool scheduler, allowing millions of cheap, blocking‑friendly threads that boost throughput and simplify concurrent code compared to traditional platform threads or reactive frameworks, as demonstrated by performance benchmarks.

JDK21Virtual Threadsjava
0 likes · 23 min read
Understanding Java Virtual Threads: Principles, Implementation, and Performance
IT Services Circle
IT Services Circle
Aug 28, 2024 · Backend Development

Interview Experience and Technical Guide: HTTP Versions, Java Network Programming, OS I/O, Database Concurrency, Bloom Filter, Reflection, Annotations, and Synchronization

The article shares a graduate's interview experience and provides a comprehensive technical guide covering HTTP/1.x vs HTTP/2 differences, Java socket and HTTP server code, OS I/O buffering vs direct I/O, database concurrency control, Bloom filter principles, Java reflection, annotation usage, and synchronized locking semantics.

HTTPNetwork programmingbloom-filter
0 likes · 21 min read
Interview Experience and Technical Guide: HTTP Versions, Java Network Programming, OS I/O, Database Concurrency, Bloom Filter, Reflection, Annotations, and Synchronization
macrozheng
macrozheng
Aug 28, 2024 · Fundamentals

How Java’s New Null‑Restricted Types Aim to Eradicate NullPointerExceptions

This article explains Java’s preview Null‑Restricted and Nullable type system, showing how the new syntax (Foo! and Foo?) lets developers explicitly declare nullability, improves compile‑time safety, integrates with existing code, and compares the approach to TypeScript’s ! and ? operators.

Preview Featurejavanull safety
0 likes · 7 min read
How Java’s New Null‑Restricted Types Aim to Eradicate NullPointerExceptions
Programmer DD
Programmer DD
Aug 28, 2024 · Backend Development

How to Create Custom Spring Boot Annotations for Automatic Error Logging

Learn how to simplify repetitive error-handling code in Spring Boot by creating a custom @ErrorHandler annotation that leverages Spring AOP to automatically log exceptions, with step-by-step instructions, required dependencies, annotation definition, aspect implementation, and usage examples.

Custom AnnotationError Loggingaop
0 likes · 8 min read
How to Create Custom Spring Boot Annotations for Automatic Error Logging
Su San Talks Tech
Su San Talks Tech
Aug 28, 2024 · Operations

SkyWalking Guide: Setup, Tracing, Logging & Alerts for Distributed Apps

This article walks through SkyWalking, an open‑source APM solution, covering its architecture, server and client installation, configuration for MySQL persistence, log collection, performance profiling, and alerting, while comparing it with Spring Cloud Sleuth + Zipkin and showing practical code examples.

Distributed TracingMicroservicesObservability
0 likes · 15 min read
SkyWalking Guide: Setup, Tracing, Logging & Alerts for Distributed Apps
Top Architect
Top Architect
Aug 27, 2024 · Backend Development

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

This article provides a detailed tutorial on Maven, covering repository configuration, basic project structure, dependency management, module inheritance, unified version control, and common build plugins such as jar, assembly, and shade, with practical XML examples and code snippets for Java backend projects.

ModulesPluginsbackend-development
0 likes · 26 min read
Comprehensive Maven Guide: Basic Configuration, Dependency Management, Module Setup, and Plugin Usage
macrozheng
macrozheng
Aug 27, 2024 · Backend Development

Master Java Logging: Configure Logback & Log4j2 in Spring Boot

This article explains how to use SLF4J as a facade for Logback or Log4j2, shows Maven dependencies, demonstrates logback.xml and logback‑spring.xml configurations, covers Spring Boot's default logging setup, custom log levels, profile‑based settings, and how to switch to Log4j2 for higher performance.

javalog4j2logback
0 likes · 15 min read
Master Java Logging: Configure Logback & Log4j2 in Spring Boot
Top Architecture Tech Stack
Top Architecture Tech Stack
Aug 27, 2024 · Backend Development

Understanding Java's Parent Delegation Model for Class Loaders

The article explains Java's parent delegation model for class loaders, its benefits for stability and security, how to break it by customizing loadClass or using thread‑context class loaders, and illustrates common scenarios such as JNDI, JDBC and Tomcat's own class‑loader hierarchy.

JVMParent DelegationTomcat
0 likes · 10 min read
Understanding Java's Parent Delegation Model for Class Loaders
High Availability Architecture
High Availability Architecture
Aug 27, 2024 · Backend Development

Design and Implementation of a Double‑Write Migration Strategy for the Appointment Service Using a MyBatis Plugin

This article details the background, requirements, and evaluation of migration options for the appointment service, explains why a double‑write approach with a custom MyBatis plugin was chosen, and walks through the full‑sync, incremental sync, code refactoring, plugin implementation, switch‑over procedures, and post‑migration validation to achieve reliable data isolation and system stability.

MySQLdata synchronizationdatabase migration
0 likes · 17 min read
Design and Implementation of a Double‑Write Migration Strategy for the Appointment Service Using a MyBatis Plugin
DeWu Technology
DeWu Technology
Aug 26, 2024 · Fundamentals

Understanding Java's invokedynamic and Lambda Implementation

The article explains how Java’s invokedynamic instruction and LambdaMetafactory create synthetic classes and MethodHandles to implement Lambda expressions, detailing compilation steps, stateless versus stateful handling, performance implications, and the requirement for captured variables to be effectively final.

JVMLambdaMethodHandle
0 likes · 16 min read
Understanding Java's invokedynamic and Lambda Implementation
Code Ape Tech Column
Code Ape Tech Column
Aug 26, 2024 · Backend Development

Handling Exceptions in Java ThreadPool: submit vs execute and Custom Solutions

This article explains why exceptions thrown by tasks submitted to a Java thread pool behave differently with submit and execute, demonstrates how to capture those exceptions using Future.get, try‑catch, Thread.setDefaultUncaughtExceptionHandler, and by overriding afterExecute, and provides complete code examples for each approach.

ExecutorServiceThreadPoolconcurrency
0 likes · 13 min read
Handling Exceptions in Java ThreadPool: submit vs execute and Custom Solutions
Top Architect
Top Architect
Aug 25, 2024 · Backend Development

Integrating Spring Boot with XXL‑Job for Distributed Task Scheduling

This article provides a comprehensive guide on integrating Spring Boot with the open‑source distributed scheduler XXL‑Job, covering installation, configuration of the admin console and executor, code examples, parameter details, comparison with other schedulers, and best practices for reliable task management.

Distributed SystemsXXL-JOBjava
0 likes · 17 min read
Integrating Spring Boot with XXL‑Job for Distributed Task Scheduling
Top Architect
Top Architect
Aug 25, 2024 · Information Security

RBAC Permission Analysis and Spring Security Integration with JWT

This article explains the concepts of role‑based access control (RBAC), compares RBAC models, shows how to configure permissions and user groups, and provides step‑by‑step code examples for integrating Spring Security with JWT, JSON login, password encryption and database authentication in Java backend applications.

JWTRBACaccess control
0 likes · 20 min read
RBAC Permission Analysis and Spring Security Integration with JWT
Architecture Digest
Architecture Digest
Aug 25, 2024 · Backend Development

Lock4j Distributed Lock Component: Features, Configuration, and Usage Guide

Lock4j is a Java distributed lock library supporting Spring AOP, RedisTemplate, Redisson, and Zookeeper, offering simple usage, configurable properties, annotation-driven locking, custom executors, key generators, and failure strategies, with detailed setup, code examples, and advanced customization instructions.

backend-developmentdistributed-lockjava
0 likes · 6 min read
Lock4j Distributed Lock Component: Features, Configuration, and Usage Guide
Selected Java Interview Questions
Selected Java Interview Questions
Aug 25, 2024 · Backend Development

Understanding Nacos Configuration Center Long‑Polling Mechanism and Its Implementation

This article explains the principles and source‑code flow of Nacos configuration center’s long‑polling mechanism, detailing how the client initiates periodic tasks, how the server processes listener requests, and how configuration changes are detected and propagated through various internal classes and threads.

BackendConfiguration CenterNacos
0 likes · 10 min read
Understanding Nacos Configuration Center Long‑Polling Mechanism and Its Implementation
Architect's Guide
Architect's Guide
Aug 25, 2024 · Backend Development

Eight Ways to Implement Asynchronous Execution in Java

This article introduces eight common Java asynchronous implementation techniques—including raw threads, Future, CompletableFuture, Spring @Async, ApplicationEvent, message queues, third‑party utilities like Hutool ThreadUtil and Guava ListenableFuture—explaining their usage, code examples, advantages, and drawbacks for improving performance in scenarios such as sending SMS or emails.

CompletableFutureFutureGuava
0 likes · 14 min read
Eight Ways to Implement Asynchronous Execution in Java
DaTaobao Tech
DaTaobao Tech
Aug 23, 2024 · Fundamentals

Common Java Pitfalls and Their Solutions

The article outlines frequent Java pitfalls—including BigDecimal precision loss, immutable lists from Arrays.asList, double division by zero returning Infinity, null values in switch statements, stream filters mutating original objects, and autoboxing nulls causing NullPointerExceptions—and provides clear explanations and practical fixes to enhance code reliability.

Arrays.asListAutoboxingBigDecimal
0 likes · 5 min read
Common Java Pitfalls and Their Solutions
Zhuanzhuan Tech
Zhuanzhuan Tech
Aug 23, 2024 · Backend Development

Upgrading to JDK 21 and Adopting Generational ZGC: Motivation, Design, Implementation, Monitoring, and Performance Evaluation

This article explains why the backend services were upgraded from JDK 8 to JDK 21, introduces the generational ZGC garbage collector, details its architecture, tuning parameters, integration steps, monitoring setup, and presents performance test results that demonstrate reduced allocation stalls, lower latency, higher throughput, and near‑zero GC pauses.

BackendGarbage CollectionGenerational ZGC
0 likes · 20 min read
Upgrading to JDK 21 and Adopting Generational ZGC: Motivation, Design, Implementation, Monitoring, and Performance Evaluation
Architecture Digest
Architecture Digest
Aug 23, 2024 · Backend Development

Using ArthasHotSwap for Fast Hot Updates in Java Backend Development

This article introduces the ArthasHotSwap plugin, explains why hot‑updating a few Java classes in a test environment can save minutes compared to full redeployment, and provides step‑by‑step instructions—including downloading, compiling, uploading bytecode to OSS, and applying the changes on the server—complete with code snippets and screenshots.

ArthasHotSwapDevOpsHotSwap
0 likes · 3 min read
Using ArthasHotSwap for Fast Hot Updates in Java Backend Development
macrozheng
macrozheng
Aug 23, 2024 · Backend Development

Validate JSON in Spring Boot with JSON Schema: Step‑by‑Step Guide

This article explains how to integrate JSON Schema validation into a Spring Boot application, covering dependency setup, schema definition, bean configuration, service implementation, controller exposure, and testing with curl to ensure JSON payloads conform to the defined rules.

APIBackendJSON Schema
0 likes · 7 min read
Validate JSON in Spring Boot with JSON Schema: Step‑by‑Step Guide
Java Backend Technology
Java Backend Technology
Aug 23, 2024 · Backend Development

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

This article explains why API debounce is essential, identifies the types of endpoints that need it, and provides two distributed solutions—shared Redis cache and Redisson lock—along with complete Java code examples and deployment tips for preventing duplicate submissions in a Spring Boot backend.

API idempotencyDebouncedistributed-lock
0 likes · 16 min read
How to Implement Distributed API Debounce with Redis and Redisson in Java
IT Xianyu
IT Xianyu
Aug 23, 2024 · Backend Development

Using Java Virtual Threads in Spring Boot: Configuration and Performance Comparison

The article explains Java's virtual threads introduced in Java 19, compares them with traditional threads, and demonstrates how to configure Spring Boot to use virtual threads, including code samples and performance benchmarks that show dramatic latency reductions in both async services and HTTP requests.

Virtual Threadsjavaspring-boot
0 likes · 6 min read
Using Java Virtual Threads in Spring Boot: Configuration and Performance Comparison
Eric Tech Circle
Eric Tech Circle
Aug 22, 2024 · Backend Development

Mastering Asynchronous Batch Processing with JDK 21 Virtual Threads

Using JDK 21’s standardized Virtual Threads, this guide explains how to design and implement robust asynchronous batch processing, covering common pitfalls like CPU spikes and OOM, best‑practice concurrency controls, task queue architecture, and practical code illustrations.

AsynchronousProcessingBackendBatchProcessing
0 likes · 6 min read
Mastering Asynchronous Batch Processing with JDK 21 Virtual Threads
Top Architect
Top Architect
Aug 22, 2024 · Backend Development

Implementing a Generic Tree Conversion Utility in Java

This article explains how to design a flexible TreeNode interface and a TreeUtil class in Java that convert flat collections into hierarchical tree structures, provides multiple static methods for object and JSON tree generation, and discusses optimization techniques for large data sets.

Data StructuresTree Structuregeneric
0 likes · 10 min read
Implementing a Generic Tree Conversion Utility in Java
Java Tech Enthusiast
Java Tech Enthusiast
Aug 22, 2024 · Fundamentals

Using PowerMock for Unit Testing in Java: Basics and Advanced Techniques

The article demonstrates how PowerMock can be used to unit‑test a Java FileParser class—showing basic mocks for files and streams, advanced techniques for final and static classes, and achieving full coverage—while warning that its heavy class‑loader overhead can dramatically slow large test suites and increase memory consumption.

JUnitMockingPowerMock
0 likes · 10 min read
Using PowerMock for Unit Testing in Java: Basics and Advanced Techniques
21CTO
21CTO
Aug 22, 2024 · Artificial Intelligence

Best Programming Languages for AI: Python, R, Java, LISP & More

This article surveys the most suitable programming languages for artificial intelligence, detailing why Python, R, Java, LISP, Prolog, C++, Haskell, JavaScript, and Julia each excel in AI development, and provides practical FAQs for developers choosing the right language.

AIPythonR
0 likes · 15 min read
Best Programming Languages for AI: Python, R, Java, LISP & More
macrozheng
macrozheng
Aug 22, 2024 · Backend Development

Edit JAR Files Directly in IDEA with the JarEditor Plugin

This article introduces JarEditor, an open‑source IDEA plugin that lets Java developers modify classes and resources inside JAR files without extracting them, explains its main features, shows how to install and use it, and concludes with a brief recommendation.

IDEA PluginJAR editingJarEditor
0 likes · 5 min read
Edit JAR Files Directly in IDEA with the JarEditor Plugin
Su San Talks Tech
Su San Talks Tech
Aug 22, 2024 · Backend Development

Why AviatorScript Is the Lightweight JVM Rule Engine You Need

This article introduces AviatorScript, a high‑performance, lightweight JVM‑based scripting language, covering its origins, key features, quick‑start setup, core syntax for numbers, strings, booleans, control flow, functions, and real‑world use cases such as client version control, marketing rules, and order risk management.

AviatorScriptJVMScripting Language
0 likes · 19 min read
Why AviatorScript Is the Lightweight JVM Rule Engine You Need
Sohu Tech Products
Sohu Tech Products
Aug 21, 2024 · Operations

Step-by-Step Guide: Integrating OpenTelemetry Tracing in Java and Go Projects

This tutorial walks through setting up OpenTelemetry tracing from scratch for both Java and Go microservices, covering collector and Jaeger deployment, required dependencies, configuration parameters, code examples for automatic and manual instrumentation, and how to add custom span attributes and spans.

Distributed TracingGoObservability
0 likes · 15 min read
Step-by-Step Guide: Integrating OpenTelemetry Tracing in Java and Go Projects
Sohu Tech Products
Sohu Tech Products
Aug 21, 2024 · Operations

Building Dynamic Grafana Dashboards for Push System Monitoring

By instrumenting each node of ZuanZuan’s push system with a Prometheus counter labeled by node name and traceId, and visualizing these metrics in a Grafana Flowcharting dashboard that dynamically highlights the trace path, developers can instantly pinpoint failures, cutting troubleshooting time from minutes to near‑zero.

Dynamic DashboardGrafanaPrometheus
0 likes · 11 min read
Building Dynamic Grafana Dashboards for Push System Monitoring
Top Architect
Top Architect
Aug 21, 2024 · Backend Development

Handling Redis Cache Penetration, Avalanche, and Breakdown in High‑Concurrency Scenarios

This article explains the four common Redis cache pitfalls—cache penetration, avalanche, breakdown, and data inconsistency—demonstrates how they can crash high‑traffic systems, and provides practical Java/Spring Boot solutions such as empty‑object caching, Bloom filters, distributed locks, and delayed double‑delete strategies.

Data Consistencybloom-filtercache-avalanche
0 likes · 27 min read
Handling Redis Cache Penetration, Avalanche, and Breakdown in High‑Concurrency Scenarios
Top Architect
Top Architect
Aug 21, 2024 · Backend Development

Designing a Unified API Response Structure with Custom Annotations and Interceptors

This article explains how to design a clean, unified API response format for backend services by defining a standard JSON wrapper, categorizing status codes, adding descriptive messages, and using custom @ResponseResult annotations together with interceptors and controller advice to automatically wrap and handle responses in a Spring‑based application.

APIResponse wrapperannotations
0 likes · 9 min read
Designing a Unified API Response Structure with Custom Annotations and Interceptors
Java Tech Enthusiast
Java Tech Enthusiast
Aug 21, 2024 · Backend Development

Common Configuration and Code Issues in a New Java Backend Project

On his first day the new Java backend developer discovered duplicated internal and external configuration files causing NullPointerExceptions, hard‑coded role strings, mixed System.out and logger calls, missing manager review leading to DB mismatches, arbitrary production database edits, and Maven pom‑type dependency errors, prompting a shift to unified application.yml settings, JVM‑specified config locations, consistent logging, and stricter coding standards.

backend-developmentconfigurationjava
0 likes · 5 min read
Common Configuration and Code Issues in a New Java Backend Project
Bin's Tech Cabin
Bin's Tech Cabin
Aug 20, 2024 · Backend Development

How Netty’s ByteBuf Reference Counting Evolved: From Simple Counters to Parity‑Based Concurrency Safety

This article examines Netty 4.1.x’s ByteBuf reference‑counting mechanism, explains why reference counting was introduced, traces its original design, shows instruction‑level optimizations, reveals concurrency bugs in version 4.1.17, and details the clever even‑odd redesign that guarantees thread‑safe memory release while preserving high performance.

ByteBufNettyconcurrency
0 likes · 34 min read
How Netty’s ByteBuf Reference Counting Evolved: From Simple Counters to Parity‑Based Concurrency Safety
Architect
Architect
Aug 19, 2024 · Backend Development

Applying the Chain of Responsibility Pattern for Product Validation and Workflow Management

This article explains the Chain of Responsibility design pattern, demonstrates its use in multi‑step product validation and expense‑approval workflows with concrete Java examples, shows how to configure and assemble handlers dynamically, and discusses the pattern's advantages and drawbacks.

Chain of Responsibilitybackend-developmentdesign pattern
0 likes · 19 min read
Applying the Chain of Responsibility Pattern for Product Validation and Workflow Management
Top Architect
Top Architect
Aug 19, 2024 · Backend Development

Using Java 8 Stream API for Collection Processing

This article introduces Java 8's Stream API, explains its functional style for handling collections, demonstrates common operations such as filter, map, sorted, forEach, collect, statistics, and parallelStream with concrete POJO examples, and provides a complete runnable code sample.

CollectionsLambdaStream API
0 likes · 10 min read
Using Java 8 Stream API for Collection Processing
Top Architect
Top Architect
Aug 19, 2024 · Backend Development

Using Spring TransactionSynchronizationManager for Transaction Hooks and Asynchronous Kafka Messaging

This article explains how to leverage Spring's TransactionSynchronizationManager to detect active transactions, register synchronization callbacks, and asynchronously send Kafka messages after transaction commit, providing a starter library design for Java backend services that need reliable transaction‑aware messaging.

AsynchronousTransactionSynchronizationManagerjava
0 likes · 12 min read
Using Spring TransactionSynchronizationManager for Transaction Hooks and Asynchronous Kafka Messaging
Architecture Digest
Architecture Digest
Aug 19, 2024 · Backend Development

Java 8 Functional Interfaces: Simplifying Conditional Logic with Function, Supplier, Consumer, and Runnable

This article explains how Java 8 functional interfaces such as Function, Supplier, Consumer, and Runnable can replace repetitive if‑else statements, providing code examples for exception handling, branch processing, and present‑or‑else logic to improve readability and maintainability in backend development.

Exception HandlingFunctionalInterfaceLambda
0 likes · 6 min read
Java 8 Functional Interfaces: Simplifying Conditional Logic with Function, Supplier, Consumer, and Runnable
Architect's Guide
Architect's Guide
Aug 19, 2024 · Fundamentals

Applying the Strategy Pattern with Simple Factory in a Java Backend Service

This article explains how to use the Strategy pattern combined with a simple factory in a Spring‑based Java backend, showing interface definition, multiple arithmetic strategy implementations, a factory that registers them in a map, a service that selects a strategy at runtime, and a REST controller for testing.

BackendFactoryStrategy Pattern
0 likes · 6 min read
Applying the Strategy Pattern with Simple Factory in a Java Backend Service
Su San Talks Tech
Su San Talks Tech
Aug 19, 2024 · Information Security

Mastering RBAC with Spring Security and JWT: A Complete Guide

This tutorial walks through RBAC fundamentals, model classifications (RBAC0‑3), permission and user‑group concepts, then demonstrates practical Spring Security setups including in‑memory authentication, JWT integration, JSON‑based login, password encryption with BCrypt, and database‑backed authentication, providing complete code examples.

AuthenticationAuthorizationJWT
0 likes · 19 min read
Mastering RBAC with Spring Security and JWT: A Complete Guide
Architect's Journey
Architect's Journey
Aug 19, 2024 · Backend Development

Flexible Multi-MQ Component Update: Switch Between RocketMQ, Redis, Kafka, and RabbitMQ

The article explains why adopting a message‑queue improves microservice decoupling and responsibility boundaries, then details the design of a pluggable Base‑MQ component—including @MQEventListener, MQEvent base class, configuration, and MQClient interface—followed by concrete implementations for RocketMQ, Kafka, Redis and RabbitMQ, an example event flow, and guidance for extending the framework.

KafkaMessage QueueMicroservices
0 likes · 27 min read
Flexible Multi-MQ Component Update: Switch Between RocketMQ, Redis, Kafka, and RabbitMQ
Java Architect Essentials
Java Architect Essentials
Aug 18, 2024 · Backend Development

Why Fastjson’s Date Formatting Breaks on Linux and How to Resolve It

The author recounts switching from Gson to Fastjson, encountering a date‑formatting bug that only appears on Linux due to an outdated Fastjson version, explores a circular‑reference $ref issue, and shares debugging steps, GitHub issue references, and practical fixes for reliable JSON serialization.

BackendVersion Compatibilitydebugging
0 likes · 12 min read
Why Fastjson’s Date Formatting Breaks on Linux and How to Resolve It
Architecture Digest
Architecture Digest
Aug 18, 2024 · Backend Development

Zero‑Downtime SpringBoot Port Sharing: Design and Implementation

This article explains how to achieve seamless code updates for SpringBoot applications by allowing two processes to share the same port, detailing the underlying servlet container mechanics, the role of DispatcherServlet, and providing a complete Java implementation with step‑by‑step instructions and code samples.

BackendPortSharingSpringBoot
0 likes · 8 min read
Zero‑Downtime SpringBoot Port Sharing: Design and Implementation
Su San Talks Tech
Su San Talks Tech
Aug 18, 2024 · Big Data

How to Crush the One Billion Row Java Challenge: From 14 Minutes to Sub‑2‑Second Runtime

This article walks through the One Billion Row Challenge, explaining the problem, baseline solution, and a series of performance optimizations—from JVM selection and parallel I/O to custom hash tables, unsafe memory access, and SIMD techniques—that shrink execution time from minutes to under two seconds.

Big DataOne Billion Row Challengejava
0 likes · 20 min read
How to Crush the One Billion Row Java Challenge: From 14 Minutes to Sub‑2‑Second Runtime
Architect's Guide
Architect's Guide
Aug 18, 2024 · Backend Development

Why HikariCP Is So Fast: An In‑Depth Look at Its Design and Implementation

This article explains the core concepts of connection‑pool technology, details the architectural choices behind HikariCP such as dual HikariPool instances, FastList, custom ConcurrentBag, ThreadLocal caching, and byte‑code generation, and walks through the key source code that makes the pool exceptionally fast.

Connection PoolHikariCPJDBC
0 likes · 15 min read
Why HikariCP Is So Fast: An In‑Depth Look at Its Design and Implementation
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 16, 2024 · Backend Development

Understanding IOC vs Dependency Injection in Spring: Key Differences Explained

This article clarifies how Inversion of Control (IoC) serves as a design pattern that hands control to an external container, while Dependency Injection (DI) is a concrete IoC implementation that automatically supplies required objects, detailing their definitions, purposes, implementations, and typical usage scenarios.

Inversion of Controlbackend-developmentdependency-injection
0 likes · 4 min read
Understanding IOC vs Dependency Injection in Spring: Key Differences Explained
Code Ape Tech Column
Code Ape Tech Column
Aug 16, 2024 · Backend Development

Using Java 8 Functional Interfaces to Replace if…else Statements

This article demonstrates how Java 8’s functional interfaces—such as Supplier, Consumer, Runnable, and Function—can replace repetitive if‑else statements for exception handling and branch logic, providing clear code examples, custom interfaces, and utility methods to simplify backend development.

BackendException HandlingFunctional Interface
0 likes · 9 min read
Using Java 8 Functional Interfaces to Replace if…else Statements
21CTO
21CTO
Aug 15, 2024 · Backend Development

What’s New in JDK 23? A Deep Dive into Upcoming Java Features

JDK 23, the next non‑LTS release of the Java platform slated for September 17, introduces a suite of preview features—including scoped values, structured concurrency, flexible constructor bodies, implicit class and instance methods, module import declarations, Markdown Javadoc, vector API enhancements, and a default generational ZGC mode—while deprecating sun.misc.Unsafe memory‑access methods.

JDK 23Scoped Valuesjava
0 likes · 11 min read
What’s New in JDK 23? A Deep Dive into Upcoming Java Features
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 15, 2024 · Backend Development

Understanding Java ConcurrentHashMap: Principles, Implementation, and Usage

This article provides a comprehensive overview of Java's ConcurrentHashMap, explaining its purpose, underlying lock‑segmentation and CAS mechanisms in JDK 7 and JDK 8, demonstrating usage with sample code, and outlining scenarios where it delivers high‑performance thread‑safe map operations.

ConcurrentHashMapData Structuresbackend-development
0 likes · 6 min read
Understanding Java ConcurrentHashMap: Principles, Implementation, and Usage
Code Ape Tech Column
Code Ape Tech Column
Aug 15, 2024 · Backend Development

Comprehensive Guide to TreeUtil: Building, Traversing, Flattening, and Sorting Tree Structures in Java

This article presents a detailed walkthrough of the TreeUtil class, demonstrating how to construct hierarchical tree structures from flat lists, define tree nodes in Java, perform generic and functional implementations of makeTree, traverse trees using pre‑order, level‑order and post‑order methods, flatten trees back to lists, and sort tree nodes recursively, all illustrated with complete code examples.

DataStructureFlattenSorting
0 likes · 16 min read
Comprehensive Guide to TreeUtil: Building, Traversing, Flattening, and Sorting Tree Structures in Java
vivo Internet Technology
vivo Internet Technology
Aug 14, 2024 · Backend Development

Understanding Disruptor: High‑Performance In‑Memory Queue, Core Concepts, Demo, and Source Code Analysis

The article explains the Disruptor—an intra‑process, lock‑free, array‑based queue that achieves millions of operations per second—by covering its core concepts, demo code, source‑code mechanics, performance optimizations such as pre‑allocation and false‑sharing avoidance, and real‑world Vivo iTheme applications with best‑practice tips.

DisruptorProducer ConsumerRing Buffer
0 likes · 29 min read
Understanding Disruptor: High‑Performance In‑Memory Queue, Core Concepts, Demo, and Source Code Analysis
Java Tech Enthusiast
Java Tech Enthusiast
Aug 14, 2024 · Backend Development

Customizing JSON Serialization and Deserialization in Spring Boot

In Spring Boot you can customize JSON request and response handling by annotating fields with @JsonSerialize/@JsonDeserialize, registering a global ObjectMapper module, adding a PropertyEditor via @ControllerAdvice, creating a custom HttpMessageConverter, or using AOP interception, selecting the approach that matches your project’s complexity.

DeserializationJSONJackson
0 likes · 7 min read
Customizing JSON Serialization and Deserialization in Spring Boot
Selected Java Interview Questions
Selected Java Interview Questions
Aug 14, 2024 · Backend Development

Introducing LiteFlow: A Lightweight Java Rule Engine for Complex Workflow Orchestration

This article explains how the LiteFlow rule engine enables Java developers to define, configure, and execute complex serial and parallel business workflows using XML/JSON/YAML rule files, various node components, data contexts, and runtime parameters, with hot‑deployment and integration examples for Spring Boot projects.

LiteFlowbackend-developmentjava
0 likes · 9 min read
Introducing LiteFlow: A Lightweight Java Rule Engine for Complex Workflow Orchestration
macrozheng
macrozheng
Aug 14, 2024 · Backend Development

When to Put try‑catch Inside or Outside a for Loop? Practical Insights

This article explains the different effects of placing a try‑catch block inside versus outside a for loop in Java, covering usage scenarios, performance impact, memory consumption, and practical recommendations for choosing the appropriate approach during development.

Exception Handlingbackend-developmentfor loop
0 likes · 6 min read
When to Put try‑catch Inside or Outside a for Loop? Practical Insights
Architect's Guide
Architect's Guide
Aug 14, 2024 · Backend Development

Key Considerations and Best Practices for Using Spring Event in Production

This article explains critical pitfalls, proper shutdown handling, event loss during startup, suitable business scenarios, reliability guarantees, and best‑practice patterns for employing Spring Event in high‑traffic backend systems, providing concrete code examples and operational recommendations.

BackendEventMicroservices
0 likes · 11 min read
Key Considerations and Best Practices for Using Spring Event in Production
FunTester
FunTester
Aug 14, 2024 · Backend Development

Mastering Java Agents: Build, Package, and Deploy Runtime Instrumentation

This guide explains what Java Agents are, their core capabilities such as bytecode enhancement, performance monitoring, security checks, and debugging, and provides step‑by‑step instructions for implementing the premain method, creating a ClassFileTransformer, packaging the agent with Maven, and loading it both statically and dynamically.

InstrumentationJava Agentbytecode
0 likes · 10 min read
Mastering Java Agents: Build, Package, and Deploy Runtime Instrumentation
Senior Tony
Senior Tony
Aug 13, 2024 · Fundamentals

How to Refactor Course Display Logic with the Decorator Pattern in Java

This article demonstrates how to identify long‑method and duplicated code smells in a Java curriculum‑display service and refactor the implementation using the Decorator pattern, providing clear component diagrams, full code examples, and a runnable demo that showcases flexible extensions for different course types.

Bad SmellDecorator PatternDesign Patterns
0 likes · 11 min read
How to Refactor Course Display Logic with the Decorator Pattern in Java
Code Ape Tech Column
Code Ape Tech Column
Aug 13, 2024 · Backend Development

Hutool 6.0 Upgrade: Package Renaming, Refactoring, and Compatibility Changes

The article explains the major changes in Hutool 6.0, including the shift of package names to org.dromara.hutool, extensive refactoring of utilities and the HTTP module, performance optimizations, and provides migration guidance and recommendations for developers considering the upgrade.

CompatibilityPackage RenamingVersion Upgrade
0 likes · 10 min read
Hutool 6.0 Upgrade: Package Renaming, Refactoring, and Compatibility Changes
Java Architect Essentials
Java Architect Essentials
Aug 12, 2024 · Backend Development

Implementing Gray (Canary) Release with Spring Cloud Gateway, Nacos and Ribbon

This article explains the concept of gray (canary) release, details the required Spring Boot, Spring Cloud and Nacos versions, describes core components such as Nacos, Spring Cloud Gateway, Ribbon and OpenFeign, and provides a complete code‑first implementation with filters, interceptors, custom load‑balancer rules and deployment instructions for demonstrating gray release scenarios.

NacosRibbonSpring Cloud
0 likes · 17 min read
Implementing Gray (Canary) Release with Spring Cloud Gateway, Nacos and Ribbon
Architect
Architect
Aug 12, 2024 · Backend Development

How to Run Two SpringBoot Instances on the Same Port Seamlessly

When updating a SpringBoot application the old process must be stopped because the new one cannot bind to the same port, but by leveraging Tomcat's embedded container, ServletWebServerFactory, and dynamic port handling you can keep both processes alive and achieve zero‑downtime deployments.

Port SharingSpringBootTomcat
0 likes · 9 min read
How to Run Two SpringBoot Instances on the Same Port Seamlessly
Top Architect
Top Architect
Aug 12, 2024 · Backend Development

Why Field Injection Is Discouraged in Spring and Preferred Alternatives

The article explains that Spring no longer recommends @Autowired field injection, describes constructor‑based, setter‑based, and field‑based dependency injection types, illustrates each with code examples, and outlines the drawbacks of field injection such as immutability issues, SRP violations, and tight coupling to the container.

Constructor InjectionField InjectionSetter Injection
0 likes · 11 min read
Why Field Injection Is Discouraged in Spring and Preferred Alternatives
Selected Java Interview Questions
Selected Java Interview Questions
Aug 12, 2024 · Backend Development

Troubleshooting High Java Memory Usage in Spring Boot Microservices

This article documents a production incident where multiple Spring Boot services each consumed around 12 GB of memory, explains how to diagnose the issue using jps and jmap, details default JVM heap size calculations, and provides recommendations for configuring JVM parameters to prevent excessive memory usage.

JVMMemory Managementbackend-development
0 likes · 7 min read
Troubleshooting High Java Memory Usage in Spring Boot Microservices
Architect's Guide
Architect's Guide
Aug 12, 2024 · Information Security

Implementing Single Sign-On (SSO) with CAS and Session Management in Distributed Backend Systems

This article explains the challenges of multiple product logins, reviews traditional session mechanisms, discusses session sharing solutions in clustered environments, and presents a CAS‑based single sign‑on implementation with Java code examples, highlighting differences between CAS and OAuth2 for secure authentication.

BackendCASSSO
0 likes · 13 min read
Implementing Single Sign-On (SSO) with CAS and Session Management in Distributed Backend Systems
Eric Tech Circle
Eric Tech Circle
Aug 11, 2024 · Backend Development

Reshaping a Microservice with DDD: A Practical Layered Architecture Guide

This article shares the author's experience of redesigning a microservice using Domain‑Driven Design, detailing a standardized layered architecture, directory structure, model conversions, common pitfalls, and practical recommendations to improve code clarity and testing efficiency.

DDDDomain-Driven DesignMicroservices
0 likes · 13 min read
Reshaping a Microservice with DDD: A Practical Layered Architecture Guide
Top Architect
Top Architect
Aug 11, 2024 · Information Security

Deep Dive into Spring Security Architecture and Implementation Principles

This article provides an in‑depth analysis of Spring Security 6.x architecture, explaining its filter‑chain design, authentication and authorization mechanisms, key components such as DelegatingFilterProxy, FilterChainProxy, SecurityFilterChain, and offers code examples and practical guidance for developers.

AuthenticationAuthorizationInformation Security
0 likes · 31 min read
Deep Dive into Spring Security Architecture and Implementation Principles