Tagged articles

Java

5000 articles · Page 36 of 50
Java Architect Essentials
Java Architect Essentials
Oct 13, 2024 · Backend Development

Diagnosing and Optimizing Startup Performance of a Legacy Dubbo Service with JProfile

This article walks through a systematic investigation of a slow‑starting Dubbo service built on Spring 3.2, using JProfile to pinpoint costly class‑loading checks, disabling unnecessary annotation processing, and resolving thread‑waiting issues caused by RabbitMQ and other components, ultimately reducing deployment time by about 40%.

DubboJProfileJava
0 likes · 7 min read
Diagnosing and Optimizing Startup Performance of a Legacy Dubbo Service with JProfile
Top Architect
Top Architect
Oct 13, 2024 · Backend Development

Spring Boot Project Initialization, Version Management, and Common Backend Utilities Tutorial

This article walks through creating a Spring Boot project, handling version compatibility between Spring Cloud, Spring Boot, and Kafka, demonstrates common Maven configurations, provides global exception handling and logging aspects, and lists useful backend tools such as embedded Redis, MyBatis‑Plus, and Redisson.

ExceptionHandlingJavaMaven
0 likes · 13 min read
Spring Boot Project Initialization, Version Management, and Common Backend Utilities Tutorial
Java Tech Enthusiast
Java Tech Enthusiast
Oct 13, 2024 · Backend Development

Fluent Mybatis Tutorial: Overview, Features, and Practical Code Examples

The article introduces Fluent Mybatis, a compile‑time code‑generating ORM that merges Mybatis‑Plus, Dynamic SQL and JPA features, eliminates XML mappers, offers a fluent, type‑safe Java API, and demonstrates through concise examples how it reduces boilerplate compared with native Mybatis and Mybatis‑Plus.

CRUDFluent-MyBatisJava
0 likes · 13 min read
Fluent Mybatis Tutorial: Overview, Features, and Practical Code Examples
Architecture Digest
Architecture Digest
Oct 13, 2024 · Backend Development

Improving Spring MVC Controllers: Unified Response Structure, Validation, and Exception Handling

The article explains how to simplify Spring MVC controller code by introducing a unified response wrapper, handling String return types with ResponseBodyAdvice, adjusting HttpMessageConverter order, applying JSR‑303 validation for @RequestParam, @PathVariable and @RequestBody, creating custom validation annotations, and implementing global exception handling for consistent API responses.

ControllerExceptionHandlingJava
0 likes · 18 min read
Improving Spring MVC Controllers: Unified Response Structure, Validation, and Exception Handling
JD Tech
JD Tech
Oct 13, 2024 · Artificial Intelligence

Building a Simple Local AI Question‑Answer System with Java, LangChain4J, Ollama, and ChromaDB

This article guides readers through the concepts of large language models, embeddings, vector databases, and Retrieval‑Augmented Generation, then demonstrates step‑by‑step how to set up Ollama, install a local Chroma vector store, configure Maven dependencies, and write Java code using LangChain4J to build and test a functional AI Q&A application.

AIJavaLLM
0 likes · 22 min read
Building a Simple Local AI Question‑Answer System with Java, LangChain4J, Ollama, and ChromaDB
ITPUB
ITPUB
Oct 13, 2024 · Backend Development

Why Does 1000==1000 Return False but 100==100 Return True in Java?

This article explains why the == operator yields false when comparing two Integer objects with the value 1000 but true for the value 100, covering Java's reference comparison, the IntegerCache mechanism, its performance rationale, and a reflective hack that can even make 2+2 equal 5.

IntegerJavaReference Equality
0 likes · 7 min read
Why Does 1000==1000 Return False but 100==100 Return True in Java?
Programmer XiaoFu
Programmer XiaoFu
Oct 12, 2024 · Fundamentals

How Generics + Functional Programming Make Java Code Look More Sophisticated

The article demonstrates how combining Java generics with functional programming—using lambda‑based callbacks and generic pagination utilities—can transform repetitive data‑access code into a concise, reusable structure, while also discussing the benefits, trade‑offs, and potential debugging challenges of this approach.

Code ReuseFunctional ProgrammingJava
0 likes · 11 min read
How Generics + Functional Programming Make Java Code Look More Sophisticated
Java Architect Essentials
Java Architect Essentials
Oct 11, 2024 · Backend Development

Mastering EasyQuery: A Strongly Typed Java ORM with Real‑World Query Examples

This article explains why the author created the EasyQuery ORM for Java, demonstrates a wide range of query patterns—including single‑record, pagination, joins, subqueries, streaming, custom VO mapping, dynamic conditions, grouping, native SQL, function columns, and high‑performance encryption—while providing complete code snippets and links to documentation and source repositories.

JavaORMSQL
0 likes · 13 min read
Mastering EasyQuery: A Strongly Typed Java ORM with Real‑World Query Examples
macrozheng
macrozheng
Oct 11, 2024 · Backend Development

Does Spring Commit Before Unlock? Unraveling Transaction Timing in High‑Concurrency

This article dissects the exact moment a Spring @Transactional method commits relative to a surrounding lock, explains why committing after unlock can cause overselling, and provides source‑level debugging techniques to verify transaction start, commit, and rollback behavior in MySQL under high concurrency.

ConcurrencyJavaLock
0 likes · 21 min read
Does Spring Commit Before Unlock? Unraveling Transaction Timing in High‑Concurrency
macrozheng
macrozheng
Oct 11, 2024 · Fundamentals

Unlock Java’s Latest Power: Practical Guide to New Features from Java 9‑17

This article provides a concise, hands‑on overview of Java’s most useful language enhancements from Java 9 through Java 17—including private interface methods, Optional API upgrades, Stream API additions, var type inference, the new HTTP client, switch expressions, text blocks, records, instanceof pattern matching, and sealed classes—complete with clear code examples for each feature.

Code examplesJavaNew Features
0 likes · 15 min read
Unlock Java’s Latest Power: Practical Guide to New Features from Java 9‑17
Top Architect
Top Architect
Oct 10, 2024 · Backend Development

Avoiding Excessive Null Checks in Java: Using Assertions, Exceptions, and the Null Object Pattern

This article explains why overusing null‑check statements in Java leads to verbose code, distinguishes cases where null is a valid response versus an error, and offers practical techniques such as assertions, throwing exceptions, returning empty collections, and applying the Null Object pattern to write cleaner backend code.

Backend DevelopmentExceptionsJava
0 likes · 9 min read
Avoiding Excessive Null Checks in Java: Using Assertions, Exceptions, and the Null Object Pattern
Java Tech Enthusiast
Java Tech Enthusiast
Oct 10, 2024 · Fundamentals

Understanding Try-with-Resources in Java: A Comprehensive Guide

This guide explains Java's try-with-resources statement introduced in JDK 7, showing how it automatically closes AutoCloseable resources, eliminates boilerplate finally blocks, manages closure order and suppressed exceptions, avoids common decorator pitfalls, and provides best‑practice examples for robust production code.

JDK7JavaResource Management
0 likes · 10 min read
Understanding Try-with-Resources in Java: A Comprehensive Guide
Shepherd Advanced Notes
Shepherd Advanced Notes
Oct 10, 2024 · Backend Development

Master ApplicationRunner and CommandLineRunner: Usage and Implementation in Spring Boot

This article explains the purpose of Spring Boot's ApplicationRunner and CommandLineRunner interfaces, demonstrates common startup tasks such as data initialization, configuration loading, cache population and license verification, compares their parameter handling, shows how to control execution order with @Order, and reveals the internal call chain that Spring uses to invoke these runners.

ApplicationRunnerCommandLineRunnerInitialization
0 likes · 15 min read
Master ApplicationRunner and CommandLineRunner: Usage and Implementation in Spring Boot
Java Architect Essentials
Java Architect Essentials
Oct 9, 2024 · Backend Development

Investigating and Resolving a Massive Thread Leak in a Java Backend Application

This article details the discovery, analysis, and fix of a severe thread‑leak issue in a Java Spring MVC service caused by unsafe use of a shared CloseableHttpAsyncClient, showing how multithreaded testing reproduced the problem and how refactoring the client to a local variable eliminated the runaway thread growth.

Backend DevelopmentConcurrencyHttpAsyncClient
0 likes · 12 min read
Investigating and Resolving a Massive Thread Leak in a Java Backend Application
JD Tech
JD Tech
Oct 9, 2024 · Fundamentals

Defensive Programming: Concepts, Core Principles, and Practical Java Examples

This article explains defensive programming as a proactive coding paradigm that anticipates and mitigates errors through input validation, error handling, assertions, and continuous testing, and demonstrates its application with detailed Java examples covering pagination, loop safety, exception management, and boundary checks.

Defensive ProgrammingError handlingInput Validation
0 likes · 15 min read
Defensive Programming: Concepts, Core Principles, and Practical Java Examples
Architect
Architect
Oct 8, 2024 · Backend Development

How to Supercharge Java Backend Performance with CompletableFuture, Thread Pools, Caching, and Lock Tuning

This article analyzes Java performance bottlenecks and demonstrates how to use CompletableFuture for parallelism, fine‑tune ThreadPoolExecutor parameters, minimize transaction scope, apply cache‑line padding, object pooling, lock‑granularity techniques, copy‑on‑write collections, and reduce network payloads to achieve lower latency and higher throughput.

CachingCompletableFutureConcurrency
0 likes · 38 min read
How to Supercharge Java Backend Performance with CompletableFuture, Thread Pools, Caching, and Lock Tuning
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 CollectionJVMJava
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 SearchJava
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.

JavaMavenPDF
0 likes · 12 min read
Generating Dynamic PDF Invoices with iTextPdf in Java
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.

Javabackend-developmentproperty-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.

Configuration CenterJavaNacos
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.

Dependency InjectionDynamic SwitchingJava
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.

CollectionsData ValidationGuava
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.

Delayed MessageInstallationJava
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.

JavaSpring BootXxl-Job
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 PreparationJavacoding interview
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.

C++Garbage CollectionJava
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.

JavaMySQLShardingSphere
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.

JavaNacosRibbon
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.

JDK23JavaMonitor
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.

JavaReActSOLID
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.

Backend DevelopmentCode SimplificationJava
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 SecurityJavaParameter encryption
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.

ActivitiBPMNJava
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.

Backend DevelopmentJavaPerformance Tuning
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 PerformanceEtcdJava
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 QueueConcurrencyJava
0 likes · 23 min read
Mastering Unbounded and Bounded Queues in Java: When to Use Each
Shepherd Advanced Notes
Shepherd Advanced Notes
Sep 30, 2024 · Backend Development

Deep Dive into Xxl-Job Core Architecture: How It Works and Why

This article explains Xxl-Job’s lightweight distributed scheduling architecture, covering the admin console, executor startup, JobHandler initialization, HTTP server registration, task triggering logic with scheduling threads, fast/slow thread pools, routing and blocking strategies, and result callbacks, illustrated with code snippets and diagrams.

Distributed SchedulingJavaSpring Boot
0 likes · 21 min read
Deep Dive into Xxl-Job Core Architecture: How It Works and Why
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 CollectionJava
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.

EasyExcelExportJava
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.

AIEmbeddingJava
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.

Build ToolsJavaMaven
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.

ControllerJavaSpringBoot
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 RefactoringJavadesign-pattern
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 SourcingJavaarchitecture
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.

ArithmeticBigDecimalJava
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.

@ControllerAdviceAPI SecurityJava
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.

Backend DevelopmentGarbage CollectionJVM
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.

JavaRedisSpring Boot
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.

Backend DevelopmentJavaexception handling
0 likes · 4 min read
Should try‑catch be placed inside or outside a for loop in Java?
Programmer XiaoFu
Programmer XiaoFu
Sep 26, 2024 · Backend Development

Boost Coding Efficiency with Guava RateLimiter: Elegant Rate Limiting Explained

This article explains how Guava's RateLimiter, built on the token‑bucket algorithm, provides smooth burst handling, configurable rates, warm‑up support, and thread safety, and demonstrates its usage through detailed code examples and best‑practice recommendations for API, database, and crawler throttling.

ConcurrencyGuavaJava
0 likes · 9 min read
Boost Coding Efficiency with Guava RateLimiter: Elegant Rate Limiting Explained
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.

ConsensusJavaMulti-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.

JavaLoggingMaven
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.

JavaJava11Java13
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.

Backend DevelopmentEffective JavaJDK 23
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.

JavaOrder WorkflowSpring
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.

EmbeddingJavaLLM
0 likes · 24 min read
Mastering RAG with LangChain4j: From Simple Setup to Advanced Retrieval‑Augmented Generation
Shepherd Advanced Notes
Shepherd Advanced Notes
Sep 24, 2024 · Backend Development

How to Properly Configure ThreadPoolExecutor Parameters in Java

This article explains the background, creation, and detailed parameters of Java's ThreadPoolExecutor, walks through its task execution flow, warns against using Executors factory methods, and provides practical formulas for setting core pool sizes based on CPU‑bound or I/O‑bound workloads.

CPUConcurrencyExecutorService
0 likes · 15 min read
How to Properly Configure ThreadPoolExecutor Parameters in Java
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.

ConcurrencyEasyExcelExportQueue
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.

JavaMQgo
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.

IOJavaReflection
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 optimizationJavaLinux
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.

JavaPerformance TuningRocketMQ
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.

JavaLogbackMaven
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.

BenchmarkEnumHashMap
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.

Backend DevelopmentDecoratorJava
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.

Backend DevelopmentJavadistributed systems
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.

Backend DevelopmentJavaSpring Boot
0 likes · 4 min read
Mastering Spring Boot Transaction Hooks for Advanced Business Logic