Tagged articles

Java

5000 articles · Page 34 of 50
Top Architect
Top Architect
Jan 21, 2025 · Backend Development

DynamicTp: A SpringBoot‑Based Dynamic Thread‑Pool Framework for Java Applications

The article introduces DynamicTp, a SpringBoot-based dynamic thread‑pool framework that enables real‑time adjustment, monitoring, and alerting of ThreadPoolExecutor parameters via various configuration centers, outlines its architecture, modules, features, and integration with third‑party components, and provides usage guidance for Java backend developers.

ConfigurationDynamicTpJava
0 likes · 12 min read
DynamicTp: A SpringBoot‑Based Dynamic Thread‑Pool Framework for Java Applications
Selected Java Interview Questions
Selected Java Interview Questions
Jan 21, 2025 · Backend Development

Integrating Alipay Sandbox Payment in a Java Backend with Ngrok Tunneling

This guide explains how to configure Alipay sandbox credentials, expose a local Java Spring Boot service via a tunneling tool, add the Alipay SDK dependency, set up configuration files, implement payment and notification endpoints, and handle common initialization errors for seamless backend payment integration.

AlipayJavaPayment Integration
0 likes · 11 min read
Integrating Alipay Sandbox Payment in a Java Backend with Ngrok Tunneling
Su San Talks Tech
Su San Talks Tech
Jan 21, 2025 · Backend Development

Master LiteFlow: Build Scalable Component‑Based Workflow Engines in Java

This article introduces LiteFlow, a lightweight Java component‑based rule engine that decouples complex business logic, explains its workbench design, demonstrates usage in both non‑Spring and SpringBoot environments with Maven setup and XML configuration, and details its core components, parsing, chain execution, and node processing.

Component ArchitectureJavaLiteFlow
0 likes · 19 min read
Master LiteFlow: Build Scalable Component‑Based Workflow Engines in Java
Liangxu Linux
Liangxu Linux
Jan 20, 2025 · Fundamentals

Stack vs Heap Memory: Deep Dive into Allocation, Usage, and Performance

This article explains the fundamental differences between stack and heap memory, covering their structures, allocation strategies, performance characteristics, language-specific examples in Java, C++, and Python, and provides guidance on when to use each type for efficient programming.

C++JavaMemory Management
0 likes · 16 min read
Stack vs Heap Memory: Deep Dive into Allocation, Usage, and Performance
Top Architect
Top Architect
Jan 20, 2025 · Backend Development

Diagnosing Excessive Memory Usage in Spring Boot Services: A Real‑World Case Study and Best Practices

This article recounts a production incident where Spring Boot services consumed excessive memory, explains how to diagnose the issue using jps and jmap, discusses default JVM heap settings, offers practical remediation steps, and also contains promotional material for AI community services and related offers.

BackendDevelopmentJVMJava
0 likes · 9 min read
Diagnosing Excessive Memory Usage in Spring Boot Services: A Real‑World Case Study and Best Practices
FunTester
FunTester
Jan 20, 2025 · Fundamentals

Mastering ThreadLocal in Java: From Basics to Best Practices

ThreadLocal provides a simple yet powerful way to give each thread its own independent variable, eliminating shared-state conflicts; this guide explains its underlying mechanism, creation methods, basic get/set operations, a complete example with console output, and important usage considerations such as potential memory leaks.

ConcurrencyJavaThreadLocal
0 likes · 6 min read
Mastering ThreadLocal in Java: From Basics to Best Practices
Java Architect Essentials
Java Architect Essentials
Jan 19, 2025 · Backend Development

Proper Declaration, Monitoring, and Configuration of Java Thread Pools

This article explains how to correctly declare Java thread pools using ThreadPoolExecutor, monitor their runtime status, configure parameters for CPU‑bound and I/O‑bound workloads, assign meaningful names, avoid common pitfalls such as unbounded queues and thread‑local leakage, and leverage dynamic pool frameworks.

ConcurrencyJavaPerformance
0 likes · 16 min read
Proper Declaration, Monitoring, and Configuration of Java Thread Pools
Architect
Architect
Jan 19, 2025 · Databases

Mastering Solr Spatial Search: From Configuration to Real-World Queries

This guide explains how to implement location‑based job search in a WeChat mini‑program using Solr’s spatial capabilities, covering schema setup, index building, query syntax, performance considerations, and practical code examples, while also comparing Solr with Elasticsearch for similar use cases.

