Tagged articles
5000 articles
Page 22 of 50
JD Tech Talk
JD Tech Talk
Apr 10, 2025 · Backend Development

Proper RPC Interface Design: Avoiding Result Wrappers and Using Exceptions

The article explains why designing RPC interfaces with generic Result objects that contain errorCode, errorMessage and data defeats RPC's purpose, and demonstrates how returning plain business objects and leveraging Java exceptions leads to cleaner, more maintainable backend code.

BackendException HandlingJava
0 likes · 8 min read
Proper RPC Interface Design: Avoiding Result Wrappers and Using Exceptions
JD Cloud Developers
JD Cloud Developers
Apr 10, 2025 · Backend Development

Why Your RPC Interfaces Should Avoid HTTP‑Style Responses

This article explains why designing RPC (JSF) interfaces to return HTTP‑like result objects with errorCode, errorMessage, and data defeats the purpose of RPC, and it offers concrete guidelines and Java examples for building clean, exception‑driven RPC APIs.

Exception HandlingJavaRPC
0 likes · 10 min read
Why Your RPC Interfaces Should Avoid HTTP‑Style Responses
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
Apr 10, 2025 · Backend Development

Hands‑On Guide: Build Your Own Code Generator (Can You Keep Up?)

This article walks through why repetitive CRUD code wastes development time, reviews existing generators like MyBatis‑Generator and MyBatis‑Plus, and then demonstrates step‑by‑step how to create a custom Java code generator using Freemarker, Maven, and SpringBoot, complete with template and demo code.

FreemarkerJavaMyBatis
0 likes · 11 min read
Hands‑On Guide: Build Your Own Code Generator (Can You Keep Up?)
dbaplus Community
dbaplus Community
Apr 9, 2025 · Backend Development

How DDD and Hexagonal Architecture Revamp Huolala’s CRM System

This article explores how Domain‑Driven Design and hexagonal (clean) architecture were applied to Huolala’s user CRM, detailing the tactical design patterns, module breakdown, code examples, and the step‑by‑step migration that improved scalability, maintainability, and development efficiency.

DDDDomain-Driven DesignHexagonal Architecture
0 likes · 43 min read
How DDD and Hexagonal Architecture Revamp Huolala’s CRM System
Top Architect
Top Architect
Apr 9, 2025 · Backend Development

Spring Utility Classes Overview: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AOP Utilities

This article provides a comprehensive guide to Spring's built‑in utility classes—including Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AopUtils—showing their purpose, typical usage patterns, and example method signatures for developers working on Java backend projects.

AOPJavaReflection
0 likes · 17 min read
Spring Utility Classes Overview: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AOP Utilities
Java Captain
Java Captain
Apr 9, 2025 · Backend Development

Implementing Dynamic MySQL Master‑Slave Data Source Switching in SpringBoot with AOP and Custom Annotations

This tutorial explains how to use SpringBoot, AOP, and a custom @DataSource annotation to dynamically switch between MySQL master and slave databases—covering configuration, code implementation, multiple slave handling, and an Oracle example—to ensure high availability and flexible data source management.

AOPJavaMaster‑Slave
0 likes · 13 min read
Implementing Dynamic MySQL Master‑Slave Data Source Switching in SpringBoot with AOP and Custom Annotations
Code Ape Tech Column
Code Ape Tech Column
Apr 9, 2025 · Backend Development

Using @JsonView in Spring to Control JSON Serialization of Fields

This article explains how the Jackson @JsonView annotation can be used in Spring back‑end projects to selectively serialize object fields, reduce bandwidth, improve security, and handle nested associations by defining view interfaces and applying them on entity fields and controller methods.

BackendJacksonJava
0 likes · 8 min read
Using @JsonView in Spring to Control JSON Serialization of Fields
IT Services Circle
IT Services Circle
Apr 9, 2025 · Backend Development

Practical Guide to Rate Limiting: Algorithms, Implementation, and Production Cases

This article explains the fundamentals and practical implementations of common rate‑limiting algorithms—including fixed‑window, sliding‑window, leaky‑bucket, and token‑bucket—provides Java and Redis code samples, discusses their advantages, pitfalls, and real‑world production scenarios, and offers performance‑tuning tips.

