Tagged articles
5000 articles
Page 32 of 50
MaGe Linux Operations
MaGe Linux Operations
Oct 8, 2024 · Backend Development

Master Java JVM Tuning: Key Commands, GC Options & Reference Types

This article explains how to launch Java processes from the command line, explores JVM -X and -XX tuning parameters, details garbage‑collection algorithms, describes reference strengths, and clarifies object reachability to help developers optimize Java application performance.

Garbage CollectionJVMReference Types
0 likes · 13 min read
Master Java JVM Tuning: Key Commands, GC Options & Reference Types
macrozheng
macrozheng
Oct 8, 2024 · Databases

Why RediSearch Beats Elasticsearch on Low‑End Servers: A Hands‑On Comparison

This article introduces RediSearch, compares its memory usage and query performance with Elasticsearch on modest hardware, shows installation steps, demonstrates core index commands and Java integration, and concludes with practical advice on using RediSearch as a lightweight full‑text search engine.

ElasticsearchFull‑Text SearchJedis
0 likes · 11 min read
Why RediSearch Beats Elasticsearch on Low‑End Servers: A Hands‑On Comparison
Code Ape Tech Column
Code Ape Tech Column
Oct 8, 2024 · Backend Development

Generating Dynamic PDF Invoices with iTextPdf in Java

This article explains how to use the iTextPdf library in Java to design a PDF template, fill fixed fields, dynamically generate product tables, and merge the two parts into a single invoice PDF, including Maven dependencies and sample code.

PDFSpringBootiTextPDF
0 likes · 12 min read
Generating Dynamic PDF Invoices with iTextPdf in Java
Java Backend Technology
Java Backend Technology
Oct 8, 2024 · Fundamentals

Mastering Java StructuredTaskScope: Simplify Concurrency with Virtual Threads

JEP 453 integrates StructuredTaskScope into Java 21, offering a preview API that replaces Future with Subtask, enabling lightweight virtual‑thread based concurrent tasks, such as fetching data from multiple servers and automatically cancelling slower calls, while simplifying error handling and improving observability.

JDK21StructuredTaskScopeVirtual Threads
0 likes · 8 min read
Mastering Java StructuredTaskScope: Simplify Concurrency with Virtual Threads
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Oct 8, 2024 · Backend Development

7 Ways to Load Property Files in Spring Boot 3.2.5

This article explains seven practical methods for loading property files in Spring Boot, covering default locations, external files, classpath resources, profile‑specific files, custom @PropertySource usage, and overriding via environment variables or JVM system properties.

backend-developmentjavaproperty-files
0 likes · 7 min read
7 Ways to Load Property Files in Spring Boot 3.2.5
Java Tech Enthusiast
Java Tech Enthusiast
Oct 7, 2024 · Backend Development

Domain-Driven Design (DDD) Architecture: Concepts, Layers, and Practices

Domain‑Driven Design (DDD) structures software around a rich domain model—entities, value objects, aggregates, and services—organized into UI, application, domain, and infrastructure layers, employing patterns such as aggregate roots, domain events, and event‑driven microservices to improve maintainability, scalability, and collaboration between developers and domain experts.

DDDDomain-Driven Designjava
0 likes · 41 min read
Domain-Driven Design (DDD) Architecture: Concepts, Layers, and Practices
Top Architect
Top Architect
Oct 7, 2024 · Cloud Native

Understanding Nacos Configuration Center Long‑Polling Mechanism

This article explains how Nacos’s ConfigService initiates a long‑polling task on the client side, how the client periodically checks for configuration changes, and how the Nacos server processes long‑polling requests, detailing the relevant classes, methods, and code flow.

Cloud NativeConfiguration CenterMicroservices
0 likes · 14 min read
Understanding Nacos Configuration Center Long‑Polling Mechanism
Code Ape Tech Column
Code Ape Tech Column
Oct 7, 2024 · Backend Development

Dynamic Service Provider Switching with spring-smart-di and AutowiredProxySPI

This article explains how to implement runtime switching of multiple service providers, such as SMS vendors, in a Spring-based backend using the spring‑smart‑di library, @EnvironmentProxySPI, and @AutowiredProxySPI annotations, with configuration stored in Nacos, databases, or environment variables.

BackendDynamic Switchingdependency-injection
0 likes · 8 min read
Dynamic Service Provider Switching with spring-smart-di and AutowiredProxySPI
Su San Talks Tech
Su San Talks Tech
Oct 7, 2024 · Backend Development

Unlock Java Power: 10 Must‑Know Guava Features for Cleaner Code

This guide introduces Google’s Guava library for Java, covering Maven integration, data validation with Preconditions, immutable collections, factory methods, counting collections, multimap usage, advanced string joining and splitting, and simple caching, showing how each feature can make code cleaner, safer, and more efficient.

CollectionsGuavaString Utilities
0 likes · 16 min read
Unlock Java Power: 10 Must‑Know Guava Features for Cleaner Code
Architect's Guide
Architect's Guide
Oct 7, 2024 · Backend Development

RabbitMQ Overview, Installation Guide, and Delayed Message Implementation

This article introduces RabbitMQ, explains its core features and messaging model, discusses why to use it for asynchronous, decoupled, and throttled processing, and provides step‑by‑step installation instructions for macOS, Windows, and CentOS along with Java code examples for configuring and using delayed messages via the rabbitmq_delayed_message_exchange plugin.

BackendDelayed MessageInstallation
0 likes · 11 min read
RabbitMQ Overview, Installation Guide, and Delayed Message Implementation
Java Tech Enthusiast
Java Tech Enthusiast
Oct 6, 2024 · Backend Development

Dynamic Class Loading and Unloading for Data Governance Tasks in Spring Boot with XXL‑Job

