Tagged articles

Java

5000 articles · Page 27 of 50
Code Ape Tech Column
Code Ape Tech Column
May 13, 2025 · Backend Development

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

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

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

An Introduction to SootUp: Static Analysis of JVM Code

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

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

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

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

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

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

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

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

Understanding Java Thread Pools: Design, Implementation, and Usage

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

ConcurrencyExecutorJava
0 likes · 30 min read
Understanding Java Thread Pools: Design, Implementation, and Usage
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
May 12, 2025 · Backend Development

How to Use SpringBoot, Dubbo, and Seata to Solve Distributed Transaction Data Inconsistency

This article walks through integrating SpringBoot, Dubbo, and Seata to implement reliable distributed transactions, covering project setup, Maven dependencies, service definitions, Nacos registration, configuration files, testing normal commits and rollbacks, and troubleshooting version incompatibilities.

Distributed TransactionsDubboJava
0 likes · 17 min read
How to Use SpringBoot, Dubbo, and Seata to Solve Distributed Transaction Data Inconsistency
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
May 12, 2025 · Backend Development

Mastering Feature Toggles in Spring Boot 3: 6 Practical Implementations

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

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

Understanding Abstract Classes and Interfaces: Design Principles and Practical Uses

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

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

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

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

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

Understanding Java synchronized: Locks, Optimizations, and Example Code

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

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

Master Maven pom.xml: Essential Configurations for Java Projects

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

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

Using @ConversionService in Spring Boot for Automatic Request Parameter Conversion

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

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

Understanding and Preventing HTTP Redirect Attacks in Java Applications

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

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

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

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

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

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

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

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

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

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

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

How @Encrypt Simplifies API Security in SpringBoot

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

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

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

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

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

Boost Your Java Productivity: Essential Utility Classes You Should Know

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

Apache CommonsCollectionsJava
0 likes · 20 min read
Boost Your Java Productivity: Essential Utility Classes You Should Know
Java Captain
Java Captain
May 8, 2025 · Backend Development

Guide to Using easy-data-scope for Dynamic SQL Data Permissions in Spring Boot

This tutorial explains how to set up and use the easy-data-scope library in a Spring Boot project to implement dynamic SQL data‑permission rules with MyBatis, covering database preparation, Maven dependencies, core annotations, configuration files, and example queries for various permission scenarios.

Data PermissionJavaMyBatis
0 likes · 10 min read
Guide to Using easy-data-scope for Dynamic SQL Data Permissions in Spring Boot
IT Xianyu
IT Xianyu
May 8, 2025 · Databases

Redis for DBAs: Quick Installation, Core Commands, Caching Design Patterns, and High‑Concurrency Practices

This article explains why Redis is becoming a DBA's favorite, provides a five‑minute installation guide, essential commands, cache‑design pitfalls and solutions, explores Redis data structures with Java examples, demonstrates distributed locking and flash‑sale implementations, and covers clustering, backup, monitoring, and performance tuning.

ClusterJavaRedis
0 likes · 9 min read
Redis for DBAs: Quick Installation, Core Commands, Caching Design Patterns, and High‑Concurrency Practices
Lin is Dream
Lin is Dream
May 8, 2025 · Backend Development

Boost Large-Scale Excel Exports in Java with a Multi-Threaded EasyExcel Template

This article introduces a reusable Java template that leverages EasyExcel v3.3.2 to efficiently export massive backend datasets—such as orders or financial records—to Excel, supporting both multi‑threaded and synchronous modes, pagination, sheet splitting, and customizable query logic, thereby reducing repetitive code and improving performance.

EasyExcelExcel exportJava
0 likes · 11 min read
Boost Large-Scale Excel Exports in Java with a Multi-Threaded EasyExcel Template
Java Tech Enthusiast
Java Tech Enthusiast
May 8, 2025 · Backend Development

Comprehensive Overview of Spring Ecosystem Upgrades: Spring 6 Core Features, Spring Boot 3.0 Breakthroughs, and Migration Roadmap

The article surveys the Spring 6 and Spring Boot 3.0 upgrades—JDK 17 baseline, virtual threads, @HttpExchange client, RFC 7807 ProblemDetail handling, GraalVM native images, Jakarta EE 9+ migration, enhanced auto‑configuration, OAuth2 authorization server, Prometheus‑compatible metrics—and provides a step‑by‑step migration roadmap with practical recommendations for modernizing e‑commerce applications.