Elasticsearch ComparisonJavaSolr
0 likes · 15 min read
Mastering Solr Spatial Search: From Configuration to Real-World Queries
ITPUB
ITPUB
Jan 19, 2025 · Backend Development

Why Java Reflection Slows Down Your Apps and How to Speed It Up

This article examines Java reflection's advantages and drawbacks, analyzes its core API methods, benchmarks its performance against regular calls, explains why it is slower, and demonstrates how using Hutool's ReflectUtil can dramatically improve execution speed.

HutoolJavaOptimization
0 likes · 8 min read
Why Java Reflection Slows Down Your Apps and How to Speed It Up
Top Architect
Top Architect
Jan 18, 2025 · Backend Development

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

This article explains how to replace Spring Boot's default embedded Tomcat container with Undertow, detailing Undertow's features, providing Maven dependency changes, and comparing performance and memory usage through test results, concluding that Undertow offers superior efficiency for high‑concurrency Java web applications.

JavaSpringBootTomcat
0 likes · 9 min read
Replacing Tomcat with Undertow in Spring Boot: Configuration, Features, and Performance Comparison
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 18, 2025 · Backend Development

How Java’s String.intern() Boosts Memory Efficiency and Performance

Java’s String.intern() method adds a string to the constant pool, enabling memory sharing and faster reference comparisons; this article explains its behavior, demonstrates usage with code examples, and discusses performance benefits and cautions for optimal use in real‑world applications.

InternJavamemory optimization
0 likes · 5 min read
How Java’s String.intern() Boosts Memory Efficiency and Performance
macrozheng
macrozheng
Jan 17, 2025 · Backend Development

Mastering Spring Event: Avoid Pitfalls and Ensure Reliable Publish‑Subscribe

This article shares hard‑won lessons from production incidents and provides practical guidelines—graceful shutdown, proper startup timing, suitable business scenarios, reliability patterns, and idempotent handling—to use Spring Event safely and effectively in Java backend systems.

EventJavaPublish-Subscribe
0 likes · 12 min read
Mastering Spring Event: Avoid Pitfalls and Ensure Reliable Publish‑Subscribe
JD Tech Talk
JD Tech Talk
Jan 17, 2025 · Backend Development

Investigation of JSF Thread‑Pool Exhaustion During R2M Redis Upgrade

During a Redis version upgrade of the internal R2M cache service, a Biz thread‑pool exhaustion error was traced to JSF threads blocked on a read lock held by a topology‑updater task, revealing a deadlock caused by shared ForkJoinPool usage and missing lock timeouts.

JSFJavaRedis
0 likes · 5 min read
Investigation of JSF Thread‑Pool Exhaustion During R2M Redis Upgrade
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 17, 2025 · Backend Development

Why Reentrant Locks Prevent Deadlocks and How to Use Them in Java

Reentrant locks are thread‑safe synchronization tools that let the same thread acquire the same lock multiple times without deadlocking, tracking acquisition counts, and offering advantages over traditional synchronized blocks, with Java’s ReentrantLock providing flexible features such as interruptible and timed locking, illustrated by a complete code example.

ConcurrencyJavaReentrantLock
0 likes · 6 min read
Why Reentrant Locks Prevent Deadlocks and How to Use Them in Java
Architect
Architect
Jan 16, 2025 · Backend Development

How to Shrink Spring Boot JARs by Extracting Dependencies and Config Files with Maven

This guide tackles the problem of oversized Spring Boot JARs by showing how to separate library JARs and configuration files from the main artifact, presenting three Maven‑based solutions—spring‑boot‑maven‑plugin, maven‑jar‑plugin, and maven‑assembly‑plugin—complete with configuration snippets, build commands, and deployment tips.

Dependency ManagementDevOpsJava
0 likes · 16 min read
How to Shrink Spring Boot JARs by Extracting Dependencies and Config Files with Maven
Top Architect
Top Architect
Jan 16, 2025 · Backend Development

Guide to Using the XXL‑JOB Distributed Task Scheduling Framework with Spring Boot

This article introduces the XXL‑JOB open‑source distributed scheduler, compares it with Quartz and other solutions, and provides a step‑by‑step tutorial for server deployment, executor configuration, task development, execution, logging, and the underlying Netty‑based communication design, complete with code examples.