Distributed SystemsJavaRate Limiting
0 likes · 10 min read
Practical Guide to Rate Limiting: Algorithms, Implementation, and Production Cases
Su San Talks Tech
Su San Talks Tech
Apr 9, 2025 · Backend Development

Avoid These 7 Common Java Stream Mistakes for Cleaner, Faster Code

Learn the seven most frequent Java Stream pitfalls—from missing terminal operations and modifying source data to overusing intermediate steps and thread‑safety issues—and discover practical fixes that ensure your streams execute correctly, efficiently, and safely.

JavaStream APIcommon mistakes
0 likes · 11 min read
Avoid These 7 Common Java Stream Mistakes for Cleaner, Faster Code
FunTester
FunTester
Apr 9, 2025 · Backend Development

Understanding Future and CompletableFuture in Java for Asynchronous Programming

This article explains the concepts, differences, and practical usage of Java's Future and CompletableFuture for asynchronous programming, highlighting their blocking behavior, task composition, exception handling, and suitable scenarios in performance testing and complex test workflows, with detailed code examples.

CompletableFutureFutureJava
0 likes · 14 min read
Understanding Future and CompletableFuture in Java for Asynchronous Programming
Code Ape Tech Column
Code Ape Tech Column
Apr 8, 2025 · Backend Development

Spring Integration: Core Concepts, Configuration, and Practical Use Cases

This article introduces Spring Integration, explains its fundamental concepts such as messages, channels, endpoints, adapters, filters and transformers, compares it with traditional middleware, and provides detailed XML and Java configuration examples, design‑pattern guidance, interceptor usage, and a complete order‑processing implementation.

JavaMessage ChannelsMessage Routing
0 likes · 18 min read
Spring Integration: Core Concepts, Configuration, and Practical Use Cases
JD Tech Talk
JD Tech Talk
Apr 8, 2025 · Fundamentals

Performance Comparison of String Replacement Algorithms in Java

The article analyzes various Java string‑replacement techniques—including simple String.replace, compiled regular expressions, Aho‑Corasick automaton, and custom Trie implementations—by presenting their designs, object sizes, and benchmark results to guide developers in choosing the most efficient solution for large keyword sets.

Aho-CorasickJavaTrie
0 likes · 13 min read
Performance Comparison of String Replacement Algorithms in Java
Top Architect
Top Architect
Apr 7, 2025 · Backend Development

Integrating Spring Boot Services with Model Context Protocol (MCP) for AI‑Driven Book Management

This article demonstrates how to convert a traditional Spring Boot book‑management service into an AI‑enabled MCP server, covering dependency setup, entity definition, tool annotations, MCP configuration, chat client integration, data initialization, and testing, with complete code examples.

AI IntegrationBackend DevelopmentChatClient
0 likes · 17 min read
Integrating Spring Boot Services with Model Context Protocol (MCP) for AI‑Driven Book Management
macrozheng
macrozheng
Apr 7, 2025 · Big Data

How to Deduplicate 4 Billion QQ Numbers Using a Bitmap Under 1 GB

This article explains how to efficiently remove duplicates from 4 billion QQ numbers within a 1 GB memory limit by replacing the naïve HashSet approach with a memory‑saving Bitmap data structure, complete with calculations, algorithm steps, Java code, and a discussion of its pros and cons.

DeduplicationJavaMemory Optimization
0 likes · 9 min read
How to Deduplicate 4 Billion QQ Numbers Using a Bitmap Under 1 GB
Java Architect Essentials
Java Architect Essentials
Apr 7, 2025 · Backend Development

Advanced MyBatis Dynamic SQL Techniques: foreach, if, choose, trim, selectKey, and SQL Fragments

This article provides a comprehensive guide to MyBatis dynamic SQL tags—including foreach, if, choose, trim, selectKey, and reusable SQL fragments—explaining their attributes, usage patterns, and code examples to help developers write cleaner, more reliable XML mappers and avoid common pitfalls.