Cloud NativeGraalVMJava
0 likes · 7 min read
Comprehensive Overview of Spring Ecosystem Upgrades: Spring 6 Core Features, Spring Boot 3.0 Breakthroughs, and Migration Roadmap
Shepherd Advanced Notes
Shepherd Advanced Notes
May 8, 2025 · Backend Development

Missing Parameter Validation Can Crash a Spring Boot Service – A Complete Guide

A real‑world incident where an unchecked null request parameter caused a full‑table query, massive memory usage and OOM is examined, then Spring Boot’s validation framework—including manual checks, annotation‑driven constraints, nested and group validation, and global exception handling—is demonstrated step‑by‑step with code samples.

JavaSpring BootValidation
0 likes · 18 min read
Missing Parameter Validation Can Crash a Spring Boot Service – A Complete Guide
Ma Wei Says
Ma Wei Says
May 8, 2025 · Backend Development

Mastering Java ThreadPoolExecutor: Prevent OOM and Boost Concurrency

This article explains the fundamentals of Java threads and thread pools, details the configurable parameters of ThreadPoolExecutor, highlights the pitfalls of the Executors factory methods, and provides concrete recommendations and code examples for safely tuning thread pools across different workload types.

ConcurrencyJavaPerformance
0 likes · 14 min read
Mastering Java ThreadPoolExecutor: Prevent OOM and Boost Concurrency
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
May 8, 2025 · Backend Development

Master Spring Boot 3 Controllers: Real‑World Cases & Advanced Techniques

Explore a comprehensive Spring Boot 3 tutorial featuring 122 real‑world controller examples—from basic @RestController setup and dynamic URL configuration to advanced SpEL usage, interface default methods, exception handling, data binding, and custom endpoints—complete with code snippets and test results.

Backend DevelopmentControllerJava
0 likes · 8 min read
Master Spring Boot 3 Controllers: Real‑World Cases & Advanced Techniques
Sohu Tech Products
Sohu Tech Products
May 7, 2025 · Backend Development

Master Java Concurrency: Fork/Join, CountDownLatch, CyclicBarrier, Semaphore & Exchanger Deep Dive

This article provides a comprehensive guide to Java's core concurrency utilities—including Fork/Join, CountDownLatch, CyclicBarrier, Semaphore, and Exchanger—explaining their principles, internal AQS implementation, practical usage patterns, performance optimizations, and complete code examples for real‑world scenarios.

ConcurrencyCountDownLatchCyclicBarrier
0 likes · 25 min read
Master Java Concurrency: Fork/Join, CountDownLatch, CyclicBarrier, Semaphore & Exchanger Deep Dive
Architecture Digest
Architecture Digest
May 7, 2025 · Backend Development

Analyzing Why Spring Boot Startup Is Slow: Detailed Breakdown and Profiling

This article investigates the reasons behind Spring Boot's slow startup by tracing the execution timeline, examining the prepareEnvironment and refreshContext phases, profiling bean creation, configuration loading, and external client initialization, and provides sample Java code for measuring and visualizing each step.

JavaOptimizationPerformance
0 likes · 13 min read
Analyzing Why Spring Boot Startup Is Slow: Detailed Breakdown and Profiling
DeWu Technology
DeWu Technology
May 7, 2025 · Backend Development

Building and Using a Model Context Protocol (MCP) Server with Spring AI

The article explains Anthropic’s Model Context Protocol, outlines its architecture, and provides a step‑by‑step guide to creating a Spring AI‑based MCP server in Java—including adding the starter, defining @Tool‑annotated services, packaging the jar, configuring the Cline plugin, and demonstrating advanced tools such as Elasticsearch queries.

AI IntegrationJavaMCP
0 likes · 10 min read
Building and Using a Model Context Protocol (MCP) Server with Spring AI
IT Services Circle
IT Services Circle
May 7, 2025 · Backend Development

Understanding RocketMQ Long‑Polling Mechanism and Its Implementation

This article explains how RocketMQ implements long‑polling for message consumption, detailing the pull‑based model, the broker and consumer timeout settings, the internal suspension of pull requests, and the processing loop that resumes suspended requests to improve efficiency.

BrokerConsumerJava
0 likes · 7 min read
Understanding RocketMQ Long‑Polling Mechanism and Its Implementation
Java Tech Enthusiast
Java Tech Enthusiast
May 7, 2025 · Backend Development