JavaNettySpring Boot
0 likes · 15 min read
Guide to Using the XXL‑JOB Distributed Task Scheduling Framework with Spring Boot
Top Architect
Top Architect
Jan 16, 2025 · Backend Development

Optimizing XML‑to‑MySQL Data Import: Reducing Execution Time from 300 s to 4 s

This article describes how to dramatically speed up the import of 60,000+ XML records into MySQL by analyzing the original environment, measuring baseline performance, and applying a series of backend optimizations—including MySQL batch mode, rewriteBatchedStatements, multithreaded asynchronous writes with Disruptor, and XML parsing improvements—ultimately cutting the total runtime from five minutes to just a few seconds.

Batch ProcessingDisruptorJava
0 likes · 14 min read
Optimizing XML‑to‑MySQL Data Import: Reducing Execution Time from 300 s to 4 s
Selected Java Interview Questions
Selected Java Interview Questions
Jan 16, 2025 · Backend Development

Ten Reasons to Prefer Traditional for Loop Over Stream.forEach for List Traversal in Java

Through benchmark tests, memory analysis, and code examples, this article presents ten compelling reasons why using a traditional for loop to traverse Java Lists often outperforms Stream.forEach in terms of performance, memory usage, control flow, exception handling, mutability, debugging, readability, and state management.

BenchmarkDebuggingJava
0 likes · 16 min read
Ten Reasons to Prefer Traditional for Loop Over Stream.forEach for List Traversal in Java
Code Ape Tech Column
Code Ape Tech Column
Jan 16, 2025 · Backend Development

Using Maven Dependency Analysis to Detect Unused and Undeclared JARs

This article explains why Maven dependency analysis is essential for Java backend projects, demonstrates how to run the analysis with Maven and IntelliJ IDEA, interprets the warnings about used undeclared and unused declared dependencies, and provides best‑practice timing, risks, and shortcuts for maintaining clean dependency trees.

IntelliJ IDEAJavaMaven
0 likes · 8 min read
Using Maven Dependency Analysis to Detect Unused and Undeclared JARs
Su San Talks Tech
Su San Talks Tech
Jan 16, 2025 · Backend Development

Boost Java Performance with Virtual Threads: A Hands‑On Guide

This article explains Java 21's virtual threads, their lightweight and auto‑managed nature, demonstrates basic usage and Spring Boot integration, compares performance against traditional threads, and offers additional Java performance tips for high‑concurrency applications.

ConcurrencyJavaPerformance
0 likes · 8 min read
Boost Java Performance with Virtual Threads: A Hands‑On Guide
FunTester
FunTester
Jan 16, 2025 · Backend Development

Mastering Byteman: Injecting Bytecode for Advanced Java Testing

Byteman is a powerful Java bytecode manipulation tool that lets developers inject custom code at runtime without recompiling, using an event‑condition‑action rule language to trace, modify execution flow, coordinate threads, and collect statistics, with detailed examples of rule syntax, binding, and built‑in actions.

BytecodeInstrumentationJava
0 likes · 12 min read
Mastering Byteman: Injecting Bytecode for Advanced Java Testing
Java Architect Essentials
Java Architect Essentials
Jan 15, 2025 · Backend Development

Designing and Implementing an OA Approval Workflow with Activiti: From BPMN Modeling to Spring Boot Integration

This article explains how to build a multi‑level office approval workflow using the Activiti engine, covering BPMN diagram design, deployment, Java code for process creation, task handling, gateway logic, database schema, API overview, framework comparisons, and further learning directions.

ActivitiBPMNJava
0 likes · 23 min read
Designing and Implementing an OA Approval Workflow with Activiti: From BPMN Modeling to Spring Boot Integration
Sohu Tech Products
Sohu Tech Products
Jan 15, 2025 · Backend Development

Deep Dive into Druid Connection Pool: Initialization, Retrieval, and Recycling Explained

This technical guide breaks down Alibaba's Druid JDBC connection pool, detailing its initialization process, how connections are fetched and returned, the internal threads and condition‑signal coordination, execution handling, recommended configurations, and monitoring integration, all illustrated with code snippets and diagrams.

ConfigurationDatabaseDruid
0 likes · 23 min read
Deep Dive into Druid Connection Pool: Initialization, Retrieval, and Recycling Explained
Architect
Architect
Jan 15, 2025 · Backend Development

How Java 8 Functional Interfaces Can Eliminate Repetitive Validation Code