Backend DevelopmentDynamic SQLJava
0 likes · 19 min read
Advanced MyBatis Dynamic SQL Techniques: foreach, if, choose, trim, selectKey, and SQL Fragments
Architect
Architect
Apr 6, 2025 · Information Security

Technical Selection and Implementation of Authentication: JWT vs Session

This article compares JWT and session-based authentication, detailing their differences, certification processes, advantages, disadvantages, security considerations, performance impacts, token renewal, and revocation strategies, and provides a complete Java implementation using Spring, Redis, and custom utility classes.

AuthenticationJWTJava
0 likes · 12 min read
Technical Selection and Implementation of Authentication: JWT vs Session
Top Architect
Top Architect
Apr 6, 2025 · Backend Development

Comprehensive Guide to Using IntelliJ IDEA Debug Features

This tutorial provides a thorough walkthrough of IntelliJ IDEA's Debug functionality, covering preparation, main interface, detailed explanations of service and debug buttons, variable inspection and modification, conditional breakpoints, expression evaluation, frame dropping, force return, multithreaded and Stream debugging, as well as remote debugging techniques.

DebuggingIDEIntelliJ IDEA
0 likes · 20 min read
Comprehensive Guide to Using IntelliJ IDEA Debug Features
IT Services Circle
IT Services Circle
Apr 6, 2025 · Fundamentals

Comprehensive Guide to Technical Interview Topics: Signals, Process Synchronization, TLS Handshake, Caching Issues, Java Collections, Heap Construction, and Scheduling Algorithms

This article provides an extensive overview of core technical interview subjects—including operating‑system signals, process synchronization and data transfer methods, TLS encryption steps, common caching pitfalls and remedies, Java collection implementations, heap‑building algorithms, and various CPU scheduling strategies—offering concise explanations and practical code examples for each concept.

AlgorithmsJavaTLS
0 likes · 28 min read
Comprehensive Guide to Technical Interview Topics: Signals, Process Synchronization, TLS Handshake, Caching Issues, Java Collections, Heap Construction, and Scheduling Algorithms
Architect's Guide
Architect's Guide
Apr 6, 2025 · Databases

Analyzing MySQL Connection Latency in Java Applications

This article investigates the time cost of establishing and closing MySQL connections in Java web applications, using Wireshark packet captures and code examples to demonstrate that a single connection can take over 200 ms, highlighting the importance of connection pooling and performance optimizations.

Connection PoolingDatabase ConnectionJava
0 likes · 7 min read
Analyzing MySQL Connection Latency in Java Applications
FunTester
FunTester
Apr 6, 2025 · Backend Development

Understanding Java ClassLoader: Common Issues, Root Causes, and Solutions

This article explains Java's dynamic ClassLoader mechanism, outlines the hierarchy of built‑in loaders, details frequent problems such as ClassNotFoundException, NoClassDefFoundError, ClassCastException and version conflicts, and provides practical troubleshooting steps and best‑practice recommendations for reliable class loading.

CustomClassLoaderDebuggingJVM
0 likes · 10 min read
Understanding Java ClassLoader: Common Issues, Root Causes, and Solutions
Architect
Architect
Apr 5, 2025 · Backend Development

Mastering WebSocket Integration in Spring Boot: Javax, WebMVC & WebFlux

This article compares six WebSocket integration approaches—Javax, WebMVC, WebFlux, Java-WebSocket, SocketIO, and Netty—showing how to configure both server and client sides in Spring Boot, with step‑by‑step code examples, key annotations, and practical tips for each method.

Backend DevelopmentJavaJavax
0 likes · 17 min read
Mastering WebSocket Integration in Spring Boot: Javax, WebMVC & WebFlux
Cognitive Technology Team
Cognitive Technology Team
Apr 5, 2025 · Fundamentals

Understanding Java ClassLoader.loadClass() API and Its Performance Impact

This article explains how the java.lang.ClassLoader#loadClass() API works, why frequent concurrent calls can cause thread blocking due to internal synchronization, demonstrates the issue with a sample multithreaded program, analyzes thread‑dump data, and provides practical solutions to mitigate the performance problem.