Why Redis Increment Returns Null When Using @Transactional with Transaction Support in Spring Boot

The production failure where a customer‑service event creation stopped each morning was traced to RedisTemplate’s increment returning null because @Transactional combined with enabled Redis transaction support caused the command to be queued in a MULTI/EXEC block, which is fixed by using separate non‑transactional and transactional StringRedisTemplate beans.

DebuggingJavaRedis
0 likes · 11 min read
Why Redis Increment Returns Null When Using @Transactional with Transaction Support in Spring Boot
Code Ape Tech Column
Code Ape Tech Column
May 7, 2025 · Backend Development

Detailed Overview of Spring 6.0 Core Features and Spring Boot 3.0 Enhancements

This article provides a comprehensive guide to Spring 6.0’s new baseline JDK 17 requirement, virtual threads, declarative HTTP clients, RFC‑7807 ProblemDetail handling, GraalVM native image support, and Spring Boot 3.0 improvements such as Jakarta EE migration, OAuth2 authorization server, Prometheus monitoring, and practical migration steps for enterprise applications.

GraalVMJavaSpring
0 likes · 8 min read
Detailed Overview of Spring 6.0 Core Features and Spring Boot 3.0 Enhancements
Architect's Must-Have
Architect's Must-Have
May 7, 2025 · Backend Development

How ReentrantLock Works: Inside Java’s AbstractQueuedSynchronizer

This article dissects Java’s ReentrantLock implementation, detailing its delegation to AbstractQueuedSynchronizer, the lock acquisition process, the role of non‑fair and fair sync subclasses, the internal CLH queue mechanics, and how unlocking is handled, while comparing Lock with synchronized.

AbstractQueuedSynchronizerConcurrencyJava
0 likes · 14 min read
How ReentrantLock Works: Inside Java’s AbstractQueuedSynchronizer
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
May 7, 2025 · Backend Development

How to Prevent Duplicate Message Consumption in RabbitMQ

RabbitMQ often suffers from duplicate message consumption due to network glitches, node failures, or ACK issues, but you can eliminate repeats by implementing idempotent processing, using caches or deduplication tables, and leveraging manual acknowledgments or the Message Deduplication plugin, as illustrated with Java examples.

JavaManual Acknowledgmentmessage deduplication
0 likes · 6 min read
How to Prevent Duplicate Message Consumption in RabbitMQ
Java Architect Essentials
Java Architect Essentials
May 6, 2025 · Backend Development

How @Authenticated Simplifies SpringBoot API Security

The article explains how the @Authenticated annotation in SpringBoot can replace repetitive manual authentication code, offering automatic request validation, role‑based checks, and streamlined error handling, with practical examples and a clear list of benefits for developers.

API securityAnnotationAuthentication
0 likes · 7 min read
How @Authenticated Simplifies SpringBoot API Security
Full-Stack Internet Architecture
Full-Stack Internet Architecture
May 6, 2025 · Backend Development

Understanding Java CyclicBarrier with Practical Examples

This article explains Java's CyclicBarrier synchronization tool, compares it with CountDownLatch, demonstrates basic and array‑sum examples with reusable barriers and callback actions, and shows how it can coordinate multiple threads for tasks such as parallel computation and result aggregation.

ConcurrencyCyclicBarrierJava
0 likes · 6 min read
Understanding Java CyclicBarrier with Practical Examples
JD Tech Talk
JD Tech Talk
May 6, 2025 · Backend Development

Building a Java Method Call‑Stack Tracing Tool to Accelerate Issue Diagnosis

This article describes the pain points of daily on‑call debugging, explains how Java StackTraceElement can be leveraged to construct a chain‑style call‑stack visualizer, details the implementation of a lightweight tracing utility with configurable filters, and demonstrates its integration and practical usage in production environments.

DebuggingJavaPerformance
0 likes · 14 min read
Building a Java Method Call‑Stack Tracing Tool to Accelerate Issue Diagnosis
JD Cloud Developers
JD Cloud Developers
May 6, 2025 · Backend Development

How to Instantly Trace Java Method Call Stacks for Faster Debugging

This article explains how to build and use a Java StackTrace utility that extracts and filters method call chains, enabling developers to quickly locate error sources, streamline debugging, and improve operational efficiency by visualizing execution paths through customizable parameters and integration examples.

Backend DevelopmentDebuggingJava
0 likes · 17 min read
How to Instantly Trace Java Method Call Stacks for Faster Debugging
Cognitive Technology Team
Cognitive Technology Team
May 6, 2025 · Backend Development

Understanding Java's AbstractQueuedSynchronizer (AQS): Core Components, Design, and Practical Applications

AbstractQueuedSynchronizer (AQS) is the core framework for building Java locks and synchronizers, providing state management, FIFO queuing, and blocking/unblocking mechanisms; this article explains its components, design patterns, thread safety operations, and real-world implementations such as ReentrantLock and Semaphore, with code examples.

AQSConcurrencyJava
0 likes · 11 min read
Understanding Java's AbstractQueuedSynchronizer (AQS): Core Components, Design, and Practical Applications
Full-Stack Internet Architecture
Full-Stack Internet Architecture
May 5, 2025 · Backend Development

Using CountDownLatch in Java to Synchronize Multiple Threads for a Lucky Card Collection Example

This article explains the Java CountDownLatch utility, demonstrates its countdown synchronization mechanism with a lucky‑card‑collection scenario, provides a complete runnable example, and shows how the main thread waits for all worker threads to finish before proceeding to the lottery step.

ConcurrencyCountDownLatchJava
0 likes · 5 min read
Using CountDownLatch in Java to Synchronize Multiple Threads for a Lucky Card Collection Example
Java Tech Enthusiast
Java Tech Enthusiast
May 5, 2025 · Backend Development

Advanced MyBatis-Plus Features: Batch Insert, Logical Delete, Auto Field Fill, Type Handlers, Dynamic Table Names, Multi-Tenant

The article demonstrates advanced MyBatis‑Plus techniques—including high‑speed batch inserts with rewriteBatchedStatements, logical deletes via global config, automatic timestamp and user fields through MetaObjectHandler, JSON serialization with JacksonTypeHandler, dynamic table naming via an interceptor, and a brief multi‑tenant overview—to streamline development and reduce boilerplate code.

Batch InsertDynamic TableJava
0 likes · 16 min read
Advanced MyBatis-Plus Features: Batch Insert, Logical Delete, Auto Field Fill, Type Handlers, Dynamic Table Names, Multi-Tenant
Cognitive Technology Team
Cognitive Technology Team
May 5, 2025 · Fundamentals

Evolution of Java ConcurrentHashMap: From Segment Locks to CAS + synchronized (Java 7 vs Java 8)

This article examines the evolution of Java's ConcurrentHashMap, comparing the segment‑lock implementation in Java 7 with the CAS‑plus‑synchronized, bucket‑level locking and red‑black tree enhancements introduced in Java 8, covering lock mechanisms, data structures, resizing strategies, core operations, performance and suitable use cases.

ConcurrencyConcurrentHashMapDataStructure
0 likes · 11 min read
Evolution of Java ConcurrentHashMap: From Segment Locks to CAS + synchronized (Java 7 vs Java 8)
Java Architect Essentials
Java Architect Essentials
May 4, 2025 · Backend Development

Mastering Request Timeouts in SpringBoot with @Timeout Annotation

Learn how the @Timeout annotation in SpringBoot simplifies request timeout management by eliminating repetitive configuration code, offering automatic timeout control, customizable fallback methods, and improved maintainability, with practical examples and step-by-step guidance for integrating it into your APIs.

AnnotationJavaSpringBoot
0 likes · 7 min read
Mastering Request Timeouts in SpringBoot with @Timeout Annotation
Java One
Java One
May 4, 2025 · Fundamentals

How Does Java Execution Differ from C? A 3‑Minute JVM Deep Dive

This article compares the compilation and runtime processes of C and Java programs, explains Java's class loading, linking, initialization, memory layout, execution engine components, and native interface, and highlights why Java startup is slower than native C execution.

ClassLoaderCompilationJVM
0 likes · 16 min read
How Does Java Execution Differ from C? A 3‑Minute JVM Deep Dive
Java Captain
Java Captain
May 4, 2025 · Backend Development

Understanding Java Counter Implementations: AtomicLong vs LongAdder

This article explains the principles, advantages, and drawbacks of Java's AtomicLong and LongAdder counters, describes the CAS operation and its ABA problem, and analyzes why Alibaba recommends LongAdder for high‑concurrency, high‑availability scenarios in distributed systems.

CASConcurrencyJava
0 likes · 7 min read
Understanding Java Counter Implementations: AtomicLong vs LongAdder
Su San Talks Tech
Su San Talks Tech
May 4, 2025 · Backend Development

How to Export Millions of Excel Rows in Seconds: High‑Performance Java Strategies

Learn how to overcome memory and speed bottlenecks when exporting massive datasets to Excel by using streaming APIs like SXSSFWorkbook and EasyExcel, optimizing database pagination, tuning JVM and connection pools, and applying asynchronous shard processing to achieve stable sub‑200 MB memory usage for millions of rows.

Database paginationExcel exportJVM Tuning
0 likes · 10 min read
How to Export Millions of Excel Rows in Seconds: High‑Performance Java Strategies
Java Architect Essentials
Java Architect Essentials
May 3, 2025 · Backend Development

Simplifying CORS Handling in Spring Boot with the @CrossOrigin Annotation

Spring Boot developers can eliminate complex CORS configurations by applying the @CrossOrigin annotation directly on controllers or methods, which simplifies cross‑origin request handling, supports custom origins, methods, and headers, and can be globally configured for consistent, secure API access across environments.

CORSJavaSpringBoot
0 likes · 8 min read
Simplifying CORS Handling in Spring Boot with the @CrossOrigin Annotation
Architect
Architect
May 3, 2025 · Backend Development

Why Rebuild a Job Scheduler? Inside a Lightweight Distributed Timing Framework

This article explains the motivation, design choices, and implementation details of a custom distributed job scheduling framework, covering its architecture, load‑balancing strategy, message‑queue handling, persistence mechanisms, and key code snippets, while comparing it to existing solutions like Quartz, XXL‑Job, and PowerJob.

JavaMessage Queuedistributed systems
0 likes · 16 min read
Why Rebuild a Job Scheduler? Inside a Lightweight Distributed Timing Framework
Top Architect
Top Architect
May 3, 2025 · Backend Development

Implementing an OA Workflow Approval System with Activiti

This article explains how to design and implement a multi‑level approval workflow for an office automation system using the Activiti BPMN engine, covering process diagram creation, Spring Boot configuration, Java code for deployment and task handling, database tables, API overview, and comparisons with similar frameworks.

ActivitiBPMNJava
0 likes · 25 min read
Implementing an OA Workflow Approval System with Activiti
Cognitive Technology Team
Cognitive Technology Team
May 3, 2025 · Fundamentals

Understanding Java ThreadLocalMap: Structure, Operations, and Memory Management

This article explains the internal design of Java's ThreadLocalMap, covering its core Entry structure, hash table storage, linear probing for collision resolution, key operations (set, get, remove), memory‑leak scenarios, automatic cleanup mechanisms, and practical usage patterns such as thread‑context propagation and Android Looper.

ConcurrencyJavaMemoryManagement
0 likes · 10 min read
Understanding Java ThreadLocalMap: Structure, Operations, and Memory Management
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
May 3, 2025 · Backend Development

Mastering Resilience4j: Real-World Spring Boot 3 Circuit Breaker Cases

This article explains why circuit breakers are essential for third‑party API calls, introduces the lightweight Resilience4j library, and provides step‑by‑step Spring Boot 3 examples—including Maven setup, RestTemplate and WebClient integrations, annotation usage, and both default and custom configurations—complete with code snippets and result screenshots.

Backend DevelopmentJavaResilience4j
0 likes · 8 min read
Mastering Resilience4j: Real-World Spring Boot 3 Circuit Breaker Cases
Cognitive Technology Team
Cognitive Technology Team
May 3, 2025 · Backend Development

Understanding ThreadLocal: Core Principles, Use Cases, Pitfalls, and Best Practices

ThreadLocal provides per‑thread variable storage to achieve thread isolation, improving concurrency performance, and is essential for safe data handling in Java, but improper use can cause memory leaks, data contamination, and other issues; this article explains its internal mechanism, common scenarios, pitfalls, and best‑practice guidelines with code examples.

ConcurrencyJavaThreadLocal
0 likes · 19 min read
Understanding ThreadLocal: Core Principles, Use Cases, Pitfalls, and Best Practices
Deepin Linux
Deepin Linux
May 3, 2025 · Backend Development

Analyzing and Resolving Uninterruptible Thread States During System Suspend

This article examines why a thread may remain in an uninterruptible wake‑up state during system suspend, explains deadlock fundamentals, outlines thread lifecycle states, and provides practical debugging steps and mitigation strategies using Java concurrency tools and system monitoring.

ConcurrencyDeadlockJava
0 likes · 23 min read
Analyzing and Resolving Uninterruptible Thread States During System Suspend
Java Architect Essentials
Java Architect Essentials
May 2, 2025 · Backend Development

Simplifying Request Parameter Binding in SpringBoot with @RequestParam

This article explains how the @RequestParam annotation in SpringBoot automatically binds request parameters—whether from forms, query strings, or URLs—to controller method arguments, reducing boilerplate code, improving readability, and enhancing development efficiency, with practical code examples and advanced usage tips.

JavaParameterBindingRequestParam
0 likes · 8 min read
Simplifying Request Parameter Binding in SpringBoot with @RequestParam
Java Captain
Java Captain
May 2, 2025 · Fundamentals

Understanding Java Concurrency: Challenges and Solutions from Hardware to JVM

This article uses real‑world analogies to dissect the three core challenges of Java concurrency—ordering, visibility, and atomicity—and explains how hardware instructions, JVM mechanisms, and Java SDK tools such as locks, CAS, and waiting/notification utilities provide efficient solutions.

CASConcurrencyJVM
0 likes · 14 min read
Understanding Java Concurrency: Challenges and Solutions from Hardware to JVM
Architect
Architect
May 2, 2025 · Backend Development

Understanding and Implementing LMAX Disruptor in Java

This article introduces the high‑performance LMAX Disruptor library, explains its core concepts such as Ring Buffer, Sequence, Sequencer, and Wait Strategy, and provides a step‑by‑step Java demo with complete code to build a producer‑consumer message queue.

Backend DevelopmentConcurrencyDisruptor
0 likes · 11 min read
Understanding and Implementing LMAX Disruptor in Java
Cognitive Technology Team
Cognitive Technology Team
May 2, 2025 · Backend Development

Stopping Java Threads: interrupt, volatile flag, and combined approaches

This article explains three methods for safely terminating Java threads—using the interrupt mechanism, a volatile boolean flag, and a combination of both—detailing their principles, code examples, advantages, disadvantages, and a comparative summary to guide developers in choosing the appropriate technique.

JavaThread InterruptionVolatile
0 likes · 8 min read
Stopping Java Threads: interrupt, volatile flag, and combined approaches
Cognitive Technology Team
Cognitive Technology Team
May 1, 2025 · Backend Development

10 Tips and Tricks for Using ExecutorService in Java

This article presents ten practical tips for Java developers on naming thread‑pool threads, dynamically changing thread names, safely shutting down executors, handling interruptions, bounding queue sizes, proper exception handling, monitoring wait times, preserving client stack traces, preferring CompletableFuture, and using SynchronousQueue with ThreadPoolExecutor.

ConcurrencyJavaThreadPool
0 likes · 15 min read
10 Tips and Tricks for Using ExecutorService in Java
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
May 1, 2025 · Backend Development

Master Spring Boot TargetSource: Custom, HotSwappable, Pooled & More

This article explains Spring Boot's TargetSource mechanism, covering the default SingletonTargetSource and demonstrating how to implement custom, hot‑swappable, pooled, prototype, and thread‑local TargetSources with full code examples and execution results, helping developers manage bean instances dynamically in AOP proxies.

AOPBackend DevelopmentJava
0 likes · 8 min read
Master Spring Boot TargetSource: Custom, HotSwappable, Pooled & More
Python Crawling & Data Mining
Python Crawling & Data Mining
May 1, 2025 · Information Security

Master Frida Hooking: Advanced Android Reverse‑Engineering Techniques

This comprehensive tutorial walks through using Frida to hook Android applications, covering official API references, loading APKs, hooking normal and static methods, modifying parameters and return values, handling constructors, inner and anonymous classes, enumerating loaded classes and methods, dynamic dex loading, selective hooking, and practical examples such as programmatically clicking a login button, all illustrated with clear code snippets and explanations.

AndroidFridaHooking
0 likes · 18 min read
Master Frida Hooking: Advanced Android Reverse‑Engineering Techniques
Architecture Digest
Architecture Digest
Apr 30, 2025 · Backend Development

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

This article demonstrates how to transform a traditional Spring Boot book‑management service into an AI‑driven MCP service by importing Spring AI dependencies, configuring proxy and MCP server settings, annotating service methods with @Tool, registering them, and exposing a chat endpoint that lets large language models query and manipulate book data through natural language.

AIJavaMCP
0 likes · 13 min read
Integrating Spring Boot with Model Context Protocol (MCP) for AI‑Powered Book Management
Cognitive Technology Team
Cognitive Technology Team
Apr 30, 2025 · Backend Development

Getting Started with JLine 3: Building Interactive Java CLI Applications

This article introduces JLine 3, a Java library that adds GNU‑readline‑style features such as line editing, history, auto‑completion, and syntax highlighting to command‑line tools, and provides Maven setup, a complete code example, detailed explanation, and sample output for building robust interactive CLI applications.

CLICommand LineJLine
0 likes · 10 min read
Getting Started with JLine 3: Building Interactive Java CLI Applications
Java Captain
Java Captain
Apr 29, 2025 · Fundamentals

Java Stream API: Concepts, Operations, and Practical Examples

This article introduces the concept and benefits of Java Stream programming, explains its core features such as lazy evaluation, parallel processing, and functional style, and provides detailed examples of creating streams, common intermediate and terminal operations, and practical use cases for data manipulation.

Functional ProgrammingJavaStream API
0 likes · 34 min read
Java Stream API: Concepts, Operations, and Practical Examples
Sohu Tech Products
Sohu Tech Products
Apr 29, 2025 · Backend Development

Mastering Java Concurrency: Deep Dive into Threads, Locks, and AQS

This comprehensive guide explores Java multithreading fundamentals, covering thread creation, lifecycle, synchronization challenges, context switching costs, deadlock detection, various lock mechanisms such as synchronized, ReentrantLock, ReadWriteLock, and the underlying AbstractQueuedSynchronizer architecture with practical code examples and performance tips.

AQSConcurrencyCondition
0 likes · 42 min read
Mastering Java Concurrency: Deep Dive into Threads, Locks, and AQS
IT Services Circle
IT Services Circle
Apr 29, 2025 · Backend Development

Understanding JVM Garbage Collection Mechanisms for Interviews

This article humorously introduces a common interview scenario and then provides a comprehensive overview of JVM garbage collection, covering memory regions, GC roots, collector types like ParNew, G1, CMS, tuning parameters, code examples, and practical tips for diagnosing and optimizing GC behavior.

Garbage CollectionJVMJava
0 likes · 8 min read
Understanding JVM Garbage Collection Mechanisms for Interviews
Java Tech Enthusiast
Java Tech Enthusiast
Apr 29, 2025 · Backend Development

Implementing Data Isolation with MyBatis Interceptor and Custom Annotations

The article describes how to enforce environment‑based data isolation in a shared database by adding an env column, using a MyBatis interceptor to inject and filter this field at runtime, and employing a custom @InvokeChainSkipEnvRule annotation with AOP to selectively bypass the rule, keeping existing code untouched.

AOPCustom AnnotationData Isolation
0 likes · 9 min read
Implementing Data Isolation with MyBatis Interceptor and Custom Annotations
Code Ape Tech Column
Code Ape Tech Column
Apr 29, 2025 · Backend Development

Custom SQL Injector in MyBatis‑Plus: Built‑in Extensions, Global Configuration, and How to Create Your Own

This article explains the concept of SQL injectors in MyBatis‑Plus, lists the built‑in injectable methods, shows how to configure them globally, demonstrates creating a custom mapper and injector with full code examples, and provides step‑by‑step testing procedures for extending MyBatis‑Plus functionality.

Custom MapperJavaSQL Injector
0 likes · 7 min read
Custom SQL Injector in MyBatis‑Plus: Built‑in Extensions, Global Configuration, and How to Create Your Own
Cognitive Technology Team
Cognitive Technology Team
Apr 29, 2025 · Backend Development

Common CompletableFuture Pitfalls and Best Practices in Java

This article examines the powerful Java CompletableFuture class, identifies frequent misuse pitfalls such as ignored exceptions, wrong thread‑pool choices, blocking callbacks, context loss, and overly fragmented chains, and provides concrete avoidance strategies and best‑practice recommendations for robust asynchronous programming.

AsynchronousCompletableFutureConcurrency
0 likes · 9 min read
Common CompletableFuture Pitfalls and Best Practices in Java