By implementing a plug‑in architecture that uses a custom URLClassLoader to load and unload JAR‑packaged governance tasks at runtime, the Spring Boot application can dynamically register Spring beans and XXL‑Job handlers, remove them cleanly, update configuration via YAML or Nacos, and package the solution with Maven Shade without restarting services.

Dynamic LoadingXXL-JOBclassloader
0 likes · 21 min read
Dynamic Class Loading and Unloading for Data Governance Tasks in Spring Boot with XXL‑Job
IT Services Circle
IT Services Circle
Oct 5, 2024 · Backend Development

How to Prepare for a Technical Interview: A Comprehensive Guide for Software Engineers

This guide walks engineers through every stage of technical interview preparation—from researching job requirements and mastering core backend concepts to systematic coding practice, project presentation, soft‑skill polishing, resume crafting, submission strategies, mock interviews, and maintaining a positive mindset for success.

Career Preparationcoding interviewjava
0 likes · 38 min read
How to Prepare for a Technical Interview: A Comprehensive Guide for Software Engineers
BirdNest Tech Talk
BirdNest Tech Talk
Oct 4, 2024 · Fundamentals

Weak Pointers Across Go, Rust, Java, and C#: Design, Implementation, and Use Cases

This article examines the concept of weak pointers and weak references in Go, Rust, Java, and C#, comparing their implementations, explaining their memory‑management semantics, presenting concrete code examples, and discussing the upcoming Go weak‑pointer proposal and practical scenarios such as caching and event handling.

Garbage CollectionGoMemory Management
0 likes · 14 min read
Weak Pointers Across Go, Rust, Java, and C#: Design, Implementation, and Use Cases
Top Architect
Top Architect
Oct 4, 2024 · Databases

Design and Implementation of Table Sharding for Loan and Repayment Applications Using ShardingSphere and Spring Boot

The article describes a year‑long development experience where a senior architect designs, plans, and implements a sharding solution for loan and repayment tables using ShardingSphere, Spring Boot 3, MySQL, and custom synchronization code to migrate billions of rows while ensuring data consistency and operational continuity.

MySQLShardingSphereSpringBoot
0 likes · 25 min read
Design and Implementation of Table Sharding for Loan and Repayment Applications Using ShardingSphere and Spring Boot
Top Architect
Top Architect
Oct 4, 2024 · Backend Development

Implementing Gray Release in Spring Cloud with Nacos and Ribbon

This article explains the concept of gray (canary) release, details the core components and version configuration, and provides a complete Spring Cloud implementation—including custom request holders, gateway filters, Ribbon load‑balancer extensions, Feign interceptors, and deployment instructions—for smoothly rolling out new service versions.

MicroservicesNacosRibbon
0 likes · 20 min read
Implementing Gray Release in Spring Cloud with Nacos and Ribbon
Su San Talks Tech
Su San Talks Tech
Oct 4, 2024 · Backend Development

JDK 23 Unveiled: 12 Game‑Changing Features and a Pro‑Coding Monitor Review

This article outlines the twelve new JEPs introduced in JDK 23, highlighting language previews, API enhancements, and performance boosts, while also reviewing the BenQ RD280U monitor’s larger screen, programming mode, Moonhalo backlight, eye‑care technologies, and software integration that together can significantly improve developer productivity.

JDK23MonitorProductivity
0 likes · 8 min read
JDK 23 Unveiled: 12 Game‑Changing Features and a Pro‑Coding Monitor Review
21CTO
21CTO
Oct 3, 2024 · Fundamentals

JDK 24 Preview: JNI Warnings, G1 Barrier Extensions, and Class File API Explained

JDK 24, slated for a March 2025 release as a non‑LTS version, introduces JNI usage warnings, a G1 garbage‑collector post‑barrier extension, a finalized Class File API, and several potential enhancements, while offering six months of premium support following the recent JDK 23 launch.

Class File APIG1 Garbage CollectorJDK 24
0 likes · 6 min read
JDK 24 Preview: JNI Warnings, G1 Barrier Extensions, and Class File API Explained
Code Mala Tang
Code Mala Tang
Oct 3, 2024 · Fundamentals

Mastering the Interface Segregation Principle: Why Small Interfaces Boost Code Quality

Learn how the Interface Segregation Principle (ISP) of SOLID design encourages splitting large interfaces into focused, minimal ones, reducing unnecessary method implementations, improving maintainability, and enhancing modularity across backend Java code, frontend React components, and state‑management modules, while also noting its trade‑offs.

ReactSOLIDinterface segregation
0 likes · 16 min read
Mastering the Interface Segregation Principle: Why Small Interfaces Boost Code Quality
Su San Talks Tech
Su San Talks Tech
Oct 3, 2024 · Backend Development

Master Java’s Syntactic Sugar: 10 Features That Simplify Your Code

This article explains what syntactic sugar is, outlines its benefits such as readability, reduced boilerplate, and lower error rates, and then showcases ten concrete Java syntactic‑sugar features—including autoboxing, enhanced for‑loops, generics, varargs, try‑with‑resources, lambdas, method references, string concatenation, switch expressions, and type inference—complete with code examples.

AutoboxingCode SimplificationLambda
0 likes · 7 min read
Master Java’s Syntactic Sugar: 10 Features That Simplify Your Code
Java Tech Enthusiast
Java Tech Enthusiast
Oct 2, 2024 · Backend Development

Hotkey Detection Framework for JD App Backend

JD’s hot‑key detection framework instantly identifies bursty hot requests, pushes the hot keys to a clustered memory layer, and broadcasts them to all JVMs, enabling client‑side caching, user blocking, and circuit breaking, while handling up to 370 000 detections and 800 000 pushes per second and reducing backend query load by over 50 % in large‑scale events.

DistributedHotKeyjava
0 likes · 6 min read
Hotkey Detection Framework for JD App Backend
Architect
Architect
Oct 2, 2024 · Information Security