This article demonstrates how Java 8’s functional interfaces, especially Function and SFunction, can refactor repetitive data‑validation logic into a generic, reusable method, reducing boilerplate, improving readability, and enabling flexible validation scenarios such as checking column values, matching expected values, and verifying values against allowed lists.

Code RefactoringFunctional ProgrammingJava
0 likes · 14 min read
How Java 8 Functional Interfaces Can Eliminate Repetitive Validation Code
Java Web Project
Java Web Project
Jan 15, 2025 · Backend Development

Why MyBatis foreach Batch Inserts Stall and How to Speed Them Up with ExecutorType.BATCH

The article investigates a MyBatis batch‑insert job that consumes excessive CPU and takes 14 minutes, explains why the foreach‑generated giant INSERT statement is inefficient, and demonstrates how switching to ExecutorType.BATCH or MyBatis dynamic‑SQL batch support reduces the runtime to under two seconds.

Batch InsertExecutorType.BATCHJava
0 likes · 10 min read
Why MyBatis foreach Batch Inserts Stall and How to Speed Them Up with ExecutorType.BATCH
Architecture Digest
Architecture Digest
Jan 15, 2025 · Backend Development

Advanced Lombok Annotations for Simplifying Java Backend Code

This article demonstrates how Lombok’s advanced annotations such as @RequiredArgsConstructor(onConstructor=@__(@Autowired)), @Delegate, @Cleanup, and the combination of @Builder with @Singular can automatically generate Spring‑compatible constructors, delegate methods, manage resources, and build immutable objects, thereby reducing boilerplate and improving code readability in Java backend development.

JavaLombokSpring
0 likes · 7 min read
Advanced Lombok Annotations for Simplifying Java Backend Code
macrozheng
macrozheng
Jan 15, 2025 · Fundamentals

30 Must-Have IntelliJ IDEA Plugins to Supercharge Your Java Development

This guide presents a curated list of 30 essential IntelliJ IDEA plugins, covering code assistance, UI enhancements, project management, and productivity tools, with installation tips and screenshots, helping Java developers transform their IDE into a powerful one‑stop development environment.

JavaProductivityplugins
0 likes · 8 min read
30 Must-Have IntelliJ IDEA Plugins to Supercharge Your Java Development
macrozheng
macrozheng
Jan 15, 2025 · Backend Development

Boost PostgreSQL IN Query Performance with Spring AOP Parallel Splitting

This article explains how to improve PostgreSQL IN‑query performance in Spring Boot applications by splitting large IN parameter lists into smaller batches, executing them concurrently with a custom AOP annotation, and merging the results, providing a reusable annotation‑driven solution for high‑throughput backend services.

Javain-querymultithreading
0 likes · 10 min read
Boost PostgreSQL IN Query Performance with Spring AOP Parallel Splitting
Java Tech Enthusiast
Java Tech Enthusiast
Jan 14, 2025 · Backend Development

Introducing LiteFlow: A Lightweight Java Rule Engine for Workflow Orchestration

LiteFlow is a lightweight Java rule engine that lets developers orchestrate serial and parallel business workflows using XML, JSON or YAML rule files stored in back‑ends like SQL or Zookeeper, offering NodeComponent, NodeSwitchComponent and NodeIfComponent types, EL syntax, Spring Boot integration, and high‑performance execution monitoring.

ELJavaLiteFlow
0 likes · 8 min read
Introducing LiteFlow: A Lightweight Java Rule Engine for Workflow Orchestration
Selected Java Interview Questions
Selected Java Interview Questions
Jan 14, 2025 · Backend Development

Understanding the Chain of Responsibility Pattern and Its Combination with Strategy Pattern in Java

This article explains the Chain of Responsibility design pattern, its core concepts, characteristics, and problems it solves, then demonstrates how to combine it with the Strategy pattern through detailed Java code examples that illustrate a product‑up‑shelf validation workflow and a generic request‑handling scenario.

Chain of ResponsibilityDesign PatternJava
0 likes · 16 min read
Understanding the Chain of Responsibility Pattern and Its Combination with Strategy Pattern in Java
Java Web Project
Java Web Project
Jan 14, 2025 · Backend Development

Master Spring Boot CLI: Install, Run, Test, and Package Groovy Apps

This guide walks you through installing Spring Boot CLI, explains its Groovy‑based features, demonstrates creating and running a Hello World web app, shows how to use @Grab for dependencies, test with spring test, package into executable JARs, and explore init and shell commands.