JVMJavaThreadBlocking
0 likes · 12 min read
Understanding Java ClassLoader.loadClass() API and Its Performance Impact
FunTester
FunTester
Apr 5, 2025 · Cloud Native

Using Fabric8 OpenShift Client DSL to Manage OpenShift Resources

This guide demonstrates how to use the Fabric8 OpenShift client DSL in Java to initialize an OpenShift client, create and manage resources such as DeploymentConfig, Route, BuildConfig, Project, ImageStream, and various policies, and perform listing and deletion operations with code examples.

Client DSLFabric8Java
0 likes · 11 min read
Using Fabric8 OpenShift Client DSL to Manage OpenShift Resources
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Apr 4, 2025 · Backend Development

Master Spring Boot Transaction Event Listeners: Code Samples & Real-World Use Cases

This article explains how to decouple business logic using Spring Boot transaction event listeners, demonstrates both manual TransactionSynchronization and @TransactionalEventListener implementations with full code examples, and shows a practical user‑registration scenario that avoids common pitfalls.

Backend DevelopmentJavaSpring Boot
0 likes · 9 min read
Master Spring Boot Transaction Event Listeners: Code Samples & Real-World Use Cases
Su San Talks Tech
Su San Talks Tech
Apr 4, 2025 · Backend Development

Master Ant Group Backend Interview: Java, MySQL, TCP, Zookeeper & Redis Secrets

This article walks through Ant Group's bonus structure, explains Java heap vs stack, String object creation, TCP packet issues, MySQL index types, B+‑tree advantages, database lock mechanisms, and shows how Zookeeper and Redis implement distributed coordination and locking, providing concrete code examples and best‑practice recommendations.

JavaMySQLTCP
0 likes · 27 min read
Master Ant Group Backend Interview: Java, MySQL, TCP, Zookeeper & Redis Secrets
FunTester
FunTester
Apr 4, 2025 · Cloud Native

Using the Kubernetes Java Client: CSR, SharedInformers, ListOptions, DeleteOptions, WatchOptions, LogOptions and Resource Operations

This article explains how to use the Kubernetes Java client to create, approve, and deny CertificateSigningRequests, work with SharedInformers, list and delete resources with ListOptions and DeleteOptions, watch resources, retrieve logs, serialize objects to YAML, and run Pods, providing practical code examples and best‑practice recommendations.

CSRJavaSharedInformer
0 likes · 7 min read
Using the Kubernetes Java Client: CSR, SharedInformers, ListOptions, DeleteOptions, WatchOptions, LogOptions and Resource Operations
Code Ape Tech Column
Code Ape Tech Column
Apr 3, 2025 · Backend Development

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

The article describes a backend solution that uses a fixed‑size FIFO queue to throttle concurrent MySQL export operations, provides Java implementations of the ExportQueue, an abstract EasyExcel‑based exporter, a concrete ExportImpl service, and a test controller, and discusses remaining challenges and alternative approaches.

ConcurrencyExportJava
0 likes · 10 min read
Implementing a FIFO Export Queue for Large Data Exports in a Spring Backend
Java Architect Essentials
Java Architect Essentials
Apr 2, 2025 · Backend Development

Integrating DeepSeek Large Language Model with Spring Boot to Build an AI Chat Application

This guide demonstrates how to create a Spring Boot backend that integrates DeepSeek's large language model via the Spring AI OpenAI starter, covering project setup, dependency configuration, API key management, and a sample controller that provides AI-powered chat responses such as weather forecasts.

AI IntegrationChatbotDeepSeek
0 likes · 8 min read
Integrating DeepSeek Large Language Model with Spring Boot to Build an AI Chat Application
Java Tech Enthusiast
Java Tech Enthusiast
Apr 2, 2025 · Backend Development

Java Object Creation: New vs Reflection Efficiency Comparison

The article compares Java object creation using the 'new' operator versus reflection, showing through timed code examples that reflection incurs a substantial overhead—approximately thirty times slower for 100 million instances—due to dynamic type resolution and limited JIT optimization, while also outlining typical reflection use cases such as Spring IoC and JDBC driver loading.

