Tagged articles

Java

5000 articles · Page 35 of 50
Lobster Programming
Lobster Programming
Nov 1, 2024 · Backend Development

How to Parse PDFs and Extract Metadata with Apache Tika and Spring Boot

This guide explains Apache Tika's document parsing capabilities, shows how to download and run the Tika app, demonstrates extracting text and metadata from a PDF, and provides step‑by‑step instructions for integrating Tika into a Spring Boot project with full code examples.

Apache TikaDocument processingJava
0 likes · 7 min read
How to Parse PDFs and Extract Metadata with Apache Tika and Spring Boot
Java Architect Essentials
Java Architect Essentials
Oct 31, 2024 · Backend Development

How to Read Excel, Word, PDF, and Text Files in Java

This article explains how to use Java libraries such as Apache POI, PDFBox, and EasyExcel to read Excel, DOC/DOCX, PDF, and plain text files, providing complete code examples, required Maven dependencies, and step‑by‑step usage instructions for each file type.

Apache POIFile I/OJava
0 likes · 13 min read
How to Read Excel, Word, PDF, and Text Files in Java
Top Architect
Top Architect
Oct 31, 2024 · Backend Development

Using Java 8 Stream API for POJO Collection Processing

This article introduces Java 8 Stream API, demonstrates filtering, mapping, sorting, collecting, and parallel streams with POJO examples, including code snippets, performance tips, and links to related resources, while also containing promotional messages for ChatGPT services.

CollectionsJavaJava 8
0 likes · 11 min read
Using Java 8 Stream API for POJO Collection Processing
G7 EasyFlow Tech Circle
G7 EasyFlow Tech Circle
Oct 31, 2024 · Backend Development

Mastering Zero‑Downtime Deployments with Spring Boot Microservices

This article explains how to achieve lossless releases for Spring Boot microservices by deregistering old instances, handling shutdown hooks, configuring graceful shutdown in Spring Boot 2.3+, and integrating custom interceptors for various containers and registration centers.

Graceful ShutdownJavaSpring Boot
0 likes · 15 min read
Mastering Zero‑Downtime Deployments with Spring Boot Microservices
Code Ape Tech Column
Code Ape Tech Column
Oct 31, 2024 · Backend Development

Migrating from RestTemplate to WebClient in Spring Framework: Benefits and Implementation Guide

This article explains why RestTemplate is deprecated in Spring Framework 5+, outlines the advantages of the reactive WebClient such as non‑blocking I/O, functional style, streaming and improved error handling, and provides complete Java code examples for creating, configuring, and using WebClient synchronously and asynchronously, including timeout and error management.

ErrorHandlingHTTPJava
0 likes · 13 min read
Migrating from RestTemplate to WebClient in Spring Framework: Benefits and Implementation Guide
JD Tech Talk
JD Tech Talk
Oct 31, 2024 · Backend Development

Transforming Monolithic Order Processing with LiteFlow: A Component‑Based Workflow Blueprint

This article examines the challenges of sprawling order‑processing code in logistics systems and presents a strategic component‑based approach using the open‑source LiteFlow framework, detailing its architecture, execution rules, example XML flow, Java implementations, and key advantages for scalable backend development.

Component ArchitectureJavaLiteFlow
0 likes · 10 min read
Transforming Monolithic Order Processing with LiteFlow: A Component‑Based Workflow Blueprint
JD Cloud Developers
JD Cloud Developers
Oct 31, 2024 · Backend Development

Transform Complex Order Processing with LiteFlow’s Component‑Based Workflow Engine

This article examines the challenges of scaling order‑processing logic in logistics systems and presents a component‑oriented solution using the open‑source LiteFlow framework, detailing its strategic “workbench” pattern, tactical component design, execution rules, and practical Java code examples for building flexible, decoupled workflows.

Component ArchitectureJavaLiteFlow
0 likes · 11 min read
Transform Complex Order Processing with LiteFlow’s Component‑Based Workflow Engine
FunTester
FunTester
Oct 31, 2024 · Backend Development

Understanding Java ExecutorService: Core Concepts, Thread Pools, and Practical Usage

This article explains how Java's ExecutorService abstracts and simplifies asynchronous task execution, covering core features, thread‑pool configurations, task submission methods, future management, shutdown procedures, rejection policies, and real‑world code examples for network requests, image processing, and background tasks.

Best PracticesExecutorServiceJava
0 likes · 20 min read
Understanding Java ExecutorService: Core Concepts, Thread Pools, and Practical Usage
Java Architect Essentials
Java Architect Essentials
Oct 30, 2024 · Backend Development

Optimizing Excel Export with EasyExcel: Performance, Pagination, Concurrency, and Cell‑Merging Strategies

This article demonstrates how to use EasyExcel to efficiently export large volumes of data to Excel by improving performance through pagination, concurrent queries, and custom cell‑merging strategies, including built‑in annotations and WriteHandler implementations, while providing complete Java code examples.

Cell MergingConcurrencyEasyExcel
0 likes · 16 min read
Optimizing Excel Export with EasyExcel: Performance, Pagination, Concurrency, and Cell‑Merging Strategies
Architect
Architect
Oct 30, 2024 · Backend Development