Preventing API Parameter Tampering and Replay Attacks with Signature Verification in Java

The article explains how exposed API endpoints can be intercepted and altered, and presents practical security measures—including HTTPS, encrypted parameters, timestamp‑based signatures, and a Spring Boot filter implementation—to detect and block tampering and replay attacks in a Java backend.

API SecurityParameter encryptionReplay attack
0 likes · 8 min read
Preventing API Parameter Tampering and Replay Attacks with Signature Verification in Java
Top Architect
Top Architect
Oct 2, 2024 · Backend Development

Designing and Implementing a Multi‑Level Approval Workflow with Activiti

This article explains how to design a two‑level leave‑approval process using the Activiti BPMN engine, covering diagram creation, Spring‑Boot configuration, deployment, task handling, exclusive gateways, database tables, API overview, and practical tips for extending the workflow.

ActivitiBPMNWorkflow Engine
0 likes · 25 min read
Designing and Implementing a Multi‑Level Approval Workflow with Activiti
Top Architect
Top Architect
Sep 30, 2024 · Backend Development

Optimizing a High‑Concurrency Java Backend Interface: Reducing Response Time from 30 s to 0.8 s

This article details a real-world performance optimization of a high‑concurrency Java backend interface, reducing response time from 30 seconds to under 0.8 seconds through SQL analysis, array aggregation, moving logic to PostgreSQL, and introducing Caffeine caching, with code examples and lessons learned.

SQL optimizationbackend-developmentjava
0 likes · 13 min read
Optimizing a High‑Concurrency Java Backend Interface: Reducing Response Time from 30 s to 0.8 s
Su San Talks Tech
Su San Talks Tech
Sep 30, 2024 · Backend Development

How JD’s Hotkey Framework Detects and Pushes Hot Data in Milliseconds

JD’s Hotkey framework provides millisecond‑level detection and cluster‑wide push of hot data, users, and interfaces, dramatically reducing backend query load, improving performance, and supporting scenarios such as local caching and rate limiting, with proven scalability demonstrated in large‑scale e‑commerce promotions.

Backend Performancedistributed cachingetcd
0 likes · 7 min read
How JD’s Hotkey Framework Detects and Pushes Hot Data in Milliseconds
Java Architecture Stack
Java Architecture Stack
Sep 30, 2024 · Backend Development

Mastering Unbounded and Bounded Queues in Java: When to Use Each

This article explains the concepts, characteristics, and ideal scenarios for unbounded and bounded queues in Java, provides step‑by‑step Maven setup and complete code examples for asynchronous task scheduling, event‑driven processing, and API rate‑limiting, and highlights practical considerations such as resource management and performance.

Bounded QueueProducer ConsumerQueue
0 likes · 23 min read
Mastering Unbounded and Bounded Queues in Java: When to Use Each
FunTester
FunTester
Sep 30, 2024 · Backend Development

Unlock Java Performance: Essential Profiling Techniques and Tools

This guide introduces Java performance analysis fundamentals, covering profiling tools, key metrics such as CPU, memory, thread behavior, and practical methods to detect and resolve common issues like memory leaks, GC pauses, high CPU usage, I/O bottlenecks, and inefficient collection usage.

CPU analysisGarbage CollectionThread Dump
0 likes · 13 min read
Unlock Java Performance: Essential Profiling Techniques and Tools
Architecture Digest
Architecture Digest
Sep 29, 2024 · Backend Development

Implementing a Fixed‑Size FIFO Export Queue in a Java Backend with Spring and EasyExcel

This article explains how to design and implement a fixed-size FIFO export queue in a Java backend using Spring components and EasyExcel, covering business requirements, class definitions, code examples, testing results, and considerations for further enhancements such as Redis queues and high‑concurrency scenarios.

BackendExportQueue
0 likes · 12 min read
Implementing a Fixed‑Size FIFO Export Queue in a Java Backend with Spring and EasyExcel
JD Cloud Developers
JD Cloud Developers
Sep 29, 2024 · Artificial Intelligence

Build a Local AI Q&A System with Java, Ollama, and LangChain4J

This article walks through building a local AI question‑answer system using Java, Ollama, LangChain4J, embeddings, and a Chroma vector database, covering LLM fundamentals, embedding techniques, RAG architecture, setup steps, Maven dependencies, and sample code to retrieve and answer queries.

AIEmbeddingLLM
0 likes · 19 min read
Build a Local AI Q&A System with Java, Ollama, and LangChain4J
Software Development Quality
Software Development Quality
Sep 28, 2024 · Mobile Development

Master Appium Desktop: Setup, First Test, Element Locating & Recording

This guide walks you through installing Appium Desktop, configuring and launching the server, creating a simple Java test for the Android calculator app, exploring multiple element‑locating strategies (ID, class name, XPath, Accessibility ID, UIAutomator), and using the desktop tool’s element inspector and recording features to generate test scripts.

AppiumAppium DesktopElement Locating
0 likes · 12 min read
Master Appium Desktop: Setup, First Test, Element Locating & Recording
Top Architect
Top Architect
Sep 28, 2024 · Backend Development

Comprehensive Maven Guide: Configuration, Dependency Management, Multi‑Module Projects, and Plugins

This article provides a detailed tutorial on using Maven for Java projects, covering basic repository setup, dependency declaration, scope options, indirect dependencies, exclusions, variable properties, multi‑module configuration, dependencyManagement, and essential plugins such as jar, assembly, and shade, with practical code examples and best‑practice recommendations.

Multi‑modulePluginsShade
0 likes · 22 min read
Comprehensive Maven Guide: Configuration, Dependency Management, Multi‑Module Projects, and Plugins
Top Architect
Top Architect
Sep 28, 2024 · Backend Development

Improving Spring Boot Controllers: From Messy to Elegant with @Valid and Global Exception Handling

This article critiques overly complex Spring Boot controllers filled with try-catch and validation logic, demonstrates a cleaner implementation using @Valid annotations and reduced code, provides global exception handling examples, and concludes with advice on maintaining concise controller methods while also promoting related community resources.

ControllerSpringBootjava
0 likes · 11 min read
Improving Spring Boot Controllers: From Messy to Elegant with @Valid and Global Exception Handling
Java Tech Enthusiast
Java Tech Enthusiast
Sep 28, 2024 · Backend Development

Avoiding Low Cohesion Bugs by Centralizing Repayment Logic in Java

The article explains how adding a new reducePrincipal field to the RepayPlan class caused existing interfaces to miscalculate remaining principal, and demonstrates fixing the low‑cohesion bug by centralizing the updated calculation in a RepaymentCalculator utility so future changes occur in one place.

Code Refactoringdesign patternjava
0 likes · 4 min read
Avoiding Low Cohesion Bugs by Centralizing Repayment Logic in Java
IT Architects Alliance
IT Architects Alliance
Sep 28, 2024 · Backend Development

Understanding CQRS (Command Query Responsibility Segregation): Concepts, Implementation, Advantages, Challenges, and Best Practices

This article explores the CQRS (Command Query Responsibility Segregation) pattern, detailing its core concepts, implementation approaches—including logical, storage, and asynchronous separation—its benefits and challenges, and practical best‑practice guidelines for applying CQRS in modern high‑performance, scalable systems.

Event SourcingMicroservicesarchitecture
0 likes · 12 min read
Understanding CQRS (Command Query Responsibility Segregation): Concepts, Implementation, Advantages, Challenges, and Best Practices
Architecture Digest
Architecture Digest
Sep 27, 2024 · Fundamentals

Comprehensive Guide to Java BigDecimal: Overview, Constructors, Common Methods, Formatting, and Pitfalls

This article provides an in‑depth introduction to Java's BigDecimal class, covering its purpose for high‑precision arithmetic, frequently used constructors, essential arithmetic and conversion methods, comparison techniques, number‑formatting examples, common exceptions during division, and a utility class that encapsulates typical operations.

ArithmeticBigDecimalNumber Formatting
0 likes · 14 min read
Comprehensive Guide to Java BigDecimal: Overview, Constructors, Common Methods, Formatting, and Pitfalls
Code Ape Tech Column
Code Ape Tech Column
Sep 27, 2024 · Information Security

Implementing API Request and Response Encryption/Decryption with Spring MVC and ControllerAdvice

This article demonstrates how to secure API interfaces by implementing symmetric encryption and decryption for both GET and POST requests in a Spring MVC application, using ControllerAdvice to intercept and process request and response bodies, handling key management, signature verification, and serialization issues across H5, Android, and iOS clients.

API SecurityControllerAdviceSpring MVC
0 likes · 14 min read
Implementing API Request and Response Encryption/Decryption with Spring MVC and ControllerAdvice
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Sep 27, 2024 · Backend Development

Master JVM Tuning: Practical Steps, Tools, and Real-World Code Example

This article explains why JVM tuning is essential for performance, outlines a step‑by‑step optimization workflow—including GC monitoring, heap dumps, parameter tuning, and tool usage—provides a concrete Java code example that triggers memory pressure, and shares effective JVM flags to prevent out‑of‑memory errors.

Garbage CollectionJVMMemory Management
0 likes · 7 min read
Master JVM Tuning: Practical Steps, Tools, and Real-World Code Example
Java Architecture Stack
Java Architecture Stack
Sep 27, 2024 · Industry Insights

How to Connect Java to Industrial Devices: Modbus, JNI, and Serial Port Solutions

This guide explains how Java can communicate with industrial hardware by using the Modbus protocol with jLibModbus, accessing low‑level registers via JNI, and employing serial‑port libraries such as JSerialComm or RXTX, providing step‑by‑step setup, code examples, dependency configuration, and practical considerations for reliable device integration.

Hardware integrationIndustrial IoTJNI
0 likes · 19 min read
How to Connect Java to Industrial Devices: Modbus, JNI, and Serial Port Solutions
Java Architect Essentials
Java Architect Essentials
Sep 26, 2024 · Backend Development

Implementing Interface Rate Limiting in Spring Boot Using Interceptor, Redis, and Custom Annotations

This article demonstrates how to build a flexible API rate‑limiting solution in Spring Boot by combining a HandlerInterceptor, Redis counters, and custom annotations with reflection, covering configuration, code examples, mapping rules, time‑window nuances, path‑parameter handling, and real‑IP considerations.

Custom AnnotationInterceptorjava
0 likes · 18 min read
Implementing Interface Rate Limiting in Spring Boot Using Interceptor, Redis, and Custom Annotations
Architecture Digest
Architecture Digest
Sep 26, 2024 · Backend Development

Should try‑catch be placed inside or outside a for loop in Java?

The article explains the trade‑offs of placing a Java try‑catch block inside versus outside a for‑loop, illustrating both approaches with code examples, and advises choosing the placement based on whether you need unified error handling or per‑iteration resilience, while also noting a free book promotion.

Exception Handlingbackend-developmentfor loop
0 likes · 4 min read
Should try‑catch be placed inside or outside a for loop in Java?
Java Architecture Stack
Java Architecture Stack
Sep 26, 2024 · Backend Development

Deep Dive into SOFAJRaft: How Java Implements Multi‑Raft Consensus

This article examines the core implementation of SOFAJRaft, a high‑performance Java library based on the Raft consensus algorithm, covering node initialization, leader election, log replication, snapshot handling, fault recovery, and multi‑Raft‑Group support with detailed code examples.

ConsensusDistributed SystemsMulti-Raft
0 likes · 13 min read
Deep Dive into SOFAJRaft: How Java Implements Multi‑Raft Consensus
Java Backend Technology
Java Backend Technology
Sep 26, 2024 · Backend Development

How to Quickly Bootstrap a Spring Boot Project and Avoid Common Version Pitfalls

This guide walks you through the pain points of environment setup, shows step‑by‑step creation of a Spring Boot project, explains version compatibility between Spring Cloud, Spring Boot and Kafka, and provides ready‑to‑use Maven configurations, global exception handling, logging, CORS, Swagger, and a curated list of useful development tools.

Exception HandlingSwaggerVersion Compatibility
0 likes · 11 min read
How to Quickly Bootstrap a Spring Boot Project and Avoid Common Version Pitfalls
Architecture Digest
Architecture Digest
Sep 25, 2024 · Fundamentals

A Practical Overview of New Java Features from Java 9 to Java 17

This article presents a concise, hands‑on review of the most useful Java language enhancements introduced between Java 9 and Java 17—including private interface methods, Optional API upgrades, var type inference, the new HTTP client, switch expressions, text blocks, records, instanceof pattern matching, and sealed classes—illustrated with clear code examples.

Java11Java13Java9
0 likes · 15 min read
A Practical Overview of New Java Features from Java 9 to Java 17
JavaEdge
JavaEdge
Sep 25, 2024 · Backend Development

What’s New in JDK 23? A Quick Tour of 12 Game‑Changing Features

The article outlines the twelve preview features introduced in JDK 23, from primitive pattern matching to structured concurrency, and argues that mastering timeless programming principles from Effective Java can help developers adapt to such language evolutions.

Effective JavaJDK 23New Features
0 likes · 10 min read
What’s New in JDK 23? A Quick Tour of 12 Game‑Changing Features
Java Architect Essentials
Java Architect Essentials
Sep 24, 2024 · Backend Development

Understanding the State Pattern and Implementing Order Workflow with Spring State Machine

This article explains the State design pattern, demonstrates its Java implementation with example code, introduces Spring State Machine concepts, and provides a complete step‑by‑step guide to building and testing an order status workflow using Spring State Machine, including configuration, listeners, services, and a controller.

Order Workflowdesign patternjava
0 likes · 13 min read
Understanding the State Pattern and Implementing Order Workflow with Spring State Machine
JavaEdge
JavaEdge
Sep 24, 2024 · Artificial Intelligence

Mastering RAG with LangChain4j: From Simple Setup to Advanced Retrieval‑Augmented Generation

This article explains how to extend large language models with domain‑specific knowledge using Retrieval‑Augmented Generation (RAG) in LangChain4j, covering the concepts of RAG, its indexing and retrieval stages, simple RAG setup, detailed API usage, and advanced customization options such as query transformers and content injectors.

EmbeddingLLMLangChain4j
0 likes · 24 min read
Mastering RAG with LangChain4j: From Simple Setup to Advanced Retrieval‑Augmented Generation
IT Architects Alliance
IT Architects Alliance
Sep 24, 2024 · Backend Development

Implementing a FIFO Export Queue for Large Data Exports in Java

The article describes a Java‑based FIFO export queue that limits concurrent MySQL export operations, outlines the related classes (ExportQueue, AbstractExport, ExportImpl, and a test controller), provides full source code, and presents test results showing how the queue manages up to ten simultaneous export requests.

ExportQueueFIFOconcurrency
0 likes · 11 min read
Implementing a FIFO Export Queue for Large Data Exports in Java
Top Architect
Top Architect
Sep 24, 2024 · Backend Development

Guide to Using tldb Distributed Locks with Go and Java

This article introduces tldb's distributed lock mechanism, explains lock, trylock, and unlock methods, provides Go and Java client examples, and also includes promotional information about ChatGPT services and a developer community for developers.

GoMQjava
0 likes · 10 min read
Guide to Using tldb Distributed Locks with Go and Java
Top Architect
Top Architect
Sep 24, 2024 · Backend Development

Improving Spring Boot Controllers: From Unclean to Elegant with Validation and Global Exception Handling

This article examines common pitfalls in Spring Boot controller implementations, demonstrates how excessive if‑else checks and business logic in controllers degrade code quality, and provides clean, refactored examples using @Valid validation, concise error handling, and a global exception handler to achieve more maintainable backend services.

Controller Designjavaspring-boot
0 likes · 11 min read
Improving Spring Boot Controllers: From Unclean to Elegant with Validation and Global Exception Handling
macrozheng
macrozheng
Sep 24, 2024 · Backend Development

Master SpringBoot’s Built‑in Utility Classes: Assertions, Collections, IO, and More

This article provides a concise guide to SpringBoot’s built‑in utility classes—including Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, StreamUtils, ReflectionUtils, and AOP helpers—explaining their purpose, key methods, and offering ready‑to‑use code examples to boost development efficiency.

ReflectionSpringBootUtility Classes
0 likes · 14 min read
Master SpringBoot’s Built‑in Utility Classes: Assertions, Collections, IO, and More
Open Source Linux
Open Source Linux
Sep 24, 2024 · Backend Development

How to Tame 900% CPU Spikes in MySQL and Java Processes

This guide explains why MySQL and Java processes can exceed 900% CPU usage in production, and provides step‑by‑step methods—using top, show processlist, jstack, index tuning, caching, and code adjustments—to diagnose, mitigate, and prevent such spikes.

CPU optimizationLinuxMySQL
0 likes · 10 min read
How to Tame 900% CPU Spikes in MySQL and Java Processes
DevOps Operations Practice
DevOps Operations Practice
Sep 23, 2024 · Operations

Root Cause Analysis and Optimization of High Load on Alibaba Cloud RocketMQ Consumer Service

The article investigates why a RocketMQ consumer service running on a 4‑core ECS experiences sustained high load despite low CPU, I/O and memory usage, identifies excessive thread creation and frequent trace‑module context switches as the main causes, and proposes configuration and SDK upgrades to resolve the issue.

RocketMQThread Managementjava
0 likes · 9 min read
Root Cause Analysis and Optimization of High Load on Alibaba Cloud RocketMQ Consumer Service
DaTaobao Tech
DaTaobao Tech
Sep 23, 2024 · Backend Development

Root Cause Analysis of Missing Logs after Tomcat 7→8 Upgrade

After upgrading from Tomcat 7 to Tomcat 8, the application’s mixed log4j‑1.4 and logback‑1.2.3 dependencies caused the SLF4J binder to be loaded nondeterministically, so Tomcat 8 sometimes selected the Log4j binder without a configuration file, resulting in completely missing log output; removing the conflicting jars or enforcing a deterministic class‑loading order restored logging.

Tomcatclassloaderdebugging
0 likes · 19 min read
Root Cause Analysis of Missing Logs after Tomcat 7→8 Upgrade
macrozheng
macrozheng
Sep 23, 2024 · Fundamentals

28 Essential IntelliJ IDEA Tips to Supercharge Your Java Development

This guide presents 28 practical IntelliJ IDEA tricks—from viewing code history and adjusting memory settings to customizing keymaps, code inspections, Maven dependency visualization, and multi‑instance debugging—helping Java developers dramatically boost productivity and streamline daily workflows.

Code navigationIDE TipsIntelliJ IDEA
0 likes · 13 min read
28 Essential IntelliJ IDEA Tips to Supercharge Your Java Development
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Sep 23, 2024 · Backend Development

Mastering Spring Bean Lifecycle: 8 Essential Stages Explained

This article walks through the eight critical phases of a Spring bean's lifecycle—from instantiation and property population to initialization, post‑processor hooks, usage, and destruction—detailing how Spring creates, configures, enhances, and finally disposes of beans, with code snippets and diagrams for clarity.

backend-developmentbean-lifecycledependency-injection
0 likes · 5 min read
Mastering Spring Bean Lifecycle: 8 Essential Stages Explained
Su San Talks Tech
Su San Talks Tech
Sep 23, 2024 · Backend Development

Boost Java Performance: 5 Proven HashMap & Enum Optimizations

This article presents five practical Java performance tweaks—pre‑allocating HashMap capacity, using object keys, caching Enum values, replacing String constants with Enums, and upgrading the JDK—backed by JMH benchmarks that show up to 9.5× speed gains.

HashMapJDKbenchmark
0 likes · 17 min read
Boost Java Performance: 5 Proven HashMap & Enum Optimizations
Architecture Digest
Architecture Digest
Sep 22, 2024 · Backend Development

Advanced MapStruct Usage: Expressions, qualifiedByName, NullValueMappingStrategy, and Decorator

This article introduces MapStruct, a compile‑time Java bean‑mapping framework, and demonstrates advanced features such as expression mapping, qualifiedByName for custom conversions, null‑value handling strategies, and the use of decorators to extend mapper behavior, complete with code examples.

Decoratorbackend-developmentbean-mapping
0 likes · 7 min read
Advanced MapStruct Usage: Expressions, qualifiedByName, NullValueMappingStrategy, and Decorator
Su San Talks Tech
Su San Talks Tech
Sep 22, 2024 · Backend Development

Mastering Rate Limiting: From Fixed Windows to Redis Distributed Solutions

This article explains why rate limiting is essential for microservice stability, introduces basic concepts like thresholds and rejection strategies, and walks through multiple algorithms—including fixed‑window, sliding‑window, sliding‑log, leaky‑bucket, token‑bucket—and their Java implementations as well as Redis‑based distributed approaches, complete with code samples and performance considerations.

Distributed Systemsbackend-developmentjava
0 likes · 25 min read
Mastering Rate Limiting: From Fixed Windows to Redis Distributed Solutions
Lobster Programming
Lobster Programming
Sep 21, 2024 · Backend Development

Mastering Spring Boot Transaction Hooks for Advanced Business Logic

This article explains how Spring Boot’s @Transactional annotation works, introduces programmatic transaction management, and demonstrates how to create custom transaction hook functions with TransactionSynchronizationManager and TransactionSynchronization to execute custom logic at each transaction phase, improving robustness and maintainability.

Spring FrameworkTransaction Hooksbackend-development
0 likes · 4 min read
Mastering Spring Boot Transaction Hooks for Advanced Business Logic
Java High-Performance Architecture
Java High-Performance Architecture
Sep 21, 2024 · Backend Development

Master MyBatis-Mate: Advanced Features for Secure, Sharded Java Backends

This article introduces MyBatis‑Mate, an enterprise‑grade MyBatis extension that provides sharding, data auditing, sensitive‑word filtering, field encryption, dictionary binding, dynamic DDL maintenance, data‑scope permissions and performance monitoring, complete with practical code examples and configuration guidance.

data encryptiondatabasejava
0 likes · 15 min read
Master MyBatis-Mate: Advanced Features for Secure, Sharded Java Backends
ITPUB
ITPUB
Sep 21, 2024 · Backend Development

Why Spring Event Can Crash Your Service During Shutdown and How to Avoid It

The article recounts a production incident where Spring Event caused bean‑lookup failures during service shutdown, explains the three‑step usage of Spring Event with code examples, and presents three mitigation strategies—abandoning Spring Event, handling exceptions with MQ retries, and implementing graceful shutdown—ultimately opting to drop Spring Event.

EventMicroservicesjava
0 likes · 5 min read
Why Spring Event Can Crash Your Service During Shutdown and How to Avoid It
JavaEdge
JavaEdge
Sep 20, 2024 · Artificial Intelligence

Integrating LangChain4j with Spring Boot: AI Services Made Easy

This guide explains how to use LangChain4j Spring Boot starters to configure OpenAI models, create declarative AI services with @AiService, and run practical examples such as a customer‑support agent and a simple HelloWorld program, covering required dependencies, properties, and code snippets.

ChatLanguageModelDeclarative AI ServiceLangChain4j
0 likes · 8 min read
Integrating LangChain4j with Spring Boot: AI Services Made Easy
Python Programming Learning Circle
Python Programming Learning Circle
Sep 20, 2024 · Fundamentals

Java vs Python: A Comparative Look at Syntax, Exception Handling, and Use Cases

The article compares Java and Python, highlighting Java’s strict, verbose syntax and robust exception handling versus Python’s concise, flexible style, illustrating differences with code examples and discussing appropriate scenarios where each language excels, from large-scale enterprise projects to quick scripting tasks.

ComparisonException Handlingjava
0 likes · 6 min read
Java vs Python: A Comparative Look at Syntax, Exception Handling, and Use Cases
Top Architect
Top Architect
Sep 20, 2024 · Backend Development

Implementing Interface Debounce with Distributed Locks in Java Backend Systems

This article explains the concept of request debouncing, identifies which API endpoints need it, and demonstrates two distributed lock solutions—shared Redis cache and Redisson—by providing complete Java code examples, configuration steps, and test results to prevent duplicate submissions in backend services.

Debouncedistributed-lockjava
0 likes · 17 min read
Implementing Interface Debounce with Distributed Locks in Java Backend Systems
Selected Java Interview Questions
Selected Java Interview Questions
Sep 20, 2024 · Information Security

Generating and Verifying Java License Files with TrueLicense

This article explains how to generate a Java license using TrueLicense, configure key pairs, create the license file, and integrate verification and installation steps into a Spring Boot application, including detailed code examples and deployment considerations for secure software licensing.

CodeExampleLicenseSpringBoot
0 likes · 15 min read
Generating and Verifying Java License Files with TrueLicense
macrozheng
macrozheng
Sep 20, 2024 · Fundamentals

Explore Java 23’s 12 New Features and Upcoming JEP Previews

Java 23 arrives as a non‑LTS release introducing 12 new language features, while a series of JEP previews—including pattern‑matching for primitives, class‑file API, Markdown Javadoc, Vector API, scoped values, flexible constructors, and structured concurrency—are detailed with code examples and insights for developers.

JEPJava23java
0 likes · 15 min read
Explore Java 23’s 12 New Features and Upcoming JEP Previews
Architecture Digest
Architecture Digest
Sep 19, 2024 · Backend Development

Using Java 8 Functional Interfaces to Simplify Conditional Logic

This article explains how Java 8 functional interfaces such as Supplier, Consumer, Runnable, and custom interfaces can replace repetitive if‑else statements, streamline exception handling, and improve code readability in backend development.

BackendException HandlingFunctional Interface
0 likes · 5 min read
Using Java 8 Functional Interfaces to Simplify Conditional Logic
JavaEdge
JavaEdge
Sep 19, 2024 · Artificial Intelligence

Unlock Java LLM Power: A Deep Dive into LangChain4j Features and Architecture

LangChain4j streamlines the integration of large language models into Java applications by offering a standardized API, extensive support for over a dozen LLM providers and vector stores, a rich toolbox for RAG, chat memory, and tool calling, plus two abstraction layers that cater to both low‑level control and high‑level convenience.

AIIntegrationLLM
0 likes · 10 min read
Unlock Java LLM Power: A Deep Dive into LangChain4j Features and Architecture
Java Tech Enthusiast
Java Tech Enthusiast
Sep 19, 2024 · Backend Development

JDK 23 Release Highlights and Upgrade Considerations

JDK 23, released on 2024‑09‑17 as a non‑LTS version preceding the upcoming JDK 25 LTS, introduces numerous preview APIs such as primitive pattern matching, a second class‑file API, Markdown doc comments, enhanced Vector and stream collectors, plus standardised features like ZGC generational mode, while upgrade decisions hinge on project stability needs and ecosystem support like Spring Boot compatibility.

JDK23featuresjava
0 likes · 4 min read
JDK 23 Release Highlights and Upgrade Considerations
macrozheng
macrozheng
Sep 19, 2024 · Backend Development

Refactor Spring Boot Controllers for Clean Architecture and Unified Responses

This article explains the essential duties of a Spring MVC Controller, identifies common pitfalls such as duplicated validation and inconsistent responses, and demonstrates how to introduce a unified result wrapper, ResponseBodyAdvice, proper message‑converter ordering, JSR‑303 validation, custom validators, and global exception handling to produce concise, maintainable backend code.

ControllerException Handlingjava
0 likes · 19 min read
Refactor Spring Boot Controllers for Clean Architecture and Unified Responses
Architecture Digest
Architecture Digest
Sep 18, 2024 · Fundamentals

New Features in JDK 21: Virtual Threads, Sequenced Collections, String Templates, Record Patterns, and Switch Pattern Matching

The article introduces JDK 21’s latest long‑term‑support features—including virtual threads, sequenced collections, preview string templates, record patterns, and switch pattern matching—explaining their concepts, benefits, and providing concrete Java code examples for each.

JDK21RecordPatternsSequencedCollections
0 likes · 14 min read
New Features in JDK 21: Virtual Threads, Sequenced Collections, String Templates, Record Patterns, and Switch Pattern Matching
Lobster Programming
Lobster Programming
Sep 18, 2024 · Backend Development

How to Build and Use a Custom Spring Boot Starter in Minutes

Learn step‑by‑step how to create a custom Spring Boot starter, configure its properties, define services and controllers, register it via spring.factories, and then integrate the starter into other projects with Maven dependencies and configuration files.

Custom Starterconfigurationjava
0 likes · 5 min read
How to Build and Use a Custom Spring Boot Starter in Minutes
Top Architect
Top Architect
Sep 18, 2024 · Backend Development

Building a Multi‑Level Approval Workflow with Activiti in Java

This article demonstrates how to design, deploy, and run a two‑level leave‑approval workflow using the Activiti BPMN engine, covering diagram creation, Spring Boot configuration, process variables, task handling, exclusive gateways, database tables, API overview, and best‑practice tips for extending the flow.

ActivitiBPMNSpringBoot
0 likes · 25 min read
Building a Multi‑Level Approval Workflow with Activiti in Java
Top Architect
Top Architect
Sep 18, 2024 · Backend Development

Combining JWT and Session for Secure User Authentication

This article explains the distinct roles of JWT and Session in user authentication, why a Session layer is needed alongside JWT, and demonstrates with Java code how to create and validate tokens while managing session state for enhanced security and scalability.

JWTSessionjava
0 likes · 9 min read
Combining JWT and Session for Secure User Authentication
Java Tech Enthusiast
Java Tech Enthusiast
Sep 18, 2024 · Backend Development

Open‑Source Chinese Payment Systems: Jeepay and DaxPay Overview

This guide reviews two actively maintained open-source Chinese payment platforms—Jeepay, an internet-focused system supporting WeChat Pay, Alipay, UnionPay and more with Spring Boot backend and Ant Design Vue front-end, and DaxPay, a Java-SDK-enabled solution for Alipay, WeChat and UnionPay built on Spring Boot and Vue 3, both offering documentation, demos, and high-concurrency deployment options.

MicroservicesSpringBoote‑commerce
0 likes · 3 min read
Open‑Source Chinese Payment Systems: Jeepay and DaxPay Overview
Code Ape Tech Column
Code Ape Tech Column
Sep 18, 2024 · Backend Development

Resolving Duplicate CORS Headers in Spring Cloud Gateway Using DedupeResponseHeader and Custom GlobalFilter

This article explains why Spring Cloud Gateway can return duplicate Access-Control-Allow-Origin and Vary headers, analyzes the request processing flow, and provides two solutions—using the built‑in DedupeResponseHeader filter with retention strategies or implementing a custom CorsResponseHeaderFilter—to eliminate the CORS error caused by multiple header values.

BackendCORSjava
0 likes · 10 min read
Resolving Duplicate CORS Headers in Spring Cloud Gateway Using DedupeResponseHeader and Custom GlobalFilter
Java Backend Technology
Java Backend Technology
Sep 18, 2024 · Backend Development

Why Fast‑Retry Beats Spring‑Retry for Massive Asynchronous Retries

Fast‑Retry is a high‑performance, multi‑task asynchronous retry framework for Java that dramatically outperforms traditional synchronous retry libraries like Spring‑Retry and Guava‑Retry, especially when handling millions of tasks, by leveraging non‑blocking execution, customizable strategies, and seamless Spring integration.

AsynchronousRetryconcurrency
0 likes · 13 min read
Why Fast‑Retry Beats Spring‑Retry for Massive Asynchronous Retries
Top Architecture Tech Stack
Top Architecture Tech Stack
Sep 18, 2024 · Backend Development

Overview of Java's Null‑Restricted and Nullable Types Preview Feature

The article introduces Java's new preview feature that distinguishes non‑null, nullable, and unspecified types using syntax like Foo! and Foo?, explains its safety benefits, compatibility, automatic null‑pointer detection, strict initialization rules, and flexible nullness conversion, while also containing promotional material for IDE tools.

Preview Featurebackend-developmentjava
0 likes · 5 min read
Overview of Java's Null‑Restricted and Nullable Types Preview Feature
Alibaba Cloud Developer
Alibaba Cloud Developer
Sep 18, 2024 · Backend Development

Unlock Massive Concurrency with Java Virtual Threads: A Deep Dive

This article explores Java virtual threads introduced in JDK 21, detailing their architecture, implementation, practical usage with Thread and Executors APIs, performance comparisons against platform threads, best‑practice guidelines, and benchmark results demonstrating superior throughput for high‑concurrency server applications.

JDK21Virtual Threadsconcurrency
0 likes · 24 min read
Unlock Massive Concurrency with Java Virtual Threads: A Deep Dive
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 17, 2024 · Backend Development

5 Must‑Know Spring Boot 3.2.5 Features You Can Start Using Today

This article walks through five practical Spring Boot 3.2.5 enhancements—including collection‑parameter validation, wildcard @PropertySource loading, improved method injection, custom thread‑pool scheduling, and robust Number‑type request handling—showing code examples, console output, and migration tips from older versions.

BackendParameter BindingScheduling
0 likes · 8 min read
5 Must‑Know Spring Boot 3.2.5 Features You Can Start Using Today
Java Architect Essentials
Java Architect Essentials
Sep 17, 2024 · Backend Development

Using tldb Distributed Lock with Go and Java Clients

This article introduces tldb's distributed lock, explains its lock, trylock, and unlock methods, and provides step‑by‑step Go and Java client examples—including Maven configuration and code snippets—for acquiring and releasing locks across languages in a distributed environment.

MQdistributed-lockjava
0 likes · 8 min read
Using tldb Distributed Lock with Go and Java Clients
JavaEdge
JavaEdge
Sep 17, 2024 · Artificial Intelligence

Explore IntelliJ IDEA 2024.3 EAP: Built‑in AI Assistant and Java Enhancements

The IntelliJ IDEA 2024.3 EAP preview introduces an experimental embedded AI assistant that transforms natural‑language prompts into code changes, improves Java constant‑condition analysis to better handle aliasing, adds spell‑check during indexing, displays branch names in the Welcome screen, and offers a new workspace feature for managing multiple projects.

AI AssistantIDEIntelliJ IDEA
0 likes · 7 min read
Explore IntelliJ IDEA 2024.3 EAP: Built‑in AI Assistant and Java Enhancements