Backend DevelopmentJavaObject Creation
0 likes · 4 min read
Java Object Creation: New vs Reflection Efficiency Comparison
Java Tech Enthusiast
Java Tech Enthusiast
Apr 2, 2025 · Backend Development

Understanding the Underlying Mechanism of Java HashMap

Java’s HashMap stores entries in a hash‑based array where a key’s hash determines the bucket index, resolves collisions with linked lists that become red‑black trees for long chains, resizes when the load factor exceeds 0.75, and requires ConcurrentHashMap for safe multithreaded updates, a core concept often asked in interviews.

BackendData StructureHashMap
0 likes · 6 min read
Understanding the Underlying Mechanism of Java HashMap
DaTaobao Tech
DaTaobao Tech
Apr 2, 2025 · Backend Development

Understanding Java Virtual Threads: From Traditional Thread Models to Stackful Coroutines

The article traces Java’s concurrency evolution from heavyweight thread‑per‑request and complex reactive models to JDK 21’s virtual threads, which act as stack‑ful coroutines offering lightweight, heap‑allocated threads, full stack traces, and blocking‑I/O compatibility while preserving the familiar thread API.

ConcurrencyCoroutinesJDK21
0 likes · 24 min read
Understanding Java Virtual Threads: From Traditional Thread Models to Stackful Coroutines
Code Ape Tech Column
Code Ape Tech Column
Apr 2, 2025 · Backend Development

Easy Rules Java Rule Engine: Features, Usage, and Real‑World Scenarios

This article introduces the lightweight Easy Rules Java rule engine, explains why traditional if‑else logic is problematic, demonstrates core concepts such as rule, condition, action, and facts, provides step‑by‑step code examples, showcases six practical use‑cases, and shows how to integrate it with Spring Boot and Maven.

Business RulesJavaMaven
0 likes · 16 min read
Easy Rules Java Rule Engine: Features, Usage, and Real‑World Scenarios
Programmer Xu Shu
Programmer Xu Shu
Apr 2, 2025 · Backend Development

Boost Java Productivity 40% with Cursor IDE: A Complete Setup Guide

This article walks Java developers through configuring the Cursor IDE, essential plugins, advanced JDK and Maven settings, AI-powered coding assistance, shortcut tips, and best‑practice workflows that together can increase daily development efficiency by roughly forty percent.

AICursorDevelopment
0 likes · 13 min read
Boost Java Productivity 40% with Cursor IDE: A Complete Setup Guide
Su San Talks Tech
Su San Talks Tech
Apr 2, 2025 · Backend Development

How to Import Millions of Excel Rows in Seconds: 4 Proven Performance Hacks

This article analyzes why traditional Excel import methods crash under massive loads and presents four practical optimization techniques—including streaming parsing, batch inserts, asynchronous processing, and parallel sharding—backed by code samples, configuration tips, and real‑world performance benchmarks for importing millions of rows efficiently.

BackendBatch processingExcel Import
0 likes · 10 min read
How to Import Millions of Excel Rows in Seconds: 4 Proven Performance Hacks
Top Architecture Tech Stack
Top Architecture Tech Stack
Apr 1, 2025 · Backend Development

Generating PDF Templates with iText in Java: Step-by-Step Guide

This article demonstrates how to create and fill PDF templates using a PDF editor and Java iText library, covering importing Word documents, inserting text, option, and image fields (including signatures and stamps), and provides complete code examples for generating customized PDFs.

Backend DevelopmentJavaPDF
0 likes · 7 min read
Generating PDF Templates with iText in Java: Step-by-Step Guide
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Apr 1, 2025 · Backend Development

Boost Spring AI with Tool Calls: Real‑World Spring Boot 3 Examples

This article explains how Spring AI's tool‑calling feature extends large language models by integrating custom Java tools for information retrieval and operations, and provides step‑by‑step Spring Boot 3 examples—including date‑time and weather tools—complete with configuration, code snippets, and execution results.

AI IntegrationJavaSpring AI
0 likes · 9 min read
Boost Spring AI with Tool Calls: Real‑World Spring Boot 3 Examples
Java Architect Essentials
Java Architect Essentials
Mar 31, 2025 · Backend Development

