Tagged articles
5000 articles
Page 49 of 50
Architecture Digest
Architecture Digest
Nov 17, 2023 · Backend Development

Best Practices for Designing an Excellent Controller Layer in Spring MVC

This article explains how to design a clean, maintainable Spring MVC controller layer by unifying response structures, applying centralized exception handling, and leveraging JSR‑303 validation with custom rules, illustrated with comprehensive code examples and best‑practice guidelines.

ControllerSpring MVCbackend-development
0 likes · 18 min read
Best Practices for Designing an Excellent Controller Layer in Spring MVC
Java Backend Technology
Java Backend Technology
Nov 17, 2023 · Information Security

Why Java’s Random Is Insecure and How SecureRandom Saves Your Data

The article explains that Java’s Random class uses a predictable linear‑congruential generator, making its output vulnerable to seed‑guessing attacks, and demonstrates how SecureRandom with strategies like SHA1PRNG, NativePRNGBlocking, and NativePRNGNonBlocking provides stronger, non‑predictable randomness suitable for security‑critical applications.

SecureRandomcryptographyjava
0 likes · 12 min read
Why Java’s Random Is Insecure and How SecureRandom Saves Your Data
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Nov 17, 2023 · Fundamentals

Explore Java’s Evolution: Key New Features from JDK 10 to JDK 21

This article reviews the most important new features introduced in Java JDK 10 through JDK 21—including local‑variable type inference, the standardized HTTP client, experimental garbage collectors, pattern‑matching enhancements, records, sealed classes, and virtual threads—providing code examples and migration guidance for developers.

Code ExamplesJDKJava 21
0 likes · 16 min read
Explore Java’s Evolution: Key New Features from JDK 10 to JDK 21
FunTester
FunTester
Nov 17, 2023 · Blockchain

Using Web3j to Send Ethereum JSON‑RPC Requests via WebSocket

This article explains how to construct and send Ethereum JSON‑RPC calls such as net_version through a WebSocket connection using the Web3j Java library, including source code analysis, request construction, and a practical example with console output.

BlockchainEthereumJSON-RPC
0 likes · 5 min read
Using Web3j to Send Ethereum JSON‑RPC Requests via WebSocket
Java Architect Essentials
Java Architect Essentials
Nov 16, 2023 · Backend Development

Why Does HashMap.keySet() Iterate Twice? Uncovering Java’s Internal Iterator Mechanics

This article explains why iterating a Java HashMap with keySet() results in two traversals, detailing the internal iterator creation, the role of KeyIterator and HashIterator classes, and how the do‑while loop in HashIterator’s constructor locates the first entry, with code examples and bytecode analysis.

HashIteratorHashMapIterator
0 likes · 9 min read
Why Does HashMap.keySet() Iterate Twice? Uncovering Java’s Internal Iterator Mechanics
Selected Java Interview Questions
Selected Java Interview Questions
Nov 16, 2023 · Backend Development

Custom Enum and JSON Parameter Binding in Spring MVC

This article explains how to handle enum and JSON string parameters in Spring MVC by creating custom annotations and argument resolvers, demonstrates the implementation steps with full code examples, and also reviews Spring MVC's built‑in parameter binding mechanisms such as @RequestParam, @PathVariable, @RequestBody, and @ModelAttribute.

Custom AnnotationEnum BindingJSON Parameter
0 likes · 10 min read
Custom Enum and JSON Parameter Binding in Spring MVC
Architecture Digest
Architecture Digest
Nov 16, 2023 · Backend Development

Structuring Session‑Based Scene Data with MyBatis in Java

This article explains how to redesign a JSON payload that repeats a sessionId for each scene by moving the sessionId to the outer level and using MyBatis resultMap with a collection to map a Session object containing a list of Scene objects, including Java entity definitions, mapper XML, service, and controller code.

BackendControllerMyBatis
0 likes · 5 min read
Structuring Session‑Based Scene Data with MyBatis in Java
Huolala Tech
Huolala Tech
Nov 16, 2023 · Fundamentals

Why Unit Testing Matters and How to Master It in Java Projects

This article explains what unit testing is, why it is essential for software quality, outlines its benefits such as early bug detection and design improvement, and provides practical guidance on writing effective Java unit tests using JUnit5, Mockito, and JaCoCo, along with CI integration and best‑practice principles.

JUnit5JaCoCoMockito
0 likes · 28 min read
Why Unit Testing Matters and How to Master It in Java Projects
Top Architecture Tech Stack
Top Architecture Tech Stack
Nov 16, 2023 · Backend Development

Essential IntelliJ IDEA Tips for Java Developers

This article presents a comprehensive collection of 28 practical IntelliJ IDEA shortcuts and configuration tricks—such as viewing local history, adjusting VM memory, adopting Eclipse keymaps, managing inspections, customizing templates, navigating code, and leveraging plugins—to dramatically improve Java development productivity.

Code navigationIntelliJ IDEAjava
0 likes · 11 min read
Essential IntelliJ IDEA Tips for Java Developers
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 16, 2023 · Backend Development

Common Distributed Unique ID Generation Strategies and Their Implementation

The article reviews five major distributed unique ID generation methods—including UUID, Redis auto‑increment, database auto‑increment, database segment mode, and Snowflake—explains their principles, advantages, drawbacks, and provides practical integration guides and code examples for Java developers.

Leafdatabase segmentdistributed-id
0 likes · 14 min read
Common Distributed Unique ID Generation Strategies and Their Implementation
Ops Development Stories
Ops Development Stories
Nov 16, 2023 · Fundamentals

Unlocking G1 GC: Why Your Java Service Hangs and How to Fix It

This article explains the G1 garbage collector’s heap layout, collection cycles, pause prediction, log analysis, and monitoring tools, helping Java developers diagnose and resolve performance issues such as frequent restarts, OOM, CPU spikes, and periodic latency spikes.

Garbage CollectionJVMg1gc
0 likes · 19 min read
Unlocking G1 GC: Why Your Java Service Hangs and How to Fix It
DeWu Technology
DeWu Technology
Nov 15, 2023 · Backend Development

Thread Profiling: Design and Implementation of Client‑Server Performance Analysis

Thread profiling uses threshold‑triggered tasks on business threads to capture stack snapshots, which a dedicated profiler thread sends via high‑performance gRPC to a server that queues them in Kafka, enriches and stores them in ClickHouse, correlates with OpenTelemetry traces, and provides metrics that let developers quickly pinpoint latency bottlenecks and improve system stability.

GoKafkaOpenTelemetry
0 likes · 11 min read
Thread Profiling: Design and Implementation of Client‑Server Performance Analysis
JD Cloud Developers
JD Cloud Developers
Nov 15, 2023 · Backend Development

Why Upgrade to JDK 17? Full Migration Guide from JDK 11 with Benchmarks

This article examines the benefits of moving from JDK 11 to the long‑term support JDK 17, detailing performance gains—especially sub‑millisecond ZGC pause times—new language features, compatibility considerations, benchmark results, and step‑by‑step migration instructions for Spring‑based applications.

SpringBootjavajdk17
0 likes · 15 min read
Why Upgrade to JDK 17? Full Migration Guide from JDK 11 with Benchmarks
Java High-Performance Architecture
Java High-Performance Architecture
Nov 15, 2023 · Backend Development

Mastering Disruptor: High‑Performance Java Queue for Producer‑Consumer Systems

This article introduces the open‑source Disruptor framework, explains its core concepts such as Ring Buffer, Sequencer, and Wait Strategies, and provides a step‑by‑step Java demo—including Maven setup, event factory, handlers, and a test case—to illustrate building a high‑throughput, low‑latency in‑memory message queue.

DisruptorMessage QueueProducer Consumer
0 likes · 11 min read
Mastering Disruptor: High‑Performance Java Queue for Producer‑Consumer Systems
21CTO
21CTO
Nov 13, 2023 · Fundamentals

Why C# Is Closing the Gap with Java in the Latest TIOBE Rankings

November 2023’s TIOBE Index reveals Python still leads at 14.16%, while C# jumps to fifth place, narrowing its gap with Java to just 0.7%, as Java slips to fourth with its biggest monthly decline, and C and C++ also see modest drops.

C#PythonTIOBE Index
0 likes · 2 min read
Why C# Is Closing the Gap with Java in the Latest TIOBE Rankings
Architecture & Thinking
Architecture & Thinking
Nov 13, 2023 · Fundamentals

Mastering Java Collections: From Interfaces to Iterators

This comprehensive guide explains Java's collection framework, covering the core interfaces Collection, List, Set, and Map, their abstract and concrete implementations, iterator mechanisms, and key differences that are essential for both interview preparation and real‑world backend development.

BackendCollectionsIterator
0 likes · 29 min read
Mastering Java Collections: From Interfaces to Iterators
Java Interview Crash Guide
Java Interview Crash Guide
Nov 13, 2023 · Backend Development

Boost Java Projects with Hutool: Essential Utility Library Overview

This article introduces Hutool, a comprehensive Java utility library that consolidates common functions such as file handling, encryption, date manipulation, and more, explains its key modules, shows how to add it via Maven, and provides practical code examples for utilities like DateUtil, StrUtil, NumberUtil, and SecureUtil.

Code ExamplesUtility Librarybackend-development
0 likes · 9 min read
Boost Java Projects with Hutool: Essential Utility Library Overview
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 13, 2023 · Backend Development

Using SpringMVC Interceptor to Prevent Duplicate Submissions

This article explains how duplicate form submissions occur, outlines common prevention techniques such as token validation and timestamp checks, and demonstrates a practical SpringMVC interceptor implementation with token storage and scheduled cleanup to ensure request uniqueness and reduce server load.

BackendInterceptorSpringMVC
0 likes · 8 min read
Using SpringMVC Interceptor to Prevent Duplicate Submissions
Wu Shixiong's Large Model Academy
Wu Shixiong's Large Model Academy
Nov 12, 2023 · Fundamentals

How to Compute the Shortest Distance on a Circular Road Efficiently

Given a circular road with n stations and the distances between each consecutive pair, this article explains how to determine the minimal travel distance between any two stations by evaluating both clockwise and counter‑clockwise routes, providing problem details, examples, solution logic, reference implementations in Python, Java, and C++, and complexity analysis.

Arrayalgorithmc++
0 likes · 8 min read
How to Compute the Shortest Distance on a Circular Road Efficiently
MaGe Linux Operations
MaGe Linux Operations
Nov 12, 2023 · Backend Development

Why RocketMQ Producers Need Load Balancing and How It Works

This article explains why load balancing is crucial for RocketMQ producers, details the internal selection algorithm using ThreadLocal indexes and round‑robin logic, and provides Java code examples illustrating how messages are distributed across queues.

Message QueueProducerRocketMQ
0 likes · 5 min read
Why RocketMQ Producers Need Load Balancing and How It Works
Selected Java Interview Questions
Selected Java Interview Questions
Nov 12, 2023 · Backend Development

Implementing the Chain of Responsibility Pattern for Login Risk Management in Java

This article explains the Chain of Responsibility design pattern and demonstrates how to apply it in a Java backend to evaluate login risk factors such as password errors, unusual login times, IP whitelist violations, and abnormal login locations, providing full code examples and execution flow.

BackendChain of ResponsibilityLogin Risk
0 likes · 16 min read
Implementing the Chain of Responsibility Pattern for Login Risk Management in Java
Su San Talks Tech
Su San Talks Tech
Nov 12, 2023 · Backend Development

Unlocking Complex Business Logic with LiteFlow’s Component‑Based Workflow Engine

This article introduces LiteFlow, a lightweight and fast component‑based rule engine that decouples complex business logic, explains its design principles, demonstrates usage in both non‑Spring and SpringBoot environments with Maven dependencies and XML configurations, and delves into its core components and execution flow through detailed source code analysis.

BackendLiteFlowjava
0 likes · 18 min read
Unlocking Complex Business Logic with LiteFlow’s Component‑Based Workflow Engine
Java Captain
Java Captain
Nov 11, 2023 · Backend Development

Analyzing and Reproducing OutOfMemoryError in MyBatis-based Java Services

This article examines the causes of Java OutOfMemoryError in a distributed backend service, analyzes MyBatis-related memory leaks, demonstrates a reproducible scenario with large SQL concatenations and multithreading, and offers practical mitigation strategies to prevent heap and metaspace overflow.

BackendMyBatisOutOfMemoryError
0 likes · 6 min read
Analyzing and Reproducing OutOfMemoryError in MyBatis-based Java Services
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 11, 2023 · Backend Development

Performance Comparison of List.sort() vs Stream.sorted() in Java and Optimization Techniques

The article analyzes why a Java API endpoint took eight seconds, demonstrates through benchmarks that List.sort() outperforms Stream.sorted(), shows how sorting on computed columns and using BigDecimal can drastically slow execution, and presents three practical optimizations that reduce the response time to under a second.

BigDecimaljavalist.sort
0 likes · 8 min read
Performance Comparison of List.sort() vs Stream.sorted() in Java and Optimization Techniques
Selected Java Interview Questions
Selected Java Interview Questions
Nov 10, 2023 · Backend Development

Design and Implementation of a Generic Asynchronous Processing SDK for Java Backend Systems

This article introduces a generic asynchronous processing SDK for Java back‑ends, explaining its purpose, advantages, underlying principles, components, design patterns, database schema, configuration, usage, and operational considerations, and provides complete code and configuration examples.

Kafkabackend-developmentjava
0 likes · 9 min read
Design and Implementation of a Generic Asynchronous Processing SDK for Java Backend Systems
Java High-Performance Architecture
Java High-Performance Architecture
Nov 10, 2023 · Backend Development

Spring Boot vs Quarkus: Performance, Native Images, and Migration Guide

This article compares Spring Boot and Quarkus, detailing their architectures, performance benchmarks—including startup time, memory usage, CPU, and response latency—both in JVM and native modes, and provides guidance on migrating Spring applications to Quarkus with code examples and best‑practice tips.

KubernetesNative ImagesQuarkus
0 likes · 17 min read
Spring Boot vs Quarkus: Performance, Native Images, and Migration Guide
Ops Development Stories
Ops Development Stories
Nov 10, 2023 · Backend Development

Master Java Stream API: Grouping, Sorting, Deduplication & More

This guide demonstrates essential Java Stream API techniques—including grouping collections into maps, extracting first entries, performing reductions to find max or min, converting streams to lists, sorting, removing duplicates, and a comprehensive list of frequently used stream operations—providing practical code examples for Java 11 and 17.

SortingStream APIdeduplication
0 likes · 7 min read
Master Java Stream API: Grouping, Sorting, Deduplication & More
Java Architect Essentials
Java Architect Essentials
Nov 9, 2023 · Backend Development

Why Does My Spring Boot App Behave Differently as JAR vs WAR? Understanding Embedded and External Tomcat

This article explains why a Spring Boot application runs with the configured port when packaged as a JAR using the embedded Tomcat, but switches to Tomcat's default port and context path when deployed as a WAR, and provides step‑by‑step instructions to package and deploy both formats along with historical context and technical differences.

JARSpring BootTomcat
0 likes · 14 min read
Why Does My Spring Boot App Behave Differently as JAR vs WAR? Understanding Embedded and External Tomcat
Architect
Architect
Nov 9, 2023 · Backend Development

How Vivo’s LuBan Service Generates Billions of Unique IDs with Sub‑millisecond Latency

This article explains the business scenarios that drive the need for globally unique distributed IDs, analyzes the challenges of uniqueness, performance, and availability, and details Vivo's self‑built LuBan ID service—including its architecture, three ID formats, custom extensions, SDK usage, performance optimizations, and real‑world deployment metrics.

Backend ArchitectureLuBanMicroservices
0 likes · 18 min read
How Vivo’s LuBan Service Generates Billions of Unique IDs with Sub‑millisecond Latency
Top Architect
Top Architect
Nov 9, 2023 · Backend Development

Implementing Open API Signature Verification with Spring Boot and AOP

This article explains the concept of open interfaces and signature verification, outlines the end‑to‑end signing and verification flow, and provides a complete Spring Boot implementation including configuration properties, a signature manager, custom annotation, AOP aspect, request‑caching filter and utility classes, all illustrated with code snippets.

API SecurityOpenAPISpring Boot
0 likes · 20 min read
Implementing Open API Signature Verification with Spring Boot and AOP
Architecture Digest
Architecture Digest
Nov 9, 2023 · Backend Development

Elegant Unified Exception Handling in Spring Using Assertions and Enums

This article explains how to replace repetitive try‑catch blocks in Spring applications with a clean, assertion‑based approach combined with @ControllerAdvice and enum‑driven error codes, providing a unified way to handle service‑layer, controller‑layer, and unknown exceptions while keeping responses consistent and internationalized.

BackendControllerAdviceEnums
0 likes · 20 min read
Elegant Unified Exception Handling in Spring Using Assertions and Enums
Huolala Tech
Huolala Tech
Nov 9, 2023 · Backend Development

How Huolala’s Multi‑Group Architecture Revolutionizes Microservice Routing

This article explains Huolala’s multi‑group microservice architecture, covering its background, core principles, deployment, discovery, routing strategies, extension mechanisms, and practical application scenarios that enable flexible, versioned, and policy‑driven service routing.

Backend ArchitectureMicroservicesSOA
0 likes · 10 min read
How Huolala’s Multi‑Group Architecture Revolutionizes Microservice Routing
Java High-Performance Architecture
Java High-Performance Architecture
Nov 9, 2023 · Information Security

Master OpenAPI Security: AppId/AppSecret, RSA Signatures, and Best‑Practice Code

This article explains how the OpenAPI specification standardizes interfaces and improves security by using AppId/AppSecret pairs, RSA‑based signatures, timestamp and nonce mechanisms, parameter validation, rate limiting, and encryption best practices, accompanied by complete Java code examples.

API SecurityAuthenticationOpenAPI
0 likes · 27 min read
Master OpenAPI Security: AppId/AppSecret, RSA Signatures, and Best‑Practice Code
Java Backend Technology
Java Backend Technology
Nov 9, 2023 · Backend Development

Boosting Java Service Throughput from 50/s to 500/s: My Performance Tuning Journey

Faced with a client demanding 500 requests per second, I discovered my Java backend only handled 50 /s due to slow SQL, excessive logging, thread‑pool misconfiguration, and costly Spring bean creation; by adding latency alerts, async execution, reducing thread counts, and fixing Redis bean scope, throughput nearly doubled.

ProfilingThroughputjava
0 likes · 15 min read
Boosting Java Service Throughput from 50/s to 500/s: My Performance Tuning Journey
Su San Talks Tech
Su San Talks Tech
Nov 9, 2023 · Backend Development

Mastering Elegant SMS Sending in Java: Client vs Server Modes

This guide explains how Java applications can send SMS messages efficiently by comparing client‑side SDK integration with a dedicated server‑side SMS platform, covering provider choices, code examples, multi‑channel aggregation with SMS4J, and design considerations for high‑availability messaging.

SMSSMS integrationSpringBoot
0 likes · 8 min read
Mastering Elegant SMS Sending in Java: Client vs Server Modes
Ops Development Stories
Ops Development Stories
Nov 9, 2023 · Operations

How to Pinpoint Java Out‑Of‑Memory Errors Using jmap and VisualVM

This guide explains why frequent garbage collection and heap memory overflow occur in Java applications, demonstrates how to reproduce the issue with a sample program, and walks through various techniques—including jmap histograms, heap dumps, VisualVM analysis, and remote JMX monitoring—to diagnose and resolve out‑of‑memory errors.

Garbage CollectionHeap DumpVisualVM
0 likes · 9 min read
How to Pinpoint Java Out‑Of‑Memory Errors Using jmap and VisualVM
Selected Java Interview Questions
Selected Java Interview Questions
Nov 8, 2023 · Fundamentals

Most Popular Java Features Added Since Java 8 (Up to Java 20)

This article reviews the most widely adopted Java language enhancements introduced after Java 8, covering features such as local variable type inference, switch expressions, text blocks, records, pattern matching for instanceof, sealed classes, and improved NullPointerException messages, helping developers decide which upgrades to adopt.

BackendJava 8java
0 likes · 6 min read
Most Popular Java Features Added Since Java 8 (Up to Java 20)
Architecture Digest
Architecture Digest
Nov 8, 2023 · Backend Development

Comparing Spring Boot and Quarkus: Performance, Native Images, and Migration Guide

This article compares the Spring Boot and Quarkus Java frameworks by examining their architectures, running reactive test applications, measuring startup time, memory usage, CPU consumption and response latency for both JVM and native builds, and provides practical guidance for migrating Spring developers to Quarkus.

KubernetesNative ImagesPerformance Testing
0 likes · 16 min read
Comparing Spring Boot and Quarkus: Performance, Native Images, and Migration Guide
Java Captain
Java Captain
Nov 8, 2023 · Fundamentals

Understanding Java OOM Errors: Heap, GC Overhead, Metaspace, CodeCache, Direct Memory, and Linux OOM Killer

This article explains the various Java OutOfMemoryError types—including Java heap space, GC overhead limit exceeded, Metaspace, CodeCache, Direct Memory, and Linux OOM Killer—describes their causes, typical symptoms, and provides step‑by‑step troubleshooting and mitigation strategies for developers.

CodeCacheJVMMemory Management
0 likes · 10 min read
Understanding Java OOM Errors: Heap, GC Overhead, Metaspace, CodeCache, Direct Memory, and Linux OOM Killer
Java High-Performance Architecture
Java High-Performance Architecture
Nov 8, 2023 · Backend Development

Build a Java SpringBoot Electronic Signature & Seal System: Full Source Code & Deployment Guide

This article walks through the design and implementation of a Java SpringBoot‑based electronic signature and seal system, covering the underlying concepts of digital signatures, the complete project structure, key controller and service code, utility classes, deployment steps, and a step‑by‑step functional demo with screenshots.

DocumentWorkflowElectronicSignaturePageOffice
0 likes · 15 min read
Build a Java SpringBoot Electronic Signature & Seal System: Full Source Code & Deployment Guide
Architect's Guide
Architect's Guide
Nov 8, 2023 · Backend Development

Introduction to TLog: Enterprise‑Level Microservice Log Tracing and Integration Guide

This article introduces TLog, a zero‑intrusion Java logging library that adds globally unique trace IDs, SpanId and upstream/downstream tags to microservice logs, outlines its key features, multiple integration modes, configuration examples for Log4j and async logging, and shows how to use it with Spring Boot, Spring Native and task frameworks like XXL‑JOB.

Distributed TracingSpringBootTLog
0 likes · 8 min read
Introduction to TLog: Enterprise‑Level Microservice Log Tracing and Integration Guide
JD Retail Technology
JD Retail Technology
Nov 7, 2023 · Backend Development

Practical Cases of Using ChatGPT for Backend Development Tasks

This document presents a series of real‑world examples showing how ChatGPT can assist cloud‑trading developers with backend tasks such as resource scheduling, regex interpretation, CSV generation, JavaBean‑to‑JSON conversion, Spring IoC learning, JSON formatting, Java 8 stream processing, and CI pipeline error analysis.

CSVChatGPTJava8 Streams
0 likes · 5 min read
Practical Cases of Using ChatGPT for Backend Development Tasks
Selected Java Interview Questions
Selected Java Interview Questions
Nov 7, 2023 · Backend Development

Implementing Distributed Locks with Redis: Principles, Challenges, and Optimizations

This article explains why traditional local locks fail in distributed systems, surveys common distributed‑lock approaches, and provides a step‑by‑step guide to building a robust Redis‑based lock in Java—including expiration handling, UUID safety, Lua‑script atomicity, re‑entrancy, automatic renewal, and the RedLock algorithm—while comparing its performance against plain local locks.

LuaRedlockReentrancy
0 likes · 17 min read
Implementing Distributed Locks with Redis: Principles, Challenges, and Optimizations
Su San Talks Tech
Su San Talks Tech
Nov 7, 2023 · Backend Development

Why Adding Thread Pools in Business Logic Often Hurts Performance

Although many developers avoid using thread pools in business code, this article explains how thread pools already exist in web containers and RPC frameworks, why inserting custom pools can backfire, and when proper tuning or message queues are the better solution for improving throughput.

BackendDubbojava
0 likes · 10 min read
Why Adding Thread Pools in Business Logic Often Hurts Performance
IT Services Circle
IT Services Circle
Nov 7, 2023 · Backend Development

Understanding ThreadLocal Memory Leaks and How to Prevent Them

This article explains the internal structure of ThreadLocal, identifies scenarios where ThreadLocal can cause memory leaks—especially in thread‑pool environments—analyzes the root causes, and provides practical techniques such as using remove() and expungeStaleEntry() to avoid these leaks.

Garbage CollectionThreadLocalconcurrency
0 likes · 11 min read
Understanding ThreadLocal Memory Leaks and How to Prevent Them
Top Architecture Tech Stack
Top Architecture Tech Stack
Nov 7, 2023 · Backend Development

Essential Java Libraries Every Senior Developer Should Know

This article presents a curated list of essential Java libraries—including JUnit, Mockito, Jackson, Gson, SLF4J, Log4j2, Apache Commons, Guava, JAXB, Xerces, Apache POI, JavaAssist, Cglib, Eclipse Collections, Trove, Jsoup, Apache MINA, Netty, Lombok, and Testcontainers—explaining their purposes and why senior developers should master them.

backend-developmentjavalibraries
0 likes · 9 min read
Essential Java Libraries Every Senior Developer Should Know
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Nov 7, 2023 · Backend Development

Master Spring Validation in Spring Boot 2.6: From Basics to Custom Annotations

This guide explains Spring Validation in Spring Boot 2.6, covering its lightweight features, configuration of Bean Validation providers, injection of validators, practical examples, custom annotation creation, method‑level validation, and additional configuration options with clear code samples.

Bean ValidationCustom AnnotationsSpring Boot
0 likes · 8 min read
Master Spring Validation in Spring Boot 2.6: From Basics to Custom Annotations
Architect
Architect
Nov 6, 2023 · Backend Development

Unveiling MyBatis: A Deep Dive into Its Architecture and Execution Flow

This article provides a comprehensive, step‑by‑step analysis of MyBatis’s overall architecture, covering its core features, three‑layer design, configuration parsing, proxy generation, SQL execution process, and the underlying components that enable seamless Java‑to‑SQL mapping.

MyBatisORMSQL Mapping
0 likes · 11 min read
Unveiling MyBatis: A Deep Dive into Its Architecture and Execution Flow
macrozheng
macrozheng
Nov 6, 2023 · Backend Development

Mastering MyBatis PageHelper: Avoid Common Pagination Pitfalls

This article explains the core principles and multiple usage patterns of MyBatis PageHelper for pagination, demonstrates code examples, details its internal ThreadLocal and interceptor mechanisms, and highlights common pitfalls with safe versus unsafe practices to ensure reliable data retrieval.

MyBatisjavapagehelper
0 likes · 9 min read
Mastering MyBatis PageHelper: Avoid Common Pagination Pitfalls
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 6, 2023 · Fundamentals

Fundamental OOP Concepts and Design Patterns in Java

This article explains core object‑oriented concepts such as encapsulation, abstraction, inheritance and polymorphism, then details common design principles and a wide range of design patterns—including factory, builder, bridge, singleton, strategy, adapter, and proxy—illustrated with complete Java code examples and usage guidelines.

AdapterDesign PatternsFactory
0 likes · 23 min read
Fundamental OOP Concepts and Design Patterns in Java
Java Architect Essentials
Java Architect Essentials
Nov 5, 2023 · Fundamentals

19 Real‑World Bad Code Snippets Every Developer Should Avoid

This article curates 19 genuinely terrible code fragments collected from various developers, illustrating common pitfalls such as magic numbers, poorly named variables, misuse of booleans, and overly complex switch statements, and encourages readers to reflect on and learn from these mistakes.

bad codecode smellsjava
0 likes · 8 min read
19 Real‑World Bad Code Snippets Every Developer Should Avoid
FunTester
FunTester
Nov 5, 2023 · Backend Development

Why java.util.UUID.randomUUID Can Block Threads and How to Fix It

The article explains how java.util.UUID.randomUUID relies on OS entropy, can block threads when entropy is low, shows a real‑world thread‑dump example, and provides three remedies: upgrading the JDK, installing haveged, or switching to /dev/urandom.

BlockingJDKentropy
0 likes · 5 min read
Why java.util.UUID.randomUUID Can Block Threads and How to Fix It
Selected Java Interview Questions
Selected Java Interview Questions
Nov 5, 2023 · Backend Development

Design and Implementation of a High‑Performance Distributed Reconciliation System for Large‑Scale Payment Orders

This article presents a comprehensive design of a distributed reconciliation system that handles tens of millions of daily payment orders by using a six‑module architecture, Kafka for decoupled state transitions, Hive for large‑scale data processing, and Java‑based plug‑in patterns to achieve six‑nine accuracy and significant operational cost savings.

Big DataDistributed SystemsKafka
0 likes · 15 min read
Design and Implementation of a High‑Performance Distributed Reconciliation System for Large‑Scale Payment Orders
Su San Talks Tech
Su San Talks Tech
Nov 5, 2023 · Backend Development

Master Parameter & Business Rule Validation in SpringBoot Using Custom Bean Validation

Learn how to implement both simple parameter checks and complex business rule validations in SpringBoot by leveraging Bean Validation, creating custom annotations like @UniqueUser and @NotConflictUser, and integrating them seamlessly into controllers to ensure data integrity and reduce boilerplate logic.

Bean ValidationBusiness Rule ValidationCustom Annotations
0 likes · 9 min read
Master Parameter & Business Rule Validation in SpringBoot Using Custom Bean Validation
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Nov 4, 2023 · Fundamentals

Understanding the Composite Reuse Principle (CRP): Concepts, Benefits, UML, and Implementation Examples

This article provides a comprehensive explanation of the Composite Reuse Principle (CRP), covering its definition, background, advantages over inheritance, UML representation, practical Java code examples, and guidelines for choosing between composition and inheritance in object‑oriented design.

Composite Reuse PrincipleComposition over InheritanceDesign Patterns
0 likes · 11 min read
Understanding the Composite Reuse Principle (CRP): Concepts, Benefits, UML, and Implementation Examples
Su San Talks Tech
Su San Talks Tech
Nov 4, 2023 · Fundamentals

Unlock Java’s Secrets: How Bytecode Powers Cross‑Platform Execution

This article introduces Java’s bytecode fundamentals, explaining how the JVM translates compiled class files into platform‑independent instructions, the role of dynamic linking, stack frames, operand stacks, and common bytecode mnemonics, while providing code examples and visual diagrams to deepen understanding.

JVMdynamic linkingjava
0 likes · 17 min read
Unlock Java’s Secrets: How Bytecode Powers Cross‑Platform Execution
Architect's Guide
Architect's Guide
Nov 4, 2023 · Backend Development

Eliminating Code Duplication in Java Backend Development with Design Patterns, Annotations, and Bean Mapping

This article explains how to reduce repetitive Java backend code by extracting common logic into abstract classes, applying the Template Method and Factory patterns, using custom annotations with reflection for API serialization, and leveraging bean‑mapping utilities to copy properties between DTOs and DOs.

Code RefactoringDesign PatternsReflection
0 likes · 21 min read
Eliminating Code Duplication in Java Backend Development with Design Patterns, Annotations, and Bean Mapping
Top Architecture Tech Stack
Top Architecture Tech Stack
Nov 4, 2023 · Backend Development

Essential Java Libraries Every Advanced Developer Should Know

This guide presents a curated list of essential Java libraries—including testing, JSON, logging, utility, XML, Excel, bytecode, collections, HTML parsing, encryption, embedded databases, serialization, networking, Lombok, and Testcontainers—that can dramatically improve productivity and code quality for backend development.

JSONbackend-developmentjava
0 likes · 8 min read
Essential Java Libraries Every Advanced Developer Should Know
Programmer DD
Programmer DD
Nov 3, 2023 · Backend Development

Why Java Remains Dominant: Insights from the 2023 State of Java Survey

The 2023 State of Java report, based on a survey of over 2,000 Java professionals, reveals that Java adoption stays strong with most companies using LTS versions, migrating to the cloud, confronting rising costs and security challenges, while Oracle's market share declines in favor of OpenJDK alternatives.

OpenJDKOraclecloud migration
0 likes · 5 min read
Why Java Remains Dominant: Insights from the 2023 State of Java Survey
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Nov 3, 2023 · Backend Development

Unlock Massive Concurrency in Java with Virtual Threads and Structured Concurrency

This article introduces Java virtual threads, compares them with traditional platform threads, demonstrates multiple creation and execution patterns, showcases performance benefits through code examples, and explains structured concurrency as a preview feature for building high‑throughput, scalable backend applications.

Spring BootThread PoolsVirtual Threads
0 likes · 15 min read
Unlock Massive Concurrency in Java with Virtual Threads and Structured Concurrency
DaTaobao Tech
DaTaobao Tech
Nov 3, 2023 · Fundamentals

Mastering the Strategy Pattern: From Simple IF‑ELSE to Scalable Design

This article explains why hard‑coded if‑else logic hinders extensibility, introduces the Strategy pattern, shows its structure and Java implementation for data synchronization, then enhances the design with a Factory to decouple object creation, concluding with best‑practice recommendations.

Design PatternsFactory PatternObject-Oriented Design
0 likes · 8 min read
Mastering the Strategy Pattern: From Simple IF‑ELSE to Scalable Design
Architect's Guide
Architect's Guide
Nov 3, 2023 · Databases

Performance Evaluation of Inserting Hundreds of Millions of Records into MySQL Using Java, MyBatis, and JDBC

This article experimentally compares three Java‑based insertion strategies—MyBatis without transaction, plain JDBC with and without transaction, and JDBC batch processing—with and without transactions, measuring how they affect the time required to insert tens of millions of rows into MySQL.

Batch ProcessingDatabase OptimizationJDBC
0 likes · 13 min read
Performance Evaluation of Inserting Hundreds of Millions of Records into MySQL Using Java, MyBatis, and JDBC
Code Ape Tech Column
Code Ape Tech Column
Nov 3, 2023 · Backend Development

Diagnosing Excessive Native Memory Usage in a Spring Boot Application Using JVM Native Memory Tracking and System Tools

After migrating a project to the MDP framework based on Spring Boot, the author observed swap overuse and physical memory far exceeding the 4 GB heap; using JVM native memory tracking, gperftools, strace, pmap, and a custom allocator, they traced a native‑memory leak to Spring Boot’s ZipInflaterInputStream during JAR scanning and resolved it by limiting scan paths.

JVMNative MemorySpring Boot
0 likes · 12 min read
Diagnosing Excessive Native Memory Usage in a Spring Boot Application Using JVM Native Memory Tracking and System Tools
Architect
Architect
Nov 2, 2023 · Backend Development

Understanding RocketMQ Consumer Scaling and MessageQueue Allocation Strategies

This article explains when adding consumers to a RocketMQ topic improves message consumption, the reasons for consumer pull delays, and details six MessageQueue allocation strategies—including average, round‑robin, custom, machine‑room, nearby, and consistent‑hash—accompanied by code examples.

MessageQueueRocketMQconsumer scaling
0 likes · 11 min read
Understanding RocketMQ Consumer Scaling and MessageQueue Allocation Strategies
Top Architect
Top Architect
Nov 2, 2023 · Big Data

Understanding Distributed Systems and Kafka: Concepts, Architecture, and Ensuring Ordered Message Consumption

This article introduces the fundamentals of distributed systems, provides an overview of Apache Kafka’s architecture and core components, explains how Kafka ensures message ordering within partitions, and outlines Java‑based strategies to guarantee ordered consumption, including single‑partition consumption, partition assignment, and key‑based partitioning.

Big DataKafkaMessage Ordering
0 likes · 10 min read
Understanding Distributed Systems and Kafka: Concepts, Architecture, and Ensuring Ordered Message Consumption
Top Architecture Tech Stack
Top Architecture Tech Stack
Nov 2, 2023 · Databases

Strategies for Efficiently Importing One Billion Records into MySQL

This article analyzes the constraints of loading one billion 1 KB log records from distributed storage into MySQL, evaluates single‑table limits, proposes batch‑insert, sharding, storage‑engine, file‑reading, and distributed‑task coordination techniques to achieve high‑speed, ordered, and reliable data ingestion.

Batch Insertdata importjava
0 likes · 18 min read
Strategies for Efficiently Importing One Billion Records into MySQL