How to Build Distributed WebSocket Messaging with Spring, Redis, and Kafka

This article explains how to enable cross‑node WebSocket communication in a distributed Spring application by using a message queue (Redis or Kafka) to broadcast messages, tracking user connections with Redis, and providing a complete step‑by‑step implementation with code samples and configuration details.

JavaKafkaRedis
0 likes · 20 min read
How to Build Distributed WebSocket Messaging with Spring, Redis, and Kafka
Programmer DD
Programmer DD
Oct 30, 2024 · Fundamentals

Boost Your Java Coding Speed with IntelliJ IDEA Live Templates

Learn how to accelerate Java development in IntelliJ IDEA by using Live Templates to auto‑complete code snippets, create custom shortcuts, organize templates with groups, employ parameters, and share templates through import/export, turning repetitive typing into a few keystrokes.

IDE shortcutsIntelliJ IDEAJava
0 likes · 5 min read
Boost Your Java Coding Speed with IntelliJ IDEA Live Templates
Selected Java Interview Questions
Selected Java Interview Questions
Oct 30, 2024 · Backend Development

Implementing Short URL Redirection with SpringBoot

This article explains the concept of short‑URL redirection, its benefits, and provides a complete SpringBoot implementation—including database schema, entity, DAO, service, controller, and testing code—to convert long links into short, trackable links and handle redirects.

JavaMyBatisRedirect
0 likes · 11 min read
Implementing Short URL Redirection with SpringBoot
Java Architecture Stack
Java Architecture Stack
Oct 30, 2024 · Operations

Why ZGC Is Revolutionizing Java Memory Management for Low‑Latency Apps

This article explains ZGC’s ultra‑low pause times, massive heap support, colored pointers, concurrent compaction, and generational optimizations, then shows how these features benefit real‑time analytics, high‑performance servers, and online transaction systems, and provides step‑by‑step instructions for enabling and tuning ZGC in Java.

Garbage CollectorJavaMemory Management
0 likes · 9 min read
Why ZGC Is Revolutionizing Java Memory Management for Low‑Latency Apps
Java Architect Essentials
Java Architect Essentials
Oct 29, 2024 · Backend Development

Optimizing Batch Insert Performance with MyBatis-Plus: Configuration, Custom Methods, and Multithreading

This article explains why MyBatis-Plus's saveBatch() can be slow for large data sets, shows how enabling rewriteBatchedStatements in the JDBC URL dramatically speeds up inserts, and demonstrates custom batch insert/update methods and multithreaded execution to further improve performance, complete with code examples and test results.

Batch InsertJavaMultithreading
0 likes · 14 min read
Optimizing Batch Insert Performance with MyBatis-Plus: Configuration, Custom Methods, and Multithreading
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 29, 2024 · Backend Development

Storing Douyin and Baidu Hot Search Data with MySQL, MyBatis Generator, and Java Crawlers

This tutorial explains how to design a MySQL table for hot‑search records, generate Java entity and mapper classes using MyBatis Generator, create unique IDs for each entry, and implement scheduled Java crawlers for Douyin and Baidu hot‑search data that persist the results via Spring‑Boot services.

Database DesignJavaMyBatis
0 likes · 19 min read
Storing Douyin and Baidu Hot Search Data with MySQL, MyBatis Generator, and Java Crawlers
Java Architect Essentials
Java Architect Essentials
Oct 28, 2024 · Information Security

Protecting Spring Boot Applications with Classfinal Maven Plugin: Code Encryption and Machine‑Bound Execution

This article explains how to secure Spring Boot deployment packages by using Maven plugins for code obfuscation and encryption, configuring classfinal‑maven‑plugin to encrypt class files, configuration files, and libraries, and demonstrates password‑less and password‑protected startup as well as machine‑bound execution to prevent reverse engineering.

ClassFinalCode EncryptionJava
0 likes · 6 min read
Protecting Spring Boot Applications with Classfinal Maven Plugin: Code Encryption and Machine‑Bound Execution
DeWu Technology
DeWu Technology
Oct 28, 2024 · Backend Development

Design and Evolution of an E-commerce Batch Processing System

The article traces the evolution of an e‑commerce batch‑processing system—from an initial centralized workflow with reusable components, through a platform‑driven configuration and SPI registration, to a localized, asynchronous task‑reporting architecture employing priority queues and isolated thread pools—to balance flexibility, scalability, and operational risk.

JavaSystem Designconfiguration
0 likes · 18 min read
Design and Evolution of an E-commerce Batch Processing System
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 28, 2024 · Backend Development

Resolving Missing Request Headers in Spring MVC Multithreaded Environments

This article analyzes why Spring MVC fails to retrieve request header fields in multithreaded scenarios, explains the underlying ThreadLocal storage mechanism, critiques a common but flawed solution, and presents reliable approaches using CountDownLatch, manual RequestContextHolder propagation, and request caching to ensure header availability across threads.

JavaMultithreadingRequestContextHolder
0 likes · 10 min read
Resolving Missing Request Headers in Spring MVC Multithreaded Environments
Top Architect
Top Architect
Oct 27, 2024 · Backend Development

Building a Netty + WebSocket Message Push Server in Java

This article demonstrates how to build a Netty‑based WebSocket server for message pushing in Java, provides complete source code for the server, configuration, pipeline, custom handler, and push service, and also contains promotional material for AI services and a community group.

JavaMessagePushWebSocket
0 likes · 10 min read
Building a Netty + WebSocket Message Push Server in Java
Cognitive Technology Team
Cognitive Technology Team
Oct 26, 2024 · Fundamentals

Understanding G1 Garbage Collector: Concepts, Heap Regions, Pause Prediction, Object Header, and Allocation Strategies

This article explains the core concepts of the G1 garbage collector, including its memory management duties, heap region types and sizing, pause‑time prediction model, card table and bitmap usage, object header structure, and both fast and slow object allocation strategies.

G1 GCGarbage CollectionHeap Regions
0 likes · 9 min read
Understanding G1 Garbage Collector: Concepts, Heap Regions, Pause Prediction, Object Header, and Allocation Strategies
Top Architect
Top Architect
Oct 25, 2024 · Backend Development

Maven Basics: Configuration, Dependency Management, Modules, Plugins, and Build Settings

This article provides a comprehensive guide to Maven, covering repository configuration, basic project setup, dependency declaration and management, module organization, unified version control, essential plugins such as jar, assembly, and shade, as well as build settings like compiler version, resource exclusion, and main class definition.

Build ToolsJavaMaven
0 likes · 17 min read
Maven Basics: Configuration, Dependency Management, Modules, Plugins, and Build Settings
Architecture Digest
Architecture Digest
Oct 25, 2024 · Backend Development

Spring Boot Project Initialization, Version Management, and Common Development Tools Guide

This article walks through the challenges of setting up a Java development environment, demonstrates how to create a Spring Boot project, explains version compatibility between Spring Cloud, Spring Boot, and Kafka, showcases essential Maven configurations and code snippets for global exception handling, logging, CORS, Swagger, and recommends useful in‑memory tools such as embedded Redis, DB, Kafka, Hutool, MyBatis‑Plus, MapStruct, and Redisson.

Backend DevelopmentJavaMaven
0 likes · 11 min read
Spring Boot Project Initialization, Version Management, and Common Development Tools Guide
macrozheng
macrozheng
Oct 25, 2024 · Fundamentals

Why and How Java Breaks the Parent Delegation Model: Real-World Scenarios

This article explains the purpose of Java's parent‑delegation class‑loading mechanism, describes its three built‑in loaders, shows how custom loaders can override it, and explores common situations—such as JNDI, JDBC, Tomcat, and OSGi—where developers intentionally break the delegation for flexibility and modularity.

Custom ClassLoaderJDBCJNDI
0 likes · 11 min read
Why and How Java Breaks the Parent Delegation Model: Real-World Scenarios
Code Ape Tech Column
Code Ape Tech Column
Oct 25, 2024 · Fundamentals

Understanding Why BigDecimal Preserves Precision in Java

This article explains how Java's BigDecimal class maintains exact decimal precision by scaling numbers to long integers, detailing its internal fields, demonstrating addition with sample code, and analyzing the underlying add method logic to show why no precision is lost.

ArithmeticBigDecimalJava
0 likes · 6 min read
Understanding Why BigDecimal Preserves Precision in Java
Java Architect Essentials
Java Architect Essentials
Oct 25, 2024 · Backend Development

Using Lombok Annotations @RequiredArgsConstructor, @Delegate, @Cleanup, @Singular and @Builder in Spring Applications

This article demonstrates how Lombok annotations such as @RequiredArgsConstructor, @Delegate, @Cleanup, @Singular, and @Builder can be combined with Spring components to reduce boilerplate, automatically inject dependencies, manage resources, and build immutable objects, providing practical code examples and usage guidelines.

Dependency InjectionJavaLombok
0 likes · 7 min read
Using Lombok Annotations @RequiredArgsConstructor, @Delegate, @Cleanup, @Singular and @Builder in Spring Applications
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Oct 25, 2024 · Backend Development

Mastering Spring Boot 3 Validation: From Annotations to Global Error Handling

This article provides a comprehensive guide to data validation in Spring Boot 3, covering Bean Validation annotations, controller and service‑layer checks, JPA entity validation, custom constraints, validation groups, programmatic validation, and internationalized error messages with practical code examples and tests.

Bean ValidationInternationalizationJava
0 likes · 16 min read
Mastering Spring Boot 3 Validation: From Annotations to Global Error Handling
Senior Tony
Senior Tony
Oct 24, 2024 · Backend Development

Why Java Still Needs Lock: Beyond synchronized with Non‑Blocking, Fair, and Read‑Write Features

This article explains why Java’s Lock interface is still needed despite synchronized, covering non‑blocking tryLock, timed lock acquisition, interruptible locking, fair versus non‑fair locks, read‑write locks, and Condition objects, with code samples and execution logs illustrating each feature.

Backend DevelopmentConcurrencyJava
0 likes · 14 min read
Why Java Still Needs Lock: Beyond synchronized with Non‑Blocking, Fair, and Read‑Write Features
Architecture Digest
Architecture Digest
Oct 24, 2024 · Backend Development

Oracle Java Migration Trends: Cost, Licensing, and OpenJDK Adoption

A recent Azul Systems survey reveals that over 80% of Oracle Java users are migrating to OpenJDK or commercially‑supported OpenJDK distributions to reduce costs, avoid licensing uncertainties, and gain more flexible, open‑source Java solutions, with most migrations completing within a year.

Enterprise SupportJavaLicensing
0 likes · 5 min read
Oracle Java Migration Trends: Cost, Licensing, and OpenJDK Adoption
Top Architect
Top Architect
Oct 24, 2024 · Backend Development

tldb Distributed Lock: Usage Guide for Go and Java

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

JavaMessage Queuego
0 likes · 10 min read
tldb Distributed Lock: Usage Guide for Go and Java
Selected Java Interview Questions
Selected Java Interview Questions
Oct 24, 2024 · Information Security

Guide to Using the Sensitive‑Word Java Library for Sensitive Word Detection and Replacement

This article provides a step‑by‑step tutorial on integrating the Sensitive‑Word Java library via Maven, demonstrates core find/replace APIs, showcases advanced detection features such as email, URL, IPv4 and custom replacement strategies, and includes complete code examples and output results.

JavaMavenSensitive Word
0 likes · 12 min read
Guide to Using the Sensitive‑Word Java Library for Sensitive Word Detection and Replacement
macrozheng
macrozheng
Oct 24, 2024 · Backend Development

Master Java Thread Pools: Boost Performance and Avoid Resource Pitfalls

This article explains why creating a thread for each task is inefficient, introduces thread pools as a solution, compares execution times with code examples, details ThreadPoolExecutor's core interfaces, constructors, execution flow, rejection policies, state transitions, and provides practical usage patterns and best‑practice recommendations for Java backend development.

Backend DevelopmentConcurrencyExecutorService
0 likes · 28 min read
Master Java Thread Pools: Boost Performance and Avoid Resource Pitfalls
Mingyi World Elasticsearch
Mingyi World Elasticsearch
Oct 24, 2024 · Backend Development

Full Elasticsearch 8.x Java API Client Code Ready for Immediate Project Use

This article walks through the new features of the Elasticsearch 8.x Java API client, shows how to set up the development environment, initialize the client with HTTPS or API‑key authentication, and provides complete, ready‑to‑run code examples for index creation, document indexing, searching, aggregations, and scripted sorting.

ElasticsearchElasticsearch 8.xJava
0 likes · 15 min read
Full Elasticsearch 8.x Java API Client Code Ready for Immediate Project Use
Su San Talks Tech
Su San Talks Tech
Oct 24, 2024 · Backend Development

Mastering Java Exception Handling: 13 Best Practices for Cleaner Code

This guide walks through common pitfalls and 13 practical best‑practice techniques for handling exceptions in Java, covering everything from avoiding ignored errors and using global handlers to proper logging, try‑with‑resources, custom exceptions, and avoiding exception‑driven control flow.

Best PracticesJavaSpringBoot
0 likes · 13 min read
Mastering Java Exception Handling: 13 Best Practices for Cleaner Code
Baidu Geek Talk
Baidu Geek Talk
Oct 23, 2024 · Artificial Intelligence

Integrating Yuan 2.0 Large Model with PaddleNLP: Overview, Usage Steps, and Interaction Examples

The open‑source Yuan 2.0 large model is fully integrated into Baidu’s PaddleNLP, offering quick inference for tasks like code generation, translation, and reasoning, along with efficient distributed training and fine‑tuning features such as Zero Padding optimization, enabling developers to easily deploy and customize the model via simple setup steps and example interactions.

AIJavaLLM
0 likes · 10 min read
Integrating Yuan 2.0 Large Model with PaddleNLP: Overview, Usage Steps, and Interaction Examples
Architecture Digest
Architecture Digest
Oct 23, 2024 · Backend Development

Generating Dynamic PDF Invoices with iTextPdf in Java

This article explains how to use the iTextPdf library in a Java SpringBoot project to create, fill, and merge PDF invoice templates—covering dependency setup, template design, dynamic table generation, and final PDF concatenation for both fixed and variable invoice data.

Dynamic PDFJavaSpringBoot
0 likes · 11 min read
Generating Dynamic PDF Invoices with iTextPdf in Java
Programmer DD
Programmer DD
Oct 23, 2024 · Artificial Intelligence

How to Build a Generative AI App with Ollama and Spring Boot

This guide walks you through setting up Ollama for local large‑model serving, creating a Spring Boot project with Spring AI support, writing a unit test to query the model, and explains how to add the necessary dependencies for AI integration in existing Java applications.

AI integrationGenerative AIJava
0 likes · 7 min read
How to Build a Generative AI App with Ollama and Spring Boot
Su San Talks Tech
Su San Talks Tech
Oct 23, 2024 · Backend Development

Unlocking Java’s AQS: A Deep Dive into AbstractQueuedSynchronizer and Concurrency Primitives

This article explores the origins of Java's JUC package, explains the core concepts of AbstractQueuedSynchronizer—including template methods, exclusive and shared acquisition, CLH queues, CAS, and LockSupport—and demonstrates how locks, conditions, and synchronization mechanisms are implemented and used in real-world Java concurrency.

AQSConcurrencyCondition
0 likes · 30 min read
Unlocking Java’s AQS: A Deep Dive into AbstractQueuedSynchronizer and Concurrency Primitives
Architect
Architect
Oct 22, 2024 · Backend Development

Simplify Third‑Party HTTP Calls with UniHttp: A Declarative Java Client

This article explains why traditional programmatic HTTP clients cause duplicated, hard‑to‑maintain code in enterprise projects, introduces the UniHttp declarative framework with its annotations, shows a quick‑start guide, details lifecycle hooks for custom processing, and demonstrates an enterprise‑level weather‑service integration example.

Declarative APIHTTP ClientJava
0 likes · 20 min read
Simplify Third‑Party HTTP Calls with UniHttp: A Declarative Java Client
Architecture Digest
Architecture Digest
Oct 22, 2024 · Backend Development

Comprehensive Guide to Using Ctrip’s Apollo Distributed Configuration Center with Spring Boot

This article provides a step‑by‑step tutorial on Apollo, Ctrip’s open‑source distributed configuration center, covering its core concepts, features, architecture, four‑dimensional model, project creation, Maven dependencies, Spring Boot configuration, test controllers, various runtime scenarios, cluster and namespace usage, and deployment on Kubernetes with Docker.

ApolloJavaKubernetes
0 likes · 23 min read
Comprehensive Guide to Using Ctrip’s Apollo Distributed Configuration Center with Spring Boot
Top Architect
Top Architect
Oct 22, 2024 · Databases

EasyQuery – A High‑Performance Java ORM with Strongly Typed Query API

The article presents EasyQuery, a high‑performance, type‑safe Java ORM inspired by .NET solutions, demonstrating its query capabilities—including single‑record retrieval, pagination, joins, subqueries, streaming results, custom VO mapping, dynamic conditions, and native SQL fragments—while highlighting its advantages over MyBatis‑Plus.

JavaORMdatabase
0 likes · 15 min read
EasyQuery – A High‑Performance Java ORM with Strongly Typed Query API
Selected Java Interview Questions
Selected Java Interview Questions
Oct 22, 2024 · Backend Development

Common Java Stream API Programming and Operations

This article introduces Java 8's Stream API, explains how to create streams from collections and arrays, and demonstrates a wide range of intermediate and terminal operations with clear code examples to help developers write concise, efficient, and readable Java code.

Backend DevelopmentCollectionsFunctional Programming
0 likes · 9 min read
Common Java Stream API Programming and Operations
macrozheng
macrozheng
Oct 22, 2024 · Backend Development

Can @Service Replace @Controller in Spring Boot? A Deep Dive

This article explores whether the @Service annotation can replace @Controller in Spring Boot, demonstrates a working example, explains the underlying bean registration process, and clarifies how Spring’s component scanning and request mapping enable such unconventional usage.

ControllerJavaService
0 likes · 8 min read
Can @Service Replace @Controller in Spring Boot? A Deep Dive
Java Architecture Stack
Java Architecture Stack
Oct 22, 2024 · Backend Development

How to Prevent Browser Caching of JavaScript in Java Backend Apps

This article explains why stale JavaScript can break functionality, outlines the risks of caching such as outdated bugs, security flaws, and debugging difficulties, and provides practical Java‑side solutions—including versioned URLs, cache‑control headers, static‑resource policies, and ETag/Last‑Modified handling—to ensure browsers always load the latest scripts.

CachingJavaJavaScript
0 likes · 7 min read
How to Prevent Browser Caching of JavaScript in Java Backend Apps
Architect
Architect
Oct 21, 2024 · Backend Development

Choosing the Right Local Cache in Java: From ConcurrentHashMap to Caffeine

This article examines why and how to use local in‑process caches in Java, compares four implementations—ConcurrentHashMap, Guava Cache, Caffeine, and Ehcache—covers essential cache features, consistency challenges, hit‑rate optimization, and recommends Caffeine as the most performant choice for a two‑level caching architecture.

Cache ConsistencyCaffeineGuava
0 likes · 11 min read
Choosing the Right Local Cache in Java: From ConcurrentHashMap to Caffeine
Lobster Programming
Lobster Programming
Oct 21, 2024 · Backend Development

Mastering Order State Management with Spring State Machine

This guide demonstrates how to use Spring State Machine to elegantly manage order status changes by defining states, events, configuring transitions, and implementing listeners, providing Maven dependencies and Java code examples for building extensible, event‑driven workflows in backend applications.

Backend DevelopmentJavaSpring Boot
0 likes · 7 min read
Mastering Order State Management with Spring State Machine
IT Services Circle
IT Services Circle
Oct 20, 2024 · Backend Development

Huawei Campus Interview Experience and Technical Q&A: Java, MySQL, Redis, Design Patterns, and Networking Fundamentals

This article combines a Huawei campus recruitment overview—including interview timeline, salary grades, and interview process—with extensive technical Q&A covering Java vs C differences, Java features, OOP concepts, common design patterns, Redis and MySQL comparisons, MySQL transaction properties, B‑Tree indexes, list deduplication, stack implementations, and the low‑level workings of the ping command.

Data StructuresDesign PatternsJava
0 likes · 23 min read
Huawei Campus Interview Experience and Technical Q&A: Java, MySQL, Redis, Design Patterns, and Networking Fundamentals
Top Architect
Top Architect
Oct 20, 2024 · Backend Development

Comprehensive Maven Guide: Configuration, Dependency Management, Modules, Plugins, and Build Settings

This article provides a detailed tutorial on Maven, covering basic project configuration, repository setup, POM structure, dependency declaration and scopes, indirect dependencies, exclusions, variable properties, multi‑module management, unified dependency management, essential plugins such as jar, assembly and shade, as well as build settings like compiler version, resource exclusion, and main‑class definition.

Backend DevelopmentBuild ToolsJava
0 likes · 22 min read
Comprehensive Maven Guide: Configuration, Dependency Management, Modules, Plugins, and Build Settings
Java Tech Enthusiast
Java Tech Enthusiast
Oct 20, 2024 · Backend Development

Why C++ Candidates Struggle in Backend Development Jobs and How to Improve

C++ graduates often fail backend interviews at major internet firms because those companies favor Java or Go and expect experience with databases, caches, and message queues, so candidates should either acquire those backend skills, switch to the dominant languages, or target C++‑friendly domains such as embedded, AV, gaming, or client‑side networking.

Backend DevelopmentC++Career Advice
0 likes · 8 min read
Why C++ Candidates Struggle in Backend Development Jobs and How to Improve
Selected Java Interview Questions
Selected Java Interview Questions
Oct 20, 2024 · Backend Development

Optimizing XML‑to‑MySQL Bulk Import: Reducing Execution Time from 300 s to 4 s with JDBC Batch and Disruptor

This article details how a Java‑based XML‑to‑MySQL import of over 60,000 records was accelerated from 300 seconds to just 4 seconds by enabling JDBC batch processing, configuring rewriteBatchedStatements, and employing a multithreaded Disruptor pipeline for asynchronous writes, while also discussing further tuning options.

DisruptorJDBC BatchJava
0 likes · 11 min read
Optimizing XML‑to‑MySQL Bulk Import: Reducing Execution Time from 300 s to 4 s with JDBC Batch and Disruptor
Architect
Architect
Oct 19, 2024 · Operations

Why Does Your Java Application Crash? Decoding JVM Crash Logs and Core Dumps

This article walks through the anatomy of a Java Virtual Machine crash, explains how to read the generated hs_err_pid log and core dump, and provides practical debugging steps—including code examples, signal analysis, register context, and GDB commands—to pinpoint and resolve the root cause.

JVMJavaLinux
0 likes · 37 min read
Why Does Your Java Application Crash? Decoding JVM Crash Logs and Core Dumps
Architect's Guide
Architect's Guide
Oct 19, 2024 · Backend Development

Java Spring Development Best Practices: 14 Tips for Clean and Efficient Code

This article presents fourteen practical Java Spring development best‑practice tips—including using @ConfigurationProperties, Lombok's @RequiredArgsConstructor, modularizing code, throwing exceptions instead of returning error codes, minimizing unnecessary database calls, avoiding null returns, reducing if‑else chains, and leveraging IDE features—to help developers write cleaner, more maintainable backend code.

Best PracticesJavaLombok
0 likes · 7 min read
Java Spring Development Best Practices: 14 Tips for Clean and Efficient Code
Alibaba Cloud Native
Alibaba Cloud Native
Oct 18, 2024 · Artificial Intelligence

How Spring AI Alibaba Simplifies Java AI Application Development

This article introduces the open‑source Spring AI Alibaba framework, explains its background, core features such as chat model abstraction, prompt templates, structured output, function calling, RAG and chat memory, and walks through a complete smart‑ticket‑assistant example with code snippets and deployment guidance.

AI FrameworkFunction CallingJava
0 likes · 17 min read
How Spring AI Alibaba Simplifies Java AI Application Development
Sohu Tech Products
Sohu Tech Products
Oct 18, 2024 · Backend Development

Design and Refactoring of a Java SDK with Proxy Optimization and Integration Test Enhancements

The article details how a Java SDK for a CIM instant‑messaging system was redesigned using Java 8+ features and the Builder pattern, introduced a lightweight proxy resembling RPC frameworks with dynamic‑URL support, and added comprehensive integration tests that verify automatic client reconnection and reliable message delivery across clustered servers.

Builder PatternJavaRPC
0 likes · 10 min read
Design and Refactoring of a Java SDK with Proxy Optimization and Integration Test Enhancements
Top Architect
Top Architect
Oct 18, 2024 · Backend Development

Using Spring Transaction Hooks to Send Kafka Messages After Commit

This article explains how to leverage Spring's TransactionSynchronizationManager to detect active transactions, register synchronization callbacks, and asynchronously send Kafka messages only after a transaction successfully commits, providing a practical example and detailed code snippets for building a reusable Spring Boot starter library.

JavaKafkaSpring
0 likes · 12 min read
Using Spring Transaction Hooks to Send Kafka Messages After Commit
Top Architect
Top Architect
Oct 18, 2024 · Backend Development

UniHttp: Declarative HTTP Interface Integration Framework for Java Backend Projects

This article introduces UniHttp, a declarative Java HTTP client framework that lets developers define third‑party HTTP APIs as annotated interfaces, provides quick‑start instructions, detailed annotation usage, lifecycle hooks, custom client configuration, and an enterprise integration example with full code snippets.

HTTPJavaSpringBoot
0 likes · 21 min read
UniHttp: Declarative HTTP Interface Integration Framework for Java Backend Projects
macrozheng
macrozheng
Oct 18, 2024 · Backend Development

Why @Transactional Often Fails: 13 Real-World Pitfalls and How to Fix Them

An in‑depth guide reveals thirteen common pitfalls that cause Spring’s @Transactional annotation to malfunction—ranging from unnecessary usage and proxy limitations to propagation misconfigurations and exception handling—plus practical demos and solutions to ensure reliable transaction rollbacks in Java backend development.

@TransactionalAOPExceptionHandling
0 likes · 20 min read
Why @Transactional Often Fails: 13 Real-World Pitfalls and How to Fix Them
macrozheng
macrozheng
Oct 18, 2024 · Backend Development

Master Spring Boot Validation: 10 Essential Tips and Custom Techniques

This article presents ten practical techniques—including built‑in annotations, custom constraints, server‑side checks, internationalized messages, validation groups, cross‑field rules, exception handling, testing, and client‑side considerations—to help developers implement robust validation in Spring Boot applications.

Custom AnnotationsJSR-303Java
0 likes · 17 min read
Master Spring Boot Validation: 10 Essential Tips and Custom Techniques
JD Cloud Developers
JD Cloud Developers
Oct 18, 2024 · Backend Development

Mastering Caffeine Cache: High‑Performance Java Caching Techniques

This guide introduces Caffeine, a high‑performance Java caching library, explains its core features, configuration options, loading strategies—including manual, automatic, asynchronous, and async loading caches—eviction policies, removal listeners, and statistics collection, providing code examples for each use case.

CaffeineJavaPerformance
0 likes · 16 min read
Mastering Caffeine Cache: High‑Performance Java Caching Techniques
Alibaba Cloud Developer
Alibaba Cloud Developer
Oct 18, 2024 · Backend Development

How to Use Arthas Flamegraph for Java Performance Profiling and Optimization

Learn how to leverage the Arthas flamegraph tool to profile Java applications, interpret CPU usage visualizations, and apply practical optimization techniques illustrated through real-world case studies that reduced CPU consumption by up to 6% and improved system stability during high‑traffic events.

ArthasBackend DevelopmentCPU optimization
0 likes · 7 min read
How to Use Arthas Flamegraph for Java Performance Profiling and Optimization
Architecture Digest
Architecture Digest
Oct 17, 2024 · Backend Development

Simplifying Backend CRUD with APIJSON: One Interface per Operation

This article explains how APIJSON can replace dozens of traditional SpringBoot controller methods with a single configurable endpoint, demonstrating concise request formats, permission annotations, and example code for creating, reading, updating, deleting, and aggregating data in a Java backend.

APIJSONCRUDJava
0 likes · 8 min read
Simplifying Backend CRUD with APIJSON: One Interface per Operation
Top Architect
Top Architect
Oct 17, 2024 · Backend Development

Understanding ForkJoinPool and the Fork/Join Framework in Java

This article explains the limitations of ThreadPoolExecutor, introduces the Fork/Join model and ForkJoinPool, demonstrates how to implement divide‑and‑conquer tasks with RecursiveTask, analyzes the pool’s design, task submission methods, work‑stealing mechanism, common pool pitfalls, and presents performance evaluation results.

ConcurrencyDivideAndConquerForkJoinPool
0 likes · 26 min read
Understanding ForkJoinPool and the Fork/Join Framework in Java
Top Architect
Top Architect
Oct 17, 2024 · Backend Development

Spring Utility Classes Overview: Assertions, ObjectUtils, CollectionUtils, File/IO, and Reflection/AOP

This article, written by a senior architect, reviews Spring’s built‑in utility classes—including assertions, object and collection helpers, file/IO operations, and reflection/AOP tools—providing code snippets and usage notes to help developers replace redundant custom utilities and improve backend Java code quality.

JavaReflectionSpring
0 likes · 15 min read
Spring Utility Classes Overview: Assertions, ObjectUtils, CollectionUtils, File/IO, and Reflection/AOP
Architect's Guide
Architect's Guide
Oct 17, 2024 · Backend Development

Using JXLS for Complex Excel Export in Java Backend Applications

This article introduces the JXLS library for Java, explains how to add Maven dependencies, provides backend utility and controller code for exporting Excel files, and details common XLS expressions such as jx:area, jx:each, jx:mergeCells, and dynamic column handling to simplify complex Excel report generation.

Dynamic ColumnsExcel ExportJava
0 likes · 8 min read
Using JXLS for Complex Excel Export in Java Backend Applications
Alibaba Cloud Developer
Alibaba Cloud Developer
Oct 17, 2024 · Artificial Intelligence

Build AI-Powered Java Apps Fast with Spring AI Alibaba: Features & Demo

Spring AI Alibaba is an open‑source Java framework that integrates Alibaba Cloud's large‑model services with Spring AI, offering high‑level abstractions for chat models, prompts, function calling, RAG, and conversation memory, and includes a complete ticket‑assistant example with code snippets.

AI FrameworkChatbotFunction Calling
0 likes · 17 min read
Build AI-Powered Java Apps Fast with Spring AI Alibaba: Features & Demo
Architect
Architect
Oct 16, 2024 · Backend Development

Mastering Spring Transaction Hooks for Safe Kafka Publishing

This article explains how to use Spring's TransactionSynchronizationManager to detect active transactions, register synchronization callbacks, and asynchronously publish payment‑log messages to Kafka without affecting the main business flow, complete with practical code snippets and pitfalls to avoid.

JavaKafkaSpring
0 likes · 11 min read
Mastering Spring Transaction Hooks for Safe Kafka Publishing
Architecture Digest
Architecture Digest
Oct 16, 2024 · Backend Development

Implementing Request and Response Encryption in Spring Boot with ControllerAdvice

This article walks through the design and implementation of symmetric request/response encryption for a Spring Boot API, covering requirement analysis, data models, custom ControllerAdvice for decryption and encryption, serialization challenges with FastJson and Jackson, and final configuration to keep encrypted payloads consistent across Android, iOS, and H5 clients.

@ControllerAdviceAPI EncryptionBackend Development
0 likes · 12 min read
Implementing Request and Response Encryption in Spring Boot with ControllerAdvice
IT Services Circle
IT Services Circle
Oct 15, 2024 · Backend Development

Why C++ Graduates Struggle to Land Backend Development Jobs in Internet Companies and How to Improve Their Prospects

The article analyzes why C++‑focused graduates receive few backend interview opportunities at major internet firms, highlights the mismatch between C++ skill sets and common backend components, and offers practical advice on switching languages or augmenting projects to better align with industry demands.

Backend DevelopmentC++Java
0 likes · 10 min read
Why C++ Graduates Struggle to Land Backend Development Jobs in Internet Companies and How to Improve Their Prospects
Su San Talks Tech
Su San Talks Tech
Oct 15, 2024 · Backend Development

How Bean Searcher Lets You Build Complex Queries with One Line of Code

Bean Searcher is an open‑source, Apache‑2.0 licensed ORM search engine that outperforms MyBatis by up to 100×, offering one‑line multi‑table joins, pagination, dynamic sorting, field aggregation, and extensive extensibility, with simple Spring Boot integration and customizable components for rapid backend development.

JavaORMSpring Boot
0 likes · 9 min read
How Bean Searcher Lets You Build Complex Queries with One Line of Code
Alibaba Cloud Native
Alibaba Cloud Native
Oct 14, 2024 · Cloud Native

Seata 2.1.0 Release: New Features, Compatibility & Upgrade Guide

Seata 2.1.0, the first Apache-incubated release, renames the package to org.apache.seata, adds RocketMQ transaction support, Raft metadata sync, decouples Saga from Spring, provides extensive compatibility across JDKs, Spring versions and OSes, and includes detailed deployment, upgrade, security and testing improvements.

JavaSeataapache
0 likes · 11 min read
Seata 2.1.0 Release: New Features, Compatibility & Upgrade Guide
Top Architect
Top Architect
Oct 14, 2024 · Backend Development

Outdated Java Technologies You Can Stop Learning: JSP, Struts, Hibernate, and More

The article advises Java backend developers to drop learning outdated technologies such as JSP, Struts, Hibernate, and certain legacy tools, emphasizing the importance of mastering core concepts like Servlets while focusing on modern frameworks like Spring MVC and lightweight ORMs like MyBatis.

JavaOutdated Technologieslearning advice
0 likes · 10 min read
Outdated Java Technologies You Can Stop Learning: JSP, Struts, Hibernate, and More
macrozheng
macrozheng
Oct 14, 2024 · Backend Development

Simplify MyBatis-Plus Join Queries with MPJ: A Hands‑On Guide

This tutorial demonstrates how to use the mybatis-plus-join (MPJ) library to perform left and right join queries in a Spring Boot project without writing XML, covering dependency setup, mapper changes, query construction, pagination, and practical code examples.

JavaJoin QueryMPJ
0 likes · 10 min read
Simplify MyBatis-Plus Join Queries with MPJ: A Hands‑On Guide
Java Backend Technology
Java Backend Technology
Oct 14, 2024 · Cloud Native

Why ExitOnOutOfMemoryError Beats HeapDumpOnOutOfMemoryError in Containerized Java Apps

This article explains why, in containerized Java applications, the JVM flag -XX:+ExitOnOutOfMemoryError is generally preferred over -XX:+HeapDumpOnOutOfMemoryError, detailing the trade‑offs, operational benefits, and how Kubernetes probes and monitoring can ensure fast failure, rapid recovery, and user‑transparent service continuity.

JVMJavaKubernetes
0 likes · 11 min read
Why ExitOnOutOfMemoryError Beats HeapDumpOnOutOfMemoryError in Containerized Java Apps