Spring Boot vs Quarkus: Performance, Migration, and Real‑World Comparison

This article compares Spring Boot and Quarkus by outlining their architectures, running a reactive‑API benchmark with JMeter and VisualVM, presenting startup, build‑time, memory, CPU and response‑time results for JVM and native images, and offering a step‑by‑step guide for migrating Spring developers to Quarkus with code examples.

JavaMicroservicesNative Images
0 likes · 17 min read
Spring Boot vs Quarkus: Performance, Migration, and Real‑World Comparison
Architect's Tech Stack
Architect's Tech Stack
Mar 31, 2025 · Databases

Performance Comparison of Auto‑Increment, UUID, and Random Keys in MySQL

This article investigates MySQL's recommendation to avoid UUIDs and non‑sequential keys by benchmarking insert performance of auto‑increment, UUID, and random (snowflake) primary keys, analyzing their index structures, drawbacks, and concluding that sequential auto‑increment keys provide the best overall efficiency.

JavaMySQLauto_increment
0 likes · 9 min read
Performance Comparison of Auto‑Increment, UUID, and Random Keys in MySQL
Cognitive Technology Team
Cognitive Technology Team
Mar 31, 2025 · Backend Development

Understanding Spring Boot Annotations and Auto‑Configuration

This article explains how Spring Boot replaces extensive XML configuration with annotation‑driven setup, detailing the purpose and usage of core annotations such as @SpringBootApplication and @EnableAutoConfiguration, as well as conditional annotations like @ConditionalOnClass, @ConditionalOnBean, @ConditionalOnProperty, @Profile, and provides best‑practice recommendations.

JavaSpring Bootannotations
0 likes · 7 min read
Understanding Spring Boot Annotations and Auto‑Configuration
Architect's Guide
Architect's Guide
Mar 31, 2025 · Information Security

Design and Security Practices for Third‑Party API Authentication and Signing

This article presents a comprehensive design scheme for third‑party APIs, covering permission segmentation, AK/SK generation, signature workflow and rules, secure API endpoint design, anti‑replay mechanisms, token handling, TLS encryption, database schema, and implementation examples in Java.

API SecurityAccess KeyAuthentication
0 likes · 30 min read
Design and Security Practices for Third‑Party API Authentication and Signing
IT Architects Alliance
IT Architects Alliance
Mar 29, 2025 · Information Security

Database Data Masking Techniques: SQL, Java, and MyBatis-Mate Sensitive-Jackson Comparison

The article explains why data masking is essential for protecting sensitive information, then details three implementation methods—SQL, Java (with open‑source plugins), and the MyBatis‑Mate‑Sensitive‑Jackson ORM extension—comparing their principles, code examples, advantages, limitations, performance, suitable scenarios, and cost considerations.

DatabaseInformation SecurityJava
0 likes · 17 min read
Database Data Masking Techniques: SQL, Java, and MyBatis-Mate Sensitive-Jackson Comparison
Java Captain
Java Captain
Mar 29, 2025 · Fundamentals

Java Regular Expressions: Syntax, Examples, and Usage

This article introduces Java regular expressions, covering basic syntax, character classes, logical operators, predefined tokens, quantifiers, practical code examples, common applications such as data validation, and performance optimization tips for effective string processing in Java.

JavaMatcherString processing
0 likes · 11 min read
Java Regular Expressions: Syntax, Examples, and Usage
Java Captain
Java Captain
Mar 29, 2025 · Backend Development

Comparative Performance Analysis of Spring Boot and Quarkus for Cloud‑Native Java Microservices

This article compares Spring Boot and Quarkus by describing their architectures, presenting a reactive test application that uses PostgreSQL, detailing a JMeter performance test plan, and analyzing results such as startup time, build size, CPU, memory, and response latency to help developers decide when to migrate from Spring Boot to Quarkus.

JavaMicroservicesNative Images
0 likes · 14 min read
Comparative Performance Analysis of Spring Boot and Quarkus for Cloud‑Native Java Microservices
Architecture Digest
Architecture Digest
Mar 28, 2025 · Backend Development

One-Click Deployment of SpringBoot Projects Using IntelliJ IDEA and Docker

This tutorial demonstrates how to configure IntelliJ IDEA for remote one‑click deployment of a SpringBoot application with Docker, covering environment setup, SSH and Docker daemon configuration, Dockerfile creation, Maven build steps, firewall adjustments, and troubleshooting common deployment issues.

DevOpsDockerIntelliJ IDEA
0 likes · 8 min read
One-Click Deployment of SpringBoot Projects Using IntelliJ IDEA and Docker
Code Ape Tech Column
Code Ape Tech Column
Mar 28, 2025 · Backend Development

Applying the Adapter Pattern for Multi‑Cloud OSS Storage in a Spring Microservice

This article demonstrates how to use the Adapter pattern to abstract multiple OSS providers such as MinIO and Aliyun in a Spring microservice, configure the concrete adapters via Nacos dynamic configuration, and expose a unified upload API through a service and controller layer, complete with deployment and testing steps.

Adapter PatternJavaMicroservices
0 likes · 10 min read
Applying the Adapter Pattern for Multi‑Cloud OSS Storage in a Spring Microservice
Su San Talks Tech
Su San Talks Tech
Mar 28, 2025 · Backend Development

Unlocking Java’s Synchronized: How the JVM Implements Locks

This article explains the low‑level implementation of Java's synchronized keyword, covering monitorenter/monitorexit bytecode, object header structures, Mark Word layouts, and the evolution from heavyweight locks to biased and lightweight locks with lock‑upgrade mechanisms.

ConcurrencyJVMJava
0 likes · 11 min read
Unlocking Java’s Synchronized: How the JVM Implements Locks
Architecture Digest
Architecture Digest
Mar 27, 2025 · Backend Development

Comparison of Java Microservice Frameworks and a Free Programmer Book Giveaway

This article introduces a free collection of programmer books and provides a detailed comparison of several Java microservice frameworks—including Spring Cloud, Vert.x, SparkJava, Micronaut, Javalin, and Quarkus—covering their resource consumption, startup times, memory usage, and suitability for lightweight or heavy‑weight applications.

JavaVert.xperformance
0 likes · 6 min read
Comparison of Java Microservice Frameworks and a Free Programmer Book Giveaway
Cognitive Technology Team
Cognitive Technology Team
Mar 27, 2025 · Fundamentals

Understanding Tiered Compilation in the JVM

This article explains the JVM's tiered compilation mechanism, detailing the client (C1) and server (C2) JIT compilers, the five compilation levels, code cache organization, relevant JVM flags, and demonstrates method compilation lifecycle through illustrative Java code examples and log analysis.

Compilation LevelsJITJVM
0 likes · 13 min read
Understanding Tiered Compilation in the JVM
JD Cloud Developers
JD Cloud Developers
Mar 27, 2025 · Backend Development

How Caffeine’s ReadBuffer Works: Deep Dive into getIfPresent and Eviction Mechanics

This article explains the inner workings of Caffeine's getIfPresent method, the design of its MPSC ReadBuffer and WriteBuffer, the maintenance cycle, eviction strategies, and the TinyLFU algorithm, providing Java code examples and diagrams to illustrate how caching decisions are made in high‑concurrency environments.

CaffeineConcurrencyJava
0 likes · 31 min read
How Caffeine’s ReadBuffer Works: Deep Dive into getIfPresent and Eviction Mechanics
Top Architecture Tech Stack
Top Architecture Tech Stack
Mar 27, 2025 · Fundamentals

Understanding Time Slices, Hyper‑Threading, and Thread Context Switching

The article explains how modern multi‑core CPUs use time slices, hyper‑threading, and various types of context switches to manage multithreaded workloads, discusses the performance costs of switching, and offers practical optimization strategies such as lock‑free programming, appropriate thread counts, and coroutine usage.

CPU schedulingHyper-threadingJava
0 likes · 9 min read
Understanding Time Slices, Hyper‑Threading, and Thread Context Switching
Top Architecture Tech Stack
Top Architecture Tech Stack
Mar 26, 2025 · Backend Development

Global Exception Handling in SpringBoot: Custom Handlers, Enums, and Response Wrappers

This article explains how to implement unified global exception handling in SpringBoot by using @ControllerAdvice with @ExceptionHandler, defining a base error interface, custom enums, exception classes, and a standardized response wrapper, while also providing test code examples and best‑practice recommendations.

CustomExceptionGlobalExceptionJava
0 likes · 10 min read
Global Exception Handling in SpringBoot: Custom Handlers, Enums, and Response Wrappers
Architect's Guide
Architect's Guide
Mar 26, 2025 · Fundamentals

Avoiding the Fixed‑Size List Pitfall of Arrays.asList in Java

This article explains why using Arrays.asList to convert an array into a List can produce an immutable, fixed‑size list that throws UnsupportedOperationException on add or remove operations, illustrates the issue with real‑world incident details, analyzes the internal implementation, and provides a safe replacement using java.util.ArrayList.

ArrayListArrays.asListBest Practices
0 likes · 9 min read
Avoiding the Fixed‑Size List Pitfall of Arrays.asList in Java
Code Ape Tech Column
Code Ape Tech Column
Mar 25, 2025 · Backend Development

Improving MVC Three‑Tier Architecture with a Manager Layer

This article explains the classic MVC three‑tier architecture, identifies its drawbacks such as bloated service code and long‑running transactions, and proposes adding a Manager layer to separate generic business processing, improve code maintainability, and enhance performance in Java backend systems.

Backend ArchitectureJavaMVC
0 likes · 9 min read
Improving MVC Three‑Tier Architecture with a Manager Layer
Java Architect Essentials
Java Architect Essentials
Mar 25, 2025 · Artificial Intelligence

DeepSeek4j 1.4: A Java Framework for Seamless DeepSeek AI Integration with Full Chain‑of‑Thought and Streaming Support

The article introduces DeepSeek4j 1.4, a Java‑centric framework that overcomes Spring AI’s limitations by preserving DeepSeek’s chain‑of‑thought, supporting streaming output, and offering a simple Spring Boot starter with reactive, configurable, and ready‑to‑use APIs for AI developers.

AIDeepSeekJava
0 likes · 5 min read
DeepSeek4j 1.4: A Java Framework for Seamless DeepSeek AI Integration with Full Chain‑of‑Thought and Streaming Support
Cognitive Technology Team
Cognitive Technology Team
Mar 25, 2025 · Fundamentals

Understanding the Java Memory Model and Its Interaction with Hardware Memory Architecture

This article explains how the Java Memory Model defines the interaction between threads, thread stacks, and the heap, illustrates these concepts with diagrams and example code, and discusses how modern hardware memory architecture, caches, and CPU registers affect visibility and race conditions in concurrent Java programs.

ConcurrencyHeapJava
0 likes · 11 min read
Understanding the Java Memory Model and Its Interaction with Hardware Memory Architecture
Top Architecture Tech Stack
Top Architecture Tech Stack
Mar 25, 2025 · Information Security

Designing Secure Third‑Party API Interfaces: Authentication, Signature, and Best Practices

This guide details a secure third‑party API design, covering API key generation, request signing with timestamps and nonces, permission division, CRUD endpoint definitions, unified response structures, and best‑practice security measures such as HTTPS, IP whitelisting, rate limiting, logging, and idempotency handling.

API SecurityAuthenticationBackend
0 likes · 29 min read
Designing Secure Third‑Party API Interfaces: Authentication, Signature, and Best Practices
Java Web Project
Java Web Project
Mar 25, 2025 · Backend Development

Simplify Complex File Downloads with a One‑Annotation Spring Library

This article walks through the design and implementation of a Spring‑based download library that lets developers download files, HTTP resources, or arbitrary objects with a single @Download annotation, covering the problem setup, reactive architecture, source abstraction, concurrency handling, compression, response writing, and the lessons learned.

DownloadFile CompressionJava
0 likes · 18 min read
Simplify Complex File Downloads with a One‑Annotation Spring Library