CLICommand LineGroovy
0 likes · 13 min read
Master Spring Boot CLI: Install, Run, Test, and Package Groovy Apps
Architecture & Thinking
Architecture & Thinking
Jan 14, 2025 · Backend Development

Master RocketMQ Basic Messages: Lifecycle, Code Samples & Use Cases

This guide explains Apache RocketMQ’s ordinary message concept, its full lifecycle, how to create topics, Java code for sending and receiving messages, key configuration tips, and real‑world scenarios such as asynchronous decoupling and traffic‑shaping for micro‑service architectures.

JavaMessage QueueMicroservices
0 likes · 9 min read
Master RocketMQ Basic Messages: Lifecycle, Code Samples & Use Cases
Java Architect Essentials
Java Architect Essentials
Jan 14, 2025 · Databases

Implementing Online User Counting with Redis Sorted Sets (ZSET)

This article explains how to track online users by storing their identifiers in a Redis sorted set, using expiration timestamps as scores, and demonstrates adding, querying, and cleaning up entries with ZADD, ZRANGEBYSCORE, ZREMRANGEBYSCORE, and ZREM commands in both Java and JavaScript.

Backend DevelopmentJavaJavaScript
0 likes · 7 min read
Implementing Online User Counting with Redis Sorted Sets (ZSET)
Top Architecture Tech Stack
Top Architecture Tech Stack
Jan 14, 2025 · Databases

Analyzing MySQL Connection Latency in Java Web Applications

This article investigates the detailed steps and time consumption of establishing and closing a MySQL connection from a Java web application, using Wireshark packet captures and code examples to demonstrate why connection pooling is essential for high‑traffic services.

Connection PoolingDatabase ConnectionJava
0 likes · 7 min read
Analyzing MySQL Connection Latency in Java Web Applications
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 14, 2025 · Backend Development

Mastering Java ThreadLocal: Core Operations, Map Structure, and Practical Examples

This article explains Java's ThreadLocal mechanism, detailing its internal ThreadLocalMap structure, core set/get/remove operations with full code examples, and demonstrates how multiple ThreadLocal variables are stored per thread, providing a clear understanding of thread‑local storage in backend development.

Backend DevelopmentConcurrencyJava
0 likes · 6 min read
Mastering Java ThreadLocal: Core Operations, Map Structure, and Practical Examples
Architect
Architect
Jan 13, 2025 · Backend Development

Designing a Flexible Permission Control System with Java Annotations and Spring AOP

This article explains how to build a flexible, scalable permission control system in Java using custom annotations and Spring AOP, covering basic concepts, system requirements analysis, database schema design, annotation definitions, aspect implementation, and business logic services for comprehensive access management.

Backend DevelopmentJavaPermission control
0 likes · 19 min read
Designing a Flexible Permission Control System with Java Annotations and Spring AOP
IT Services Circle
IT Services Circle
Jan 13, 2025 · Backend Development

Compilation of Common Backend Interview Questions and Answers for Small Companies

This article presents a comprehensive collection of written‑test and interview questions covering Java basics, Spring MVC annotations, JVM memory, garbage collection, database design, transaction management, distributed systems, version control, and development workflow, aimed at helping candidates prepare for small‑company technical interviews.

DatabaseGitJVM
0 likes · 6 min read
Compilation of Common Backend Interview Questions and Answers for Small Companies
Top Architect
Top Architect
Jan 13, 2025 · Backend Development

Introducing LiteFlow: A Lightweight Rule Engine for Java Backend Applications

This article presents LiteFlow, a lightweight yet powerful rule engine built on Spring Boot, explains its architecture, component types, EL rule file syntax, data context handling, configuration options, and demonstrates a practical e‑commerce workflow example with full code snippets and deployment tips.

JavaSpring Boot
0 likes · 12 min read
Introducing LiteFlow: A Lightweight Rule Engine for Java Backend Applications
JD Cloud Developers
JD Cloud Developers
Jan 13, 2025 · Backend Development

How JD Logistics Optimizes Order Merging with Recursive Algorithms

This article explains the background, challenges, and recursive algorithmic solution JD Logistics uses to merge purchase orders, detailing the merging rules, code implementation, deduplication strategy, performance gains, and the resulting operational benefits such as increased merchant satisfaction and faster processing.

JavaLogistics OptimizationRecursive Algorithm
0 likes · 11 min read
How JD Logistics Optimizes Order Merging with Recursive Algorithms
macrozheng
macrozheng
Jan 13, 2025 · Backend Development

Implement Dynamic Discount Rules in Spring Boot with Drools

This guide shows how to integrate the Drools rule engine into a Spring Boot application to calculate e‑commerce discounts dynamically, covering Maven dependencies, configuration, model definitions, DRL rule creation, service and controller layers, and a simple test scenario demonstrating rule‑driven discount computation.

DroolsJavabackend
0 likes · 11 min read
Implement Dynamic Discount Rules in Spring Boot with Drools
Senior Tony
Senior Tony
Jan 13, 2025 · Backend Development

How Java’s AQS Powers ReentrantLock – A Deep Dive into the Source

This article explains the core concepts of Java’s AbstractQueuedSynchronizer (AQS), its exclusive and shared modes, the template‑method design it uses, and walks through the actual source code showing how ReentrantLock implements both fair and non‑fair locking, complete with diagrams and code snippets for interview preparation.

AQSConcurrencyJava
0 likes · 10 min read
How Java’s AQS Powers ReentrantLock – A Deep Dive into the Source
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jan 13, 2025 · Backend Development

Master Spring Boot 3 API Versioning: 5 Practical Strategies

This article introduces a Spring Boot 3 case collection and details five practical methods—URL path, request parameter, request header, Accept header, and custom annotation—to implement API version control, complete with code examples and guidance for maintaining compatibility across multiple API versions.

JavaRESTapi-versioning
0 likes · 8 min read
Master Spring Boot 3 API Versioning: 5 Practical Strategies
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 13, 2025 · Backend Development

How Does Java’s volatile Keyword Ensure Thread Visibility and Prevent Reordering?

This article explains how Java's volatile keyword provides visibility guarantees and prevents instruction reordering through memory barriers, illustrates its behavior with code examples, discusses its limitations regarding atomicity, and outlines appropriate usage scenarios such as state flags and double‑checked locking.

JavaVolatileinstruction reordering
0 likes · 9 min read
How Does Java’s volatile Keyword Ensure Thread Visibility and Prevent Reordering?
FunTester
FunTester
Jan 13, 2025 · Backend Development

Mastering Java’s Phaser: Advanced Thread Synchronization for Performance Testing

This article explains Java’s java.util.concurrent.Phaser class, compares it with CountDownLatch, details its core methods, demonstrates practical usage with code examples, and shows how to build a custom lightweight synchronization utility for performance testing scenarios.

ConcurrencyJavaPerformanceTesting
0 likes · 13 min read
Mastering Java’s Phaser: Advanced Thread Synchronization for Performance Testing
Architect
Architect
Jan 12, 2025 · Databases

How I Cut XML‑to‑MySQL Import Time from 300 s to 4 s

This article walks through a real‑world case of importing over 60,000 XML rows into MySQL, profiling the initial 300‑second runtime, and applying a series of optimizations—including JDBC batch processing, rewriteBatchedStatements, multithreaded asynchronous writes with Disruptor, and MySQL tuning—to achieve a final import time of around 4 seconds while managing memory usage.

Batch ProcessingDisruptorJava
0 likes · 13 min read
How I Cut XML‑to‑MySQL Import Time from 300 s to 4 s
Selected Java Interview Questions
Selected Java Interview Questions
Jan 12, 2025 · Information Security

Encrypting and Dynamically Decrypting Spring Boot JAR Files for Secure Deployment

This article demonstrates a practical approach to protect sensitive Spring Boot applications by encrypting the JAR with AES, storing the key in a secure vault, and using a custom ClassLoader to decrypt and load classes at runtime, while highlighting key management, performance, and additional hardening considerations.

AESClassLoaderJAR encryption
0 likes · 8 min read
Encrypting and Dynamically Decrypting Spring Boot JAR Files for Secure Deployment
Architecture Digest
Architecture Digest
Jan 12, 2025 · Backend Development

Introducing magic-api: A Java Rapid Development Framework for Backend Interfaces

This article introduces magic-api, a Java‑based rapid development framework that lets developers create HTTP APIs without writing traditional Controllers, Services, or DAOs, and provides a UI for designing endpoints, extensive database support, clustering, Swagger integration, and a quick‑start guide with Maven and configuration examples.

APIJavaSpring Boot
0 likes · 4 min read
Introducing magic-api: A Java Rapid Development Framework for Backend Interfaces
Top Architect
Top Architect
Jan 11, 2025 · Backend Development

Liteflow Rule Engine: Concepts, Usage, and Business Practice

This article introduces the Liteflow rule engine, explains its architecture and supported file formats, demonstrates how to configure and use it with Spring Boot, details component types and EL rule files, and showcases a practical e‑commerce workflow example with code snippets.

JavaRule EngineSpring Boot
0 likes · 11 min read
Liteflow Rule Engine: Concepts, Usage, and Business Practice
ITPUB
ITPUB
Jan 11, 2025 · Operations

Why Using kill ‑9 Is Risky and How to Shut Down Processes Gracefully

The article explains the true purpose of the Linux kill command, compares signals like SIGTERM and SIGKILL, warns about the dangers of force‑killing processes, and provides practical Java shutdown‑hook examples and a shell script for safe, graceful termination.

JavaKill CommandLinux
0 likes · 7 min read
Why Using kill ‑9 Is Risky and How to Shut Down Processes Gracefully
Architecture Digest
Architecture Digest
Jan 10, 2025 · Backend Development

Implementing a Distributed Redis Lock with Spring AOP and Automatic Renewal

This article explains how to protect time‑consuming business operations and critical data by designing a Redis‑based distributed lock using custom annotations, Spring AOP, and a ScheduledExecutorService that automatically extends the lock’s expiration to avoid premature release.

ConcurrencyJavaScheduledExecutorService
0 likes · 11 min read
Implementing a Distributed Redis Lock with Spring AOP and Automatic Renewal
php Courses
php Courses
Jan 10, 2025 · Backend Development

Top PHP Alternatives for Web Development

This article reviews the most popular programming languages that can serve as alternatives to PHP for web development, evaluating each option’s performance, ecosystem, and suitability for server‑side projects, and offers guidance on selecting the best replacement based on project requirements.

JavaNode.jsPHP
0 likes · 7 min read
Top PHP Alternatives for Web Development
Xuanwu Backend Tech Stack
Xuanwu Backend Tech Stack
Jan 10, 2025 · Backend Development

Mastering CountDownLatch and CyclicBarrier: Java Concurrency Made Simple

CountDownLatch and CyclicBarrier are two essential Java synchronization tools from java.util.concurrent, enabling threads to coordinate tasks; this guide explains their concepts, usage with code examples, advantages, disadvantages, and key differences, helping developers choose the right tool for thread coordination.

ConcurrencyCountDownLatchCyclicBarrier
0 likes · 10 min read
Mastering CountDownLatch and CyclicBarrier: Java Concurrency Made Simple
JD Tech Talk
JD Tech Talk
Jan 9, 2025 · Artificial Intelligence

Practical Guide to Building Retrieval‑Augmented Generation (RAG) Applications with LangChain4j in Java

This article provides a step‑by‑step tutorial for Java engineers on using the LangChain4j framework to implement Retrieval‑Augmented Generation (RAG) with large language models, covering concepts, environment setup, code integration, document splitting, embedding, vector‑store operations, and prompt engineering.

JavaLangChain4jRAG
0 likes · 35 min read
Practical Guide to Building Retrieval‑Augmented Generation (RAG) Applications with LangChain4j in Java
JD Cloud Developers
JD Cloud Developers
Jan 9, 2025 · Artificial Intelligence

Boost Your Java Apps with LangChain4j: A Hands‑On RAG Guide

This article walks Java developers through the fundamentals of Retrieval‑Augmented Generation (RAG), explains the LangChain4j framework, compares large‑model development with traditional Java coding, and provides step‑by‑step code examples for environment setup, document splitting, embedding, vector‑store operations, and LLM interaction.

JavaLangChain4jLarge language model
0 likes · 34 min read
Boost Your Java Apps with LangChain4j: A Hands‑On RAG Guide
FunTester
FunTester
Jan 9, 2025 · Backend Development

Understanding and Using CountDownLatch in Java Concurrency

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

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

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

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

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

Domain‑Driven and Process‑Driven Code Design Patterns

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

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

vivo Internet Technology 2024 Year-End Technical Review

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

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

Implementing Data Permission Interceptor in MyBatis‑Plus with Custom Annotations

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Replacing Thread.sleep Loops with Proper Scheduling in Java

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

CompletableFutureConcurrencyJava
0 likes · 9 min read
Replacing Thread.sleep Loops with Proper Scheduling in Java