Tagged articles

Java

5000 articles · Page 31 of 50
FunTester
FunTester
Jan 9, 2025 · Backend Development

Understanding and Using CountDownLatch in Java Concurrency

This article explains the purpose, basic methods, best‑practice usage, and typical scenarios of Java's CountDownLatch utility, providing code examples and a comparison with Thread.sleep to help developers synchronize multiple threads effectively.

Backend DevelopmentCountDownLatchJava
0 likes · 9 min read
Understanding and Using CountDownLatch in Java Concurrency
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 9, 2025 · Fundamentals

Master Java Thread Communication: wait/notify, Locks, Conditions & BlockingQueue

This article explores Java's thread communication techniques—including the basic wait/notify mechanism, advanced Lock and Condition usage, and the thread‑safe BlockingQueue—providing detailed explanations, producer‑consumer examples, and additional concurrency utilities like CountDownLatch, illustrating how to coordinate threads efficiently in multithreaded applications.

BlockingQueueConcurrencyCondition
0 likes · 18 min read
Master Java Thread Communication: wait/notify, Locks, Conditions & BlockingQueue
DaTaobao Tech
DaTaobao Tech
Jan 8, 2025 · Fundamentals

Domain‑Driven and Process‑Driven Code Design Patterns

The article proposes a domain‑model‑driven code paradigm—defining clear business models, core domain objects, and infrastructure abstractions like repositories, facades, and factories—while contrasting it with process‑driven designs using ability nodes and chains, arguing that these patterns cut repetitive effort and boost maintainability.

Ability PatternDomain-Driven DesignJava
0 likes · 16 min read
Domain‑Driven and Process‑Driven Code Design Patterns
vivo Internet Technology
vivo Internet Technology
Jan 8, 2025 · Cloud Native

vivo Internet Technology 2024 Year-End Technical Review

In its 2024 year‑end review, vivo Internet Technology published 44 technical articles, delivered 19 presentations on cloud‑native, AI, security and more, joined major open‑source foundations such as Linux, CNCF and CCF, and grew a community of over 70,000 technical professionals.

CI/CDJavaMySQL
0 likes · 8 min read
vivo Internet Technology 2024 Year-End Technical Review
Top Architect
Top Architect
Jan 8, 2025 · Backend Development

Implementing Data Permission Interceptor in MyBatis‑Plus with Custom Annotations

This article explains how to create a custom annotation and a MyBatis‑Plus interceptor that automatically injects data‑permission SQL conditions based on the current user's role, showing both a basic implementation and an advanced version with role‑based scope handling, complete with code examples and integration steps.

Backend DevelopmentData PermissionJava
0 likes · 16 min read
Implementing Data Permission Interceptor in MyBatis‑Plus with Custom Annotations
Java Tech Enthusiast
Java Tech Enthusiast
Jan 8, 2025 · Fundamentals

The Evolution of Smalltalk, Strongtalk, HotSpot, V8, and Dart: A Journey Through Virtual Machines

From Smalltalk’s pioneering pure‑object orientation, through Strongtalk’s static typing and Sun’s HotSpot JVM, to Lars Bak’s V8 JavaScript engine and the subsequent Dart language, a handful of innovators—including Gilad Bracha, Urs Hölzle, and Bak himself—have continually reshaped virtual‑machine performance and modern programming ecosystems.

DARTJavaV8
0 likes · 7 min read
The Evolution of Smalltalk, Strongtalk, HotSpot, V8, and Dart: A Journey Through Virtual Machines
Selected Java Interview Questions
Selected Java Interview Questions
Jan 8, 2025 · Backend Development

Understanding Spring Dependency Injection: Constructor, Setter, and Field Injection

This article explains why Spring Framework discourages field injection with @Autowired, compares constructor, setter, and field injection types, provides code examples for each, and discusses the drawbacks of field injection such as immutability issues, violation of single‑responsibility principle, tight coupling to the container, and hidden dependencies.

AutowiredConstructor InjectionDependency Injection
0 likes · 8 min read
Understanding Spring Dependency Injection: Constructor, Setter, and Field Injection
Su San Talks Tech
Su San Talks Tech
Jan 8, 2025 · Backend Development

How DynamicTp Enables Real‑Time Thread Pool Monitoring and Auto‑Tuning in Java

DynamicTp extends Java's ThreadPoolExecutor with zero‑intrusion configuration, real‑time parameter adjustment, comprehensive monitoring, and multi‑channel alerting, allowing developers to dynamically tune thread pools across microservices using popular configuration centers and integrate with tools like Micrometer and Grafana.

DynamicTpJavaSpringBoot
0 likes · 11 min read
How DynamicTp Enables Real‑Time Thread Pool Monitoring and Auto‑Tuning in Java
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 8, 2025 · Backend Development

Why Java ThreadPoolExecutor’s Core Threads Aren’t Recycled by Default

In Java’s ThreadPoolExecutor, core threads remain alive even when idle unless the allowCoreThreadTimeOut flag is set to true, which then permits both core and non‑core threads to be reclaimed after exceeding the keepAliveTime threshold, a behavior that contradicts the pool’s design principle of minimizing thread creation overhead.

ConcurrencyJavaThreadPoolExecutor
0 likes · 2 min read
Why Java ThreadPoolExecutor’s Core Threads Aren’t Recycled by Default
dbaplus Community
dbaplus Community
Jan 7, 2025 · Backend Development

Can You Beat the One Billion Row Challenge? Inside Java Performance Secrets

This article explores the One Billion Row Challenge, a Java benchmark that requires parsing a 13 GB file of one billion temperature records, and walks through baseline code, top‑ranked solutions, and a step‑by‑step performance tuning journey that reduces execution time from minutes to under two seconds.

BenchmarkJavaOne Billion Row Challenge
0 likes · 21 min read
Can You Beat the One Billion Row Challenge? Inside Java Performance Secrets
IT Services Circle
IT Services Circle
Jan 7, 2025 · Backend Development

Replacing Thread.sleep Loops with Proper Scheduling in Java

The article explains why using Thread.sleep in a loop causes busy‑waiting and performance problems, and demonstrates several Java scheduling alternatives—including Timer/TimerTask, ScheduledExecutorService, wait/notify, and CompletableFuture—to efficiently check a flag at fixed intervals.

CompletableFutureConcurrencyJava
0 likes · 9 min read
Replacing Thread.sleep Loops with Proper Scheduling in Java
Top Architect
Top Architect
Jan 7, 2025 · Backend Development

Integrating Flowable Workflow Engine with Spring Boot: A Step‑by‑Step Guide

This article introduces the evolution of Java workflow engines, explains core BPMN concepts, and provides a comprehensive tutorial on integrating Flowable with Spring Boot—including Maven dependencies, database configuration, BPMN diagram creation, service task implementation, diagram viewing API, and unit testing.

BPMNFlowableJava
0 likes · 21 min read
Integrating Flowable Workflow Engine with Spring Boot: A Step‑by‑Step Guide
Java Tech Enthusiast
Java Tech Enthusiast
Jan 7, 2025 · Backend Development

Using @Import for Modular Spring Boot Development

Spring Boot enables modular backend development by placing each feature in its own Maven module and using @Import (or custom annotations, ImportSelector, ImportBeanDefinitionRegistrar, and @ConditionalOnProperty) to load configuration classes, scan components, and conditionally register beans while keeping the application a single monolithic program.

Dependency InjectionImport AnnotationJava
0 likes · 19 min read
Using @Import for Modular Spring Boot Development
Selected Java Interview Questions
Selected Java Interview Questions
Jan 7, 2025 · Backend Development

Spring Boot Asynchronous Processing: Principles, Configuration, and Practical Use Cases

This article explains Spring Boot’s asynchronous processing mechanism, covering its purpose, the @Async annotation, configuration steps, custom thread pool setup, handling return values, and typical use cases, enabling developers to improve performance and responsiveness in backend applications.

Backend DevelopmentJavaSpring Boot
0 likes · 9 min read
Spring Boot Asynchronous Processing: Principles, Configuration, and Practical Use Cases
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jan 7, 2025 · Backend Development

Cache Consistency: Pitfalls of Delayed Double Delete and Lease/Versioning Solutions with Redis

This article examines why many large‑scale systems avoid the traditional delayed double‑delete cache‑invalidation strategy, explains its critical drawbacks, and presents alternative lease‑based and version‑based approaches with Lua scripts and Java wrappers for Redis to achieve stronger consistency.

Delayed Double DeleteJavaLease
0 likes · 17 min read
Cache Consistency: Pitfalls of Delayed Double Delete and Lease/Versioning Solutions with Redis
FunTester
FunTester
Jan 7, 2025 · Backend Development

Using Apache Commons Lang 3 for Efficient Object Comparison in Java

This article introduces Apache Commons Lang 3, explains its key utilities, and demonstrates how to integrate the library with Maven and employ DiffBuilder and ReflectionDiffBuilder to compare Java objects, generate detailed difference reports, and simplify debugging and testing processes.

Apache Commons LangDiffBuilderJava
0 likes · 9 min read
Using Apache Commons Lang 3 for Efficient Object Comparison in Java
Open Source Linux
Open Source Linux
Jan 7, 2025 · Fundamentals

Master Elegant Null Checks in Java with StringUtils and ObjectUtils

This guide explains how to efficiently and elegantly handle null pointer checks in Java by identifying data types, selecting the right utility classes such as StringUtils, ObjectUtils, Arrays, Collections, and applying their isEmpty methods to reduce repetitive code.

JavaObjectUtilsStringUtils
0 likes · 7 min read
Master Elegant Null Checks in Java with StringUtils and ObjectUtils
21CTO
21CTO
Jan 6, 2025 · Backend Development

When Declarative Beats Imperative: Mastering Java Streams and Annotations

Explore the contrast between declarative and imperative programming, dive into Java Stream fundamentals, benchmark parallel versus sequential execution, and understand the role of annotations, offering practical insights for writing cleaner, more efficient backend code.

Declarative programmingJavaPerformance
0 likes · 9 min read
When Declarative Beats Imperative: Mastering Java Streams and Annotations
Architect
Architect
Jan 6, 2025 · Backend Development

Unlocking Java Plugin Architecture: From SPI to Spring Factories

This article explains why plugin mechanisms improve modularity, extensibility, and third‑party integration, then walks through practical Java SPI implementations, custom configuration loading, and Spring Boot’s spring.factories approach, providing complete code examples and step‑by‑step guidance for building a robust plugin system.

Dependency InjectionJavaSPI
0 likes · 21 min read
Unlocking Java Plugin Architecture: From SPI to Spring Factories
Java Tech Enthusiast
Java Tech Enthusiast
Jan 6, 2025 · Backend Development

Overview of Common Java Expression Engines and Utility Wrappers

The article surveys popular Java expression engines—including Spring Expression Language, OGNL, Aviator, and MVEL2—detailing their key features and providing lightweight utility wrappers, and highlights Hutool’s unified façade that can encapsulate these engines to simplify dynamic rule evaluation in backend applications.

AviatorExpression EngineHutool
0 likes · 12 min read
Overview of Common Java Expression Engines and Utility Wrappers
Architecture Digest
Architecture Digest
Jan 6, 2025 · Backend Development

Optimizing Large IN Queries with Spring AOP and Multithreaded Splitting

This article explains how to improve performance of massive IN‑list queries in PostgreSQL by splitting the parameter list, executing the sub‑queries concurrently with a custom Spring AOP annotation, and merging the results using a configurable thread pool and return‑handling strategy.

AOPJavaMultithreading
0 likes · 9 min read
Optimizing Large IN Queries with Spring AOP and Multithreaded Splitting
Top Architecture Tech Stack
Top Architecture Tech Stack
Jan 6, 2025 · Backend Development

10 Essential MyBatis Development Tips for Efficient Backend Programming

This article presents ten practical MyBatis techniques—including dynamic SQL, resultMap, foreach, pagination, annotation proxies, second‑level cache, dynamic table names, custom type handlers, logging, and multi‑datasource configuration—to help Java developers write cleaner, safer, and more performant data‑access code.

JavaMyBatisORM
0 likes · 11 min read
10 Essential MyBatis Development Tips for Efficient Backend Programming
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 6, 2025 · Backend Development

Master Thread Sequencing in Java: 8 Proven Techniques

This article explains why thread execution order is nondeterministic and presents eight Java techniques—join, single‑thread executor, CountDownLatch, CyclicBarrier, Semaphore, synchronized with wait/notify, and Lock with Condition—to reliably enforce sequential execution, complete with clear code examples for each method.

ConcurrencyCountDownLatchExecutorService
0 likes · 13 min read
Master Thread Sequencing in Java: 8 Proven Techniques
Java Tech Enthusiast
Java Tech Enthusiast
Jan 5, 2025 · Backend Development

Six Common JSON Parsing Methods in Java

Java developers can parse JSON using six popular approaches—Jackson for high‑performance, annotation‑driven serialization; Gson for a lightweight, easy‑to‑use API; FastJSON for speed; JsonPath for XPath‑style nested extraction; org.json for simple utility; or manual parsing for full control—each suited to different performance and complexity needs.

FastJSONGsonJava
0 likes · 9 min read
Six Common JSON Parsing Methods in Java
Architecture Digest
Architecture Digest
Jan 5, 2025 · Backend Development

A Comparative Overview of Java Expression Engines: Spring EL, OGNL, Aviator, MVEL, and Hutool

This article introduces and compares several Java expression engines—including Spring Expression Language, OGNL, Aviator, MVEL, and Hutool's expression facade—detailing their key features, typical use cases, security considerations, and providing utility class examples with code snippets for each engine.

AviatorExpression LanguageHutool
0 likes · 12 min read
A Comparative Overview of Java Expression Engines: Spring EL, OGNL, Aviator, MVEL, and Hutool
Top Architect
Top Architect
Jan 4, 2025 · Backend Development

Comprehensive Maven Guide: Repository Setup, Dependency Management, Multi‑Module Projects, and Plugin Configuration

This article provides a step‑by‑step tutorial on using Maven for Java backend projects, covering repository configuration, basic POM structure, dependency declaration, scope handling, exclusion, variable properties, multi‑module management, dependencyManagement, and common build plugins such as jar, assembly, and shade.

Backend DevelopmentBuild ToolsJava
0 likes · 22 min read
Comprehensive Maven Guide: Repository Setup, Dependency Management, Multi‑Module Projects, and Plugin Configuration
Top Architect
Top Architect
Jan 4, 2025 · Backend Development

A Comprehensive Guide to Java Enums: Basics, Advanced Techniques, and Design Patterns

This article explains what Java enums are, why they are preferable to constants, demonstrates basic and custom enum definitions, shows how to compare, switch, and extend enums with properties, methods and constructors, and explores advanced uses such as EnumSet, EnumMap, Singleton and Strategy patterns, including Java 8 stream examples and JSON serialization.

Design PatternsEnumMapEnumSet
0 likes · 16 min read
A Comprehensive Guide to Java Enums: Basics, Advanced Techniques, and Design Patterns
Java Architect Essentials
Java Architect Essentials
Jan 3, 2025 · Backend Development

Using Java 8 Optional to Prevent NullPointerException: Methods, Examples, and Best Practices

This article introduces Java 8's Optional class as a robust solution for avoiding NullPointerException, explains its creation methods, demonstrates common operations such as get, isPresent, ifPresent, filter, map, flatMap, orElse, orElseGet, orElseThrow, and provides practical usage scenarios and cautions for developers.

BestPracticesJavaJava8
0 likes · 16 min read
Using Java 8 Optional to Prevent NullPointerException: Methods, Examples, and Best Practices
FunTester
FunTester
Jan 3, 2025 · Backend Development

Java Atomic Package Classes: AtomicBoolean, AtomicInteger, AtomicLong, and LongAdder

This article introduces Java's java.util.concurrent.atomic package, detailing the core atomic classes—AtomicBoolean, AtomicInteger, AtomicLong, and LongAdder—including their constructors, key methods, typical use cases, and performance considerations in high‑concurrency scenarios for developers seeking efficient thread‑safe operations.

JavaMultithreadingPerformance
0 likes · 9 min read
Java Atomic Package Classes: AtomicBoolean, AtomicInteger, AtomicLong, and LongAdder
Top Architect
Top Architect
Jan 2, 2025 · Fundamentals

Understanding ForkJoinPool: Divide‑and‑Conquer, Task Splitting, and Performance in Java

This article explains the Fork/Join model and ForkJoinPool in Java, covering divide‑and‑conquer theory, RecursiveTask implementation, task submission methods, work‑stealing queues, common pool pitfalls, and performance testing with code examples to help developers choose and tune parallel execution strategies.

ConcurrencyDivideAndConquerForkJoinPool
0 likes · 25 min read
Understanding ForkJoinPool: Divide‑and‑Conquer, Task Splitting, and Performance in Java
Top Architect
Top Architect
Jan 2, 2025 · Backend Development

Comprehensive Guide to Spring Utility Classes: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AOP Helpers

This article presents a comprehensive guide to Spring's utility classes—including Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, StreamUtils, ReflectionUtils, and AOP helpers—detailing their purpose, usage patterns, and code examples, while also containing promotional material for related services.

CodeExamplesJavaSpring
0 likes · 14 min read
Comprehensive Guide to Spring Utility Classes: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ReflectionUtils, and AOP Helpers
Java Tech Enthusiast
Java Tech Enthusiast
Jan 2, 2025 · Backend Development

Essential Java Libraries and Tools for Backend Development

Beyond the JDK, modern Java backend development relies on a core toolkit—including SpringBoot, Netty, Guava or Hutool utilities, JUnit 5 with Mockito, JMH, OkHTTP, HikariCP or Druid pools, Caffeine cache, Hazelcast, SLF4J + Logback, Jackson, Jolokia, Hibernate‑Validator, and FreeMarker—to build robust, high‑performance enterprise services.

JavaPerformanceSpringBoot
0 likes · 10 min read
Essential Java Libraries and Tools for Backend Development
Architect
Architect
Jan 1, 2025 · Backend Development

Six Common Ways to Read Request Parameters in Spring Boot

This article explains six typical techniques—@RequestParam, @PathVariable, @MatrixVariable, @RequestBody, @RequestHeader, and @CookieValue—for extracting request data in Spring Boot APIs, providing usage scenarios and concrete code examples for each method.

APIBackend DevelopmentJava
0 likes · 5 min read
Six Common Ways to Read Request Parameters in Spring Boot
Java Tech Enthusiast
Java Tech Enthusiast
Jan 1, 2025 · Information Security

Fixing Logback CVE-2023-6378 in Spring Boot 2.7.x

To remediate CVE‑2023‑6378 in a Spring Boot 2.7.x application, you must replace the default logging starter with a direct Logback 1.2.x dependency (e.g., 1.2.13), because Spring Boot 2.7 cannot use Logback 1.3.x due to the removed StaticLoggerBinder class; the only other option is to upgrade the whole stack to Spring Boot 3.x, Logback 1.4.x, and JDK 11.

CVE-2023-6378JavaLogback
0 likes · 14 min read
Fixing Logback CVE-2023-6378 in Spring Boot 2.7.x
Selected Java Interview Questions
Selected Java Interview Questions
Jan 1, 2025 · Backend Development

Understanding Distributed Locks and Robust Implementations with Redis

This article explains the challenges of thread synchronization in distributed systems, introduces the concept of distributed locks, compares common implementations such as Redis, Zookeeper, and databases, and provides robust Java and Lua solutions to ensure atomicity, avoid deadlocks, and support lock renewal.

AtomicityConcurrencyDistributed Lock
0 likes · 14 min read
Understanding Distributed Locks and Robust Implementations with Redis
Su San Talks Tech
Su San Talks Tech
Jan 1, 2025 · Backend Development

What’s New in Spring Boot 3.4? Key Upgrades, Config Changes, and Migration Tips

Spring Boot 3.4 introduces extensive updates—including RestClient and RestTemplate auto‑configuration, revised HTTP client factories, refined bean validation, graceful shutdown defaults, a new Paketo tiny builder for OCI images, deprecations, and numerous configuration and observability enhancements—providing developers with a comprehensive guide to upgrade and leverage the latest features.

JavaMigrationSpring Boot
0 likes · 20 min read
What’s New in Spring Boot 3.4? Key Upgrades, Config Changes, and Migration Tips
Architecture Digest
Architecture Digest
Dec 31, 2024 · Backend Development

Top IntelliJ IDEA Plugins for Java Development

This article presents a curated list of 31 IntelliJ IDEA plugins—including translation tools, language packs, UI themes, code navigation, version control, code quality, and productivity enhancers—that together streamline Java backend development and improve developer efficiency.

IDE pluginsIntelliJJava
0 likes · 10 min read
Top IntelliJ IDEA Plugins for Java Development
Top Architect
Top Architect
Dec 31, 2024 · Backend Development

Java Plugin Architecture and Spring Boot Implementation Guide

This article explains various plugin implementation approaches in Java, including SPI, ServiceLoader, custom configuration, and Spring Boot's spring.factories, providing detailed code examples and step‑by‑step guidance for building extensible backend systems that can be dynamically loaded and configured at runtime.

JavaPluginSPI
0 likes · 22 min read
Java Plugin Architecture and Spring Boot Implementation Guide
JavaEdge
JavaEdge
Dec 31, 2024 · Backend Development

2024 Java Ecosystem Trends: Adoption, AI Integration, and Emerging Foundations

The 2024 Java trend report analyzes JDK adoption rates, AI tooling, the rise of the Commonhaus Foundation, Spring and Jakarta EE evolution, virtual thread adoption, and community insights, offering guidance for technical leaders and developers planning their future investments.

AICommonhausJava
0 likes · 16 min read
2024 Java Ecosystem Trends: Adoption, AI Integration, and Emerging Foundations
Dangbei Technology Team
Dangbei Technology Team
Dec 31, 2024 · Backend Development

How WebSocket Powers Real-Time IoT Devices: Architecture & Code Walkthrough

This article explores the role of WebSocket in IoT, detailing its advantages over HTTP, comparing Java implementations, presenting a Netty‑based architecture for smart devices, and providing complete code examples for connection handling, authentication, and message processing to achieve real‑time communication.

Backend DevelopmentIoTJava
0 likes · 12 min read
How WebSocket Powers Real-Time IoT Devices: Architecture & Code Walkthrough
Architect's Guide
Architect's Guide
Dec 31, 2024 · Backend Development

Apollo Configuration Center: Concepts, Architecture, and Spring Boot Integration Guide

This article provides a comprehensive tutorial on Apollo, covering its basic concepts, architecture, four-dimensional configuration model, client design, high‑availability considerations, and step‑by‑step instructions for creating a Spring Boot project, integrating Apollo dependencies, configuring environments, testing dynamic updates, and deploying the application on Kubernetes.

ApolloJavaKubernetes
0 likes · 22 min read
Apollo Configuration Center: Concepts, Architecture, and Spring Boot Integration Guide
Java Tech Enthusiast
Java Tech Enthusiast
Dec 30, 2024 · Backend Development

The Rise of Java: From Toy to Enterprise Powerhouse

A senior developer recounts switching from C# and Python to Java for web projects and higher pay, illustrating Java’s evolution from a “toy” language with early JVM limits to an enterprise powerhouse driven by JIT, Spring Boot, and robust performance that now rivals C++.

JVMJavaSpring
0 likes · 9 min read
The Rise of Java: From Toy to Enterprise Powerhouse
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Dec 30, 2024 · Backend Development

Comprehensive Introduction to Domain-Driven Design (DDD)

This article provides a comprehensive overview of Domain-Driven Design (DDD), explaining its core principles, layered architecture, domain model components such as entities, value objects, aggregates, and bounded contexts, and includes Java code examples to illustrate implementation.

Backend DevelopmentDDDDesign Patterns
0 likes · 6 min read
Comprehensive Introduction to Domain-Driven Design (DDD)
macrozheng
macrozheng
Dec 30, 2024 · Backend Development

Master Java Stream API: From Basics to Advanced Collection Operations

This article introduces Java Stream API introduced in JDK 8, explains its pipeline concept, and demonstrates practical operations such as traversal, filtering, deduplication, type conversion, collection‑to‑map transformations, pagination, matching, and parallel processing with clear code examples.

CollectionsJavaJava8
0 likes · 15 min read
Master Java Stream API: From Basics to Advanced Collection Operations
Top Architect
Top Architect
Dec 29, 2024 · Backend Development

Replacing MyBatis with MyBatis‑Plus: Debugging Conversion Errors and Version Compatibility

This article walks through migrating an old MySQL‑5.7 project from MyBatis 3.5.0 to MyBatis‑Plus 3.1.1, explains the "Conversion not supported for type java.time.LocalDateTime" exception, shows how upgrading mysql‑connector‑java resolves the issue, and shares lessons learned from a production bug caused by an over‑optimistic validation change.

JavaMySQLORM
0 likes · 10 min read
Replacing MyBatis with MyBatis‑Plus: Debugging Conversion Errors and Version Compatibility
Architecture Digest
Architecture Digest
Dec 29, 2024 · Backend Development

Refactoring Spring MVC Controllers: Unified Return Structure, Response Advice, Parameter Validation, and Global Exception Handling

This article explains how to refactor the Spring MVC controller layer by introducing a unified response format, using ResponseBodyAdvice for automatic wrapping, fixing String conversion issues, applying JSR‑303 validation, creating custom validators, and handling exceptions globally to keep controller code clean and maintainable.

ControllerExceptionHandlingJava
0 likes · 18 min read
Refactoring Spring MVC Controllers: Unified Return Structure, Response Advice, Parameter Validation, and Global Exception Handling
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Dec 29, 2024 · Backend Development

Deep Dive into Spring's @Autowired Annotation: Implementation and Injection Mechanism

This article provides a comprehensive analysis of Spring's @Autowired annotation, explaining its purpose, usage in constructor, field, and method injection, and detailing the underlying bean post‑processor logic, dependency resolution, and candidate selection that enable automatic dependency injection.

AutowiredBeanPostProcessorDependency Injection
0 likes · 10 min read
Deep Dive into Spring's @Autowired Annotation: Implementation and Injection Mechanism
Top Architect
Top Architect
Dec 28, 2024 · Backend Development

Building a Netty + WebSocket Message Push Server in Java

This article presents a step‑by‑step guide to building a Netty‑based WebSocket server in Java, covering server initialization, channel configuration, custom handlers, push‑message services, testing procedures, and includes complete source code, while also containing promotional material for unrelated AI services.

JavaMessage PushSpring
0 likes · 11 min read
Building a Netty + WebSocket Message Push Server in Java
Su San Talks Tech
Su San Talks Tech
Dec 28, 2024 · Backend Development

Master Spring Boot Multi‑DataSource Integration with MyBatis

This tutorial explains how to combine Spring Boot, MyBatis, and multiple databases using Druid connection pools, dynamic routing data sources, custom annotations, and AOP, providing complete configuration examples, code snippets, and best‑practice guidance for backend developers.

JavaMulti-DataSourceSpring Boot
0 likes · 17 min read
Master Spring Boot Multi‑DataSource Integration with MyBatis
JD Tech Talk
JD Tech Talk
Dec 27, 2024 · Backend Development

Log Sampling and Cross‑Thread Propagation in High‑Throughput Java Services

The article examines the performance impact of excessive logging in large‑scale Java systems and proposes request‑level sampling with cross‑thread identifier propagation, offering practical component‑based solutions, implementation considerations, and a concrete code example for backend developers.

JavaLoggingThreadLocal
0 likes · 7 min read
Log Sampling and Cross‑Thread Propagation in High‑Throughput Java Services
JD Cloud Developers
JD Cloud Developers
Dec 27, 2024 · Backend Development

How to Implement Cross-Thread Log Sampling in High-Throughput Java Services

Log volume can cripple high-throughput Java systems, especially during traffic spikes, so this article explores practical strategies for request-level log sampling, cross-thread trace propagation, and component-based APIs to balance observability with performance, including code examples and implementation considerations.

JavaThreadLocallog sampling
0 likes · 8 min read
How to Implement Cross-Thread Log Sampling in High-Throughput Java Services
Architect's Guide
Architect's Guide
Dec 27, 2024 · Backend Development

Fast‑Retry: High‑Performance Asynchronous Retry Framework for Java

Fast‑Retry is a high‑throughput Java retry library that enables asynchronous, non‑blocking retries for massive task volumes, offering programmable and annotation‑based APIs, custom retry policies, and significant performance gains over traditional synchronous frameworks like Spring‑Retry and Guava‑Retry.

JavaPerformanceSpring
0 likes · 11 min read
Fast‑Retry: High‑Performance Asynchronous Retry Framework for Java
IT Services Circle
IT Services Circle
Dec 26, 2024 · Fundamentals

Understanding the JDK Bug in Arrays.asList().toArray() and Its Fix in JDK 9

This article explains a long‑standing JDK bug where Arrays.asList().toArray() returns an Object[] that causes ArrayStoreException when modified, analyzes the underlying implementation differences between java.util.ArrayList and Arrays$ArrayList, and describes how the issue was finally fixed in JDK 9.

ArrayStoreExceptionArrays.asListJDK
0 likes · 9 min read
Understanding the JDK Bug in Arrays.asList().toArray() and Its Fix in JDK 9
Top Architect
Top Architect
Dec 26, 2024 · Information Security

OAuth2.0 Overview and Spring Boot Implementation Guide

This article introduces OAuth2.0 concepts, outlines its roles and grant types, and provides a step‑by‑step Spring Boot implementation of an authorization server, resource server, and test client, followed by test results and promotional information.

AuthorizationJavaSpring Boot
0 likes · 12 min read
OAuth2.0 Overview and Spring Boot Implementation Guide
Top Architect
Top Architect
Dec 26, 2024 · Backend Development

Implementing Login Attempt Limiting with Spring Boot, Redis, and Lua Scripts

This article explains how to prevent brute‑force password attempts by locking an IP after three failed logins using a Spring Boot backend, Redis for distributed counters, and a Lua script to ensure atomic increment and expiration, while also providing a simple HTML login page for the front end.

JavaLoginRateLimitingLua
0 likes · 19 min read
Implementing Login Attempt Limiting with Spring Boot, Redis, and Lua Scripts
Architecture Digest
Architecture Digest
Dec 26, 2024 · Backend Development

Understanding Java 21 Virtual Threads: Basics, Spring Boot Integration, and Performance Comparison

This article introduces Java 21 virtual threads, explains their lightweight, high‑concurrency and automatic management advantages, demonstrates basic and delayed usage with code examples, shows how to enable them in Spring Boot, and compares their performance against traditional threads in various scenarios.

ConcurrencyJavaJava 21
0 likes · 7 min read
Understanding Java 21 Virtual Threads: Basics, Spring Boot Integration, and Performance Comparison
FunTester
FunTester
Dec 26, 2024 · Fundamentals

Chapter 2 – Common Java Multithreading Utilities and the synchronized Keyword

This chapter introduces advanced Java multithreading concepts, explaining thread safety, the synchronized keyword, various synchronization techniques, and practical code examples such as object‑level, class‑level, method‑level synchronization and double‑checked locking to help solve concurrency problems in performance testing.

ConcurrencyJavaSynchronization
0 likes · 15 min read
Chapter 2 – Common Java Multithreading Utilities and the synchronized Keyword
Java Architect Essentials
Java Architect Essentials
Dec 25, 2024 · Backend Development

Understanding Java Connection Pools: Commons Pool 2, Jedis, and HikariCP Performance

This article explains the principles of object pooling in Java, introduces the Commons Pool 2 library and its use in Redis client Jedis, compares pool and non‑pool performance with JMH benchmarks, and details the fast HikariCP database connection pool along with configuration tips and interview questions.

Commons-PoolConnection PoolHikariCP
0 likes · 15 min read
Understanding Java Connection Pools: Commons Pool 2, Jedis, and HikariCP Performance
Top Architect
Top Architect
Dec 25, 2024 · Backend Development

Replacing Tomcat with Undertow in Spring Boot: Configuration, Features, and Performance Comparison

This article explains how Spring Boot uses Tomcat by default, introduces Undertow as a high‑performance alternative, provides step‑by‑step Maven configuration to switch containers, compares Tomcat and Undertow on throughput and memory usage, and recommends Undertow for high‑concurrency Java web applications.

JavaSpringBootUndertow
0 likes · 9 min read
Replacing Tomcat with Undertow in Spring Boot: Configuration, Features, and Performance Comparison
macrozheng
macrozheng
Dec 25, 2024 · Backend Development

FastExcel: The New Java Library Replacing EasyExcel for High‑Performance Excel Processing

FastExcel, a Java‑based open‑source library announced after EasyExcel's discontinuation, offers fast, memory‑efficient Excel read/write, full compatibility with EasyExcel, simple APIs, MIT licensing for commercial use, easy Maven/Gradle integration, and clear code examples that have already attracted over 2,000 GitHub stars.

ExcelFastExcelJava
0 likes · 8 min read
FastExcel: The New Java Library Replacing EasyExcel for High‑Performance Excel Processing
Architect
Architect
Dec 24, 2024 · Backend Development

12 MyBatisPlus Optimization Techniques for Efficient Database Operations

This article presents twelve practical MyBatisPlus optimization techniques—including avoiding isNull checks, specifying select fields, batch operations, using EXISTS, safe ordering, LambdaQuery, between, index-aware sorting, pagination, null handling, performance tracking, enum mapping, logical deletion, optimistic locking, and increment/decrement—to write cleaner, faster, and more maintainable backend code.

Backend DevelopmentJavaMybatisPlus
0 likes · 16 min read
12 MyBatisPlus Optimization Techniques for Efficient Database Operations
Raymond Ops
Raymond Ops
Dec 24, 2024 · Operations

How to Diagnose and Fix High CPU and Memory Usage in Java Applications

This guide walks through identifying Java processes that cause high CPU load, extracting the hottest threads with top and jstack, analyzing JVM memory regions, interpreting GC logs, and applying practical JVM tuning parameters and tools such as jmap, jstat, and MAT to resolve performance bottlenecks.

CPUGCJVM
0 likes · 18 min read
How to Diagnose and Fix High CPU and Memory Usage in Java Applications
Selected Java Interview Questions
Selected Java Interview Questions
Dec 24, 2024 · Backend Development

Design and Implementation of a Custom Distributed Job Scheduling Framework (k‑job)

This article introduces the motivation, architecture, technology choices, and key implementation details of a lightweight, highly extensible distributed job scheduling framework built on gRPC, Protobuf, a custom name‑server, and a bespoke message‑queue, addressing limitations of existing solutions like Quartz, XXL‑Job, and PowerJob.

JavaJob SchedulingMessage Queue
0 likes · 14 min read
Design and Implementation of a Custom Distributed Job Scheduling Framework (k‑job)
Tencent Cloud Developer
Tencent Cloud Developer
Dec 24, 2024 · Backend Development

From Java to Go: Key Differences Every Developer Must Know

This article compares Java and Go across syntax simplicity, type systems, object‑oriented features, pointers, error handling, concurrency, reflection, and community culture, providing concrete code examples and practical insights to help Java developers transition smoothly to Go.

Backend DevelopmentConcurrencyError handling
0 likes · 14 min read
From Java to Go: Key Differences Every Developer Must Know
Architect's Guide
Architect's Guide
Dec 24, 2024 · Frontend Development

One‑Click Frontend Generation Tool for Backend Developers

This article introduces a free, low‑code web tool that lets backend developers instantly generate a functional admin‑type frontend UI from database schemas or Java/SQL description files, requiring only minimal configuration and no front‑end coding skills.

Backend ToolsFrontend GenerationJava
0 likes · 5 min read
One‑Click Frontend Generation Tool for Backend Developers
Su San Talks Tech
Su San Talks Tech
Dec 24, 2024 · Backend Development

10 Must‑Know MyBatis Tricks to Supercharge Your Java Backend

Discover ten powerful MyBatis techniques—from dynamic SQL and resultMap customization to batch operations, pagination, annotation‑based mappers, caching, dynamic table names, custom type handlers, logging, and multi‑datasource configuration—that can dramatically improve Java backend development efficiency and code quality.

JavaORMPerformance
0 likes · 10 min read
10 Must‑Know MyBatis Tricks to Supercharge Your Java Backend