Tagged articles
5000 articles
Page 35 of 50
21CTO
21CTO
Aug 22, 2024 · Artificial Intelligence

Best Programming Languages for AI: Python, R, Java, LISP & More

This article surveys the most suitable programming languages for artificial intelligence, detailing why Python, R, Java, LISP, Prolog, C++, Haskell, JavaScript, and Julia each excel in AI development, and provides practical FAQs for developers choosing the right language.

AIJavaPython
0 likes · 15 min read
Best Programming Languages for AI: Python, R, Java, LISP & More
macrozheng
macrozheng
Aug 22, 2024 · Backend Development

Edit JAR Files Directly in IDEA with the JarEditor Plugin

This article introduces JarEditor, an open‑source IDEA plugin that lets Java developers modify classes and resources inside JAR files without extracting them, explains its main features, shows how to install and use it, and concludes with a brief recommendation.

IDEA PluginJAR editingJarEditor
0 likes · 5 min read
Edit JAR Files Directly in IDEA with the JarEditor Plugin
Su San Talks Tech
Su San Talks Tech
Aug 22, 2024 · Backend Development

Why AviatorScript Is the Lightweight JVM Rule Engine You Need

This article introduces AviatorScript, a high‑performance, lightweight JVM‑based scripting language, covering its origins, key features, quick‑start setup, core syntax for numbers, strings, booleans, control flow, functions, and real‑world use cases such as client version control, marketing rules, and order risk management.

AviatorScriptBackend DevelopmentJVM
0 likes · 19 min read
Why AviatorScript Is the Lightweight JVM Rule Engine You Need
Sohu Tech Products
Sohu Tech Products
Aug 21, 2024 · Operations

Building Dynamic Grafana Dashboards for Push System Monitoring

By instrumenting each node of ZuanZuan’s push system with a Prometheus counter labeled by node name and traceId, and visualizing these metrics in a Grafana Flowcharting dashboard that dynamically highlights the trace path, developers can instantly pinpoint failures, cutting troubleshooting time from minutes to near‑zero.

Dynamic DashboardGrafanaJava
0 likes · 11 min read
Building Dynamic Grafana Dashboards for Push System Monitoring
Top Architect
Top Architect
Aug 21, 2024 · Backend Development

Handling Redis Cache Penetration, Avalanche, and Breakdown in High‑Concurrency Scenarios

This article explains the four common Redis cache pitfalls—cache penetration, avalanche, breakdown, and data inconsistency—demonstrates how they can crash high‑traffic systems, and provides practical Java/Spring Boot solutions such as empty‑object caching, Bloom filters, distributed locks, and delayed double‑delete strategies.

Data ConsistencyJavaRedis
0 likes · 27 min read
Handling Redis Cache Penetration, Avalanche, and Breakdown in High‑Concurrency Scenarios
Top Architect
Top Architect
Aug 21, 2024 · Backend Development

Designing a Unified API Response Structure with Custom Annotations and Interceptors

This article explains how to design a clean, unified API response format for backend services by defining a standard JSON wrapper, categorizing status codes, adding descriptive messages, and using custom @ResponseResult annotations together with interceptors and controller advice to automatically wrap and handle responses in a Spring‑based application.

APIJavaResponse wrapper
0 likes · 9 min read
Designing a Unified API Response Structure with Custom Annotations and Interceptors
Java Tech Enthusiast
Java Tech Enthusiast
Aug 21, 2024 · Backend Development

Common Configuration and Code Issues in a New Java Backend Project

On his first day the new Java backend developer discovered duplicated internal and external configuration files causing NullPointerExceptions, hard‑coded role strings, mixed System.out and logger calls, missing manager review leading to DB mismatches, arbitrary production database edits, and Maven pom‑type dependency errors, prompting a shift to unified application.yml settings, JVM‑specified config locations, consistent logging, and stricter coding standards.

Backend DevelopmentJavaMaven
0 likes · 5 min read
Common Configuration and Code Issues in a New Java Backend Project
Bin's Tech Cabin
Bin's Tech Cabin
Aug 20, 2024 · Backend Development

How Netty’s ByteBuf Reference Counting Evolved: From Simple Counters to Parity‑Based Concurrency Safety

This article examines Netty 4.1.x’s ByteBuf reference‑counting mechanism, explains why reference counting was introduced, traces its original design, shows instruction‑level optimizations, reveals concurrency bugs in version 4.1.17, and details the clever even‑odd redesign that guarantees thread‑safe memory release while preserving high performance.

ByteBufConcurrencyJava
0 likes · 34 min read
How Netty’s ByteBuf Reference Counting Evolved: From Simple Counters to Parity‑Based Concurrency Safety
Top Architect
Top Architect
Aug 19, 2024 · Backend Development

Using Java 8 Stream API for Collection Processing

This article introduces Java 8's Stream API, explains its functional style for handling collections, demonstrates common operations such as filter, map, sorted, forEach, collect, statistics, and parallelStream with concrete POJO examples, and provides a complete runnable code sample.

CollectionsFunctional ProgrammingJava
0 likes · 10 min read
Using Java 8 Stream API for Collection Processing
Top Architect
Top Architect
Aug 19, 2024 · Backend Development

Using Spring TransactionSynchronizationManager for Transaction Hooks and Asynchronous Kafka Messaging

This article explains how to leverage Spring's TransactionSynchronizationManager to detect active transactions, register synchronization callbacks, and asynchronously send Kafka messages after transaction commit, providing a starter library design for Java backend services that need reliable transaction‑aware messaging.

AsynchronousJavaTransactionSynchronizationManager
0 likes · 12 min read
Using Spring TransactionSynchronizationManager for Transaction Hooks and Asynchronous Kafka Messaging
Architecture Digest
Architecture Digest
Aug 19, 2024 · Backend Development

Java 8 Functional Interfaces: Simplifying Conditional Logic with Function, Supplier, Consumer, and Runnable

This article explains how Java 8 functional interfaces such as Function, Supplier, Consumer, and Runnable can replace repetitive if‑else statements, providing code examples for exception handling, branch processing, and present‑or‑else logic to improve readability and maintainability in backend development.

Backend DevelopmentException HandlingFunctional Programming
0 likes · 6 min read
Java 8 Functional Interfaces: Simplifying Conditional Logic with Function, Supplier, Consumer, and Runnable
Architect's Guide
Architect's Guide
Aug 19, 2024 · Fundamentals

Applying the Strategy Pattern with Simple Factory in a Java Backend Service

This article explains how to use the Strategy pattern combined with a simple factory in a Spring‑based Java backend, showing interface definition, multiple arithmetic strategy implementations, a factory that registers them in a map, a service that selects a strategy at runtime, and a REST controller for testing.

BackendFactoryJava
0 likes · 6 min read
Applying the Strategy Pattern with Simple Factory in a Java Backend Service
Su San Talks Tech
Su San Talks Tech
Aug 19, 2024 · Information Security

Mastering RBAC with Spring Security and JWT: A Complete Guide

This tutorial walks through RBAC fundamentals, model classifications (RBAC0‑3), permission and user‑group concepts, then demonstrates practical Spring Security setups including in‑memory authentication, JWT integration, JSON‑based login, password encryption with BCrypt, and database‑backed authentication, providing complete code examples.

AuthenticationAuthorizationJWT
0 likes · 19 min read
Mastering RBAC with Spring Security and JWT: A Complete Guide
Architect's Journey
Architect's Journey
Aug 19, 2024 · Backend Development

Flexible Multi-MQ Component Update: Switch Between RocketMQ, Redis, Kafka, and RabbitMQ

The article explains why adopting a message‑queue improves microservice decoupling and responsibility boundaries, then details the design of a pluggable Base‑MQ component—including @MQEventListener, MQEvent base class, configuration, and MQClient interface—followed by concrete implementations for RocketMQ, Kafka, Redis and RabbitMQ, an example event flow, and guidance for extending the framework.

JavaKafkaMessage queue
0 likes · 27 min read
Flexible Multi-MQ Component Update: Switch Between RocketMQ, Redis, Kafka, and RabbitMQ
Java Architect Essentials
Java Architect Essentials
Aug 18, 2024 · Backend Development

Why Fastjson’s Date Formatting Breaks on Linux and How to Resolve It

The author recounts switching from Gson to Fastjson, encountering a date‑formatting bug that only appears on Linux due to an outdated Fastjson version, explores a circular‑reference $ref issue, and shares debugging steps, GitHub issue references, and practical fixes for reliable JSON serialization.

BackendDebuggingFastJSON
0 likes · 12 min read
Why Fastjson’s Date Formatting Breaks on Linux and How to Resolve It
Architecture Digest
Architecture Digest
Aug 18, 2024 · Backend Development

Zero‑Downtime SpringBoot Port Sharing: Design and Implementation

This article explains how to achieve seamless code updates for SpringBoot applications by allowing two processes to share the same port, detailing the underlying servlet container mechanics, the role of DispatcherServlet, and providing a complete Java implementation with step‑by‑step instructions and code samples.

BackendJavaPortSharing
0 likes · 8 min read
Zero‑Downtime SpringBoot Port Sharing: Design and Implementation
Su San Talks Tech
Su San Talks Tech
Aug 18, 2024 · Big Data

How to Crush the One Billion Row Java Challenge: From 14 Minutes to Sub‑2‑Second Runtime

This article walks through the One Billion Row Challenge, explaining the problem, baseline solution, and a series of performance optimizations—from JVM selection and parallel I/O to custom hash tables, unsafe memory access, and SIMD techniques—that shrink execution time from minutes to under two seconds.

Big DataJavaOne Billion Row Challenge
0 likes · 20 min read
How to Crush the One Billion Row Java Challenge: From 14 Minutes to Sub‑2‑Second Runtime
Architect's Guide
Architect's Guide
Aug 18, 2024 · Backend Development

Why HikariCP Is So Fast: An In‑Depth Look at Its Design and Implementation

This article explains the core concepts of connection‑pool technology, details the architectural choices behind HikariCP such as dual HikariPool instances, FastList, custom ConcurrentBag, ThreadLocal caching, and byte‑code generation, and walks through the key source code that makes the pool exceptionally fast.

Backend DevelopmentConnection PoolHikariCP
0 likes · 15 min read
Why HikariCP Is So Fast: An In‑Depth Look at Its Design and Implementation
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 16, 2024 · Backend Development

Understanding IOC vs Dependency Injection in Spring: Key Differences Explained

This article clarifies how Inversion of Control (IoC) serves as a design pattern that hands control to an external container, while Dependency Injection (DI) is a concrete IoC implementation that automatically supplies required objects, detailing their definitions, purposes, implementations, and typical usage scenarios.

Backend DevelopmentInversion of ControlJava
0 likes · 4 min read
Understanding IOC vs Dependency Injection in Spring: Key Differences Explained
Code Ape Tech Column
Code Ape Tech Column
Aug 16, 2024 · Backend Development

Using Java 8 Functional Interfaces to Replace if…else Statements

This article demonstrates how Java 8’s functional interfaces—such as Supplier, Consumer, Runnable, and Function—can replace repetitive if‑else statements for exception handling and branch logic, providing clear code examples, custom interfaces, and utility methods to simplify backend development.

BackendException HandlingFunctional Interface
0 likes · 9 min read
Using Java 8 Functional Interfaces to Replace if…else Statements
21CTO
21CTO
Aug 15, 2024 · Backend Development

What’s New in JDK 23? A Deep Dive into Upcoming Java Features

JDK 23, the next non‑LTS release of the Java platform slated for September 17, introduces a suite of preview features—including scoped values, structured concurrency, flexible constructor bodies, implicit class and instance methods, module import declarations, Markdown Javadoc, vector API enhancements, and a default generational ZGC mode—while deprecating sun.misc.Unsafe memory‑access methods.

JDK 23JavaScoped Values
0 likes · 11 min read
What’s New in JDK 23? A Deep Dive into Upcoming Java Features
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 15, 2024 · Backend Development

Understanding Java ConcurrentHashMap: Principles, Implementation, and Usage

This article provides a comprehensive overview of Java's ConcurrentHashMap, explaining its purpose, underlying lock‑segmentation and CAS mechanisms in JDK 7 and JDK 8, demonstrating usage with sample code, and outlining scenarios where it delivers high‑performance thread‑safe map operations.

Backend DevelopmentConcurrentHashMapData Structures
0 likes · 6 min read
Understanding Java ConcurrentHashMap: Principles, Implementation, and Usage
Code Ape Tech Column
Code Ape Tech Column
Aug 15, 2024 · Backend Development

Comprehensive Guide to TreeUtil: Building, Traversing, Flattening, and Sorting Tree Structures in Java

This article presents a detailed walkthrough of the TreeUtil class, demonstrating how to construct hierarchical tree structures from flat lists, define tree nodes in Java, perform generic and functional implementations of makeTree, traverse trees using pre‑order, level‑order and post‑order methods, flatten trees back to lists, and sort tree nodes recursively, all illustrated with complete code examples.

DataStructureFlattenJava
0 likes · 16 min read
Comprehensive Guide to TreeUtil: Building, Traversing, Flattening, and Sorting Tree Structures in Java
vivo Internet Technology
vivo Internet Technology
Aug 14, 2024 · Backend Development

Understanding Disruptor: High‑Performance In‑Memory Queue, Core Concepts, Demo, and Source Code Analysis

The article explains the Disruptor—an intra‑process, lock‑free, array‑based queue that achieves millions of operations per second—by covering its core concepts, demo code, source‑code mechanics, performance optimizations such as pre‑allocation and false‑sharing avoidance, and real‑world Vivo iTheme applications with best‑practice tips.

DisruptorJavaProducer Consumer
0 likes · 29 min read
Understanding Disruptor: High‑Performance In‑Memory Queue, Core Concepts, Demo, and Source Code Analysis
Java Tech Enthusiast
Java Tech Enthusiast
Aug 14, 2024 · Backend Development

Customizing JSON Serialization and Deserialization in Spring Boot

In Spring Boot you can customize JSON request and response handling by annotating fields with @JsonSerialize/@JsonDeserialize, registering a global ObjectMapper module, adding a PropertyEditor via @ControllerAdvice, creating a custom HttpMessageConverter, or using AOP interception, selecting the approach that matches your project’s complexity.

AOPDeserializationJSON
0 likes · 7 min read
Customizing JSON Serialization and Deserialization in Spring Boot
Selected Java Interview Questions
Selected Java Interview Questions
Aug 14, 2024 · Backend Development

Introducing LiteFlow: A Lightweight Java Rule Engine for Complex Workflow Orchestration

This article explains how the LiteFlow rule engine enables Java developers to define, configure, and execute complex serial and parallel business workflows using XML/JSON/YAML rule files, various node components, data contexts, and runtime parameters, with hot‑deployment and integration examples for Spring Boot projects.

Backend DevelopmentJavaLiteFlow
0 likes · 9 min read
Introducing LiteFlow: A Lightweight Java Rule Engine for Complex Workflow Orchestration
macrozheng
macrozheng
Aug 14, 2024 · Backend Development

When to Put try‑catch Inside or Outside a for Loop? Practical Insights

This article explains the different effects of placing a try‑catch block inside versus outside a for loop in Java, covering usage scenarios, performance impact, memory consumption, and practical recommendations for choosing the appropriate approach during development.

Backend DevelopmentException HandlingJava
0 likes · 6 min read
When to Put try‑catch Inside or Outside a for Loop? Practical Insights
Architect's Guide
Architect's Guide
Aug 14, 2024 · Backend Development

Key Considerations and Best Practices for Using Spring Event in Production

This article explains critical pitfalls, proper shutdown handling, event loss during startup, suitable business scenarios, reliability guarantees, and best‑practice patterns for employing Spring Event in high‑traffic backend systems, providing concrete code examples and operational recommendations.

BackendBest PracticesEvent
0 likes · 11 min read
Key Considerations and Best Practices for Using Spring Event in Production
FunTester
FunTester
Aug 14, 2024 · Backend Development

Mastering Java Agents: Build, Package, and Deploy Runtime Instrumentation

This guide explains what Java Agents are, their core capabilities such as bytecode enhancement, performance monitoring, security checks, and debugging, and provides step‑by‑step instructions for implementing the premain method, creating a ClassFileTransformer, packaging the agent with Maven, and loading it both statically and dynamically.

InstrumentationJavaJava Agent
0 likes · 10 min read
Mastering Java Agents: Build, Package, and Deploy Runtime Instrumentation
Senior Tony
Senior Tony
Aug 13, 2024 · Fundamentals

How to Refactor Course Display Logic with the Decorator Pattern in Java

This article demonstrates how to identify long‑method and duplicated code smells in a Java curriculum‑display service and refactor the implementation using the Decorator pattern, providing clear component diagrams, full code examples, and a runnable demo that showcases flexible extensions for different course types.

Bad SmellDecorator PatternDesign Patterns
0 likes · 11 min read
How to Refactor Course Display Logic with the Decorator Pattern in Java
Java Architect Essentials
Java Architect Essentials
Aug 12, 2024 · Backend Development

Implementing Gray (Canary) Release with Spring Cloud Gateway, Nacos and Ribbon

This article explains the concept of gray (canary) release, details the required Spring Boot, Spring Cloud and Nacos versions, describes core components such as Nacos, Spring Cloud Gateway, Ribbon and OpenFeign, and provides a complete code‑first implementation with filters, interceptors, custom load‑balancer rules and deployment instructions for demonstrating gray release scenarios.

Gray ReleaseJavaNacos
0 likes · 17 min read
Implementing Gray (Canary) Release with Spring Cloud Gateway, Nacos and Ribbon
Architect
Architect
Aug 12, 2024 · Backend Development

How to Run Two SpringBoot Instances on the Same Port Seamlessly

When updating a SpringBoot application the old process must be stopped because the new one cannot bind to the same port, but by leveraging Tomcat's embedded container, ServletWebServerFactory, and dynamic port handling you can keep both processes alive and achieve zero‑downtime deployments.

Backend DevelopmentJavaPort Sharing
0 likes · 9 min read
How to Run Two SpringBoot Instances on the Same Port Seamlessly
Top Architect
Top Architect
Aug 12, 2024 · Backend Development

Why Field Injection Is Discouraged in Spring and Preferred Alternatives

The article explains that Spring no longer recommends @Autowired field injection, describes constructor‑based, setter‑based, and field‑based dependency injection types, illustrates each with code examples, and outlines the drawbacks of field injection such as immutability issues, SRP violations, and tight coupling to the container.

Backend DevelopmentConstructor InjectionField Injection
0 likes · 11 min read
Why Field Injection Is Discouraged in Spring and Preferred Alternatives
Architect's Guide
Architect's Guide
Aug 12, 2024 · Information Security

Implementing Single Sign-On (SSO) with CAS and Session Management in Distributed Backend Systems

This article explains the challenges of multiple product logins, reviews traditional session mechanisms, discusses session sharing solutions in clustered environments, and presents a CAS‑based single sign‑on implementation with Java code examples, highlighting differences between CAS and OAuth2 for secure authentication.

BackendCASJava
0 likes · 13 min read
Implementing Single Sign-On (SSO) with CAS and Session Management in Distributed Backend Systems
Eric Tech Circle
Eric Tech Circle
Aug 11, 2024 · Backend Development

Reshaping a Microservice with DDD: A Practical Layered Architecture Guide

This article shares the author's experience of redesigning a microservice using Domain‑Driven Design, detailing a standardized layered architecture, directory structure, model conversions, common pitfalls, and practical recommendations to improve code clarity and testing efficiency.

Backend DevelopmentDDDDomain-Driven Design
0 likes · 13 min read
Reshaping a Microservice with DDD: A Practical Layered Architecture Guide
Top Architect
Top Architect
Aug 11, 2024 · Information Security

Deep Dive into Spring Security Architecture and Implementation Principles

This article provides an in‑depth analysis of Spring Security 6.x architecture, explaining its filter‑chain design, authentication and authorization mechanisms, key components such as DelegatingFilterProxy, FilterChainProxy, SecurityFilterChain, and offers code examples and practical guidance for developers.

AuthenticationAuthorizationInformation Security
0 likes · 31 min read
Deep Dive into Spring Security Architecture and Implementation Principles
Top Architect
Top Architect
Aug 11, 2024 · Backend Development

Efficient Insertion of 300,000 Records Using MyBatis and JDBC

This article demonstrates how to efficiently insert 300,000 rows into a MySQL table by using MyBatis batch operations, JDBC batch processing, and various performance optimizations such as batch size tuning, transaction management, and connection pooling.

Batch InsertJDBCJava
0 likes · 17 min read
Efficient Insertion of 300,000 Records Using MyBatis and JDBC
Java Tech Enthusiast
Java Tech Enthusiast
Aug 11, 2024 · Information Security

Java Data Desensitization with Hutool and Custom Jackson Serializer

The article demonstrates how to mask sensitive Java backend data by using Hutool's DesensitizedUtil for common types and a custom @Desensitization annotation with a DesensitizationTypeEnum‑driven Jackson serializer (or Fastjson ValueFilter) to apply flexible masking rules during JSON serialization.

HutoolJacksonJava
0 likes · 7 min read
Java Data Desensitization with Hutool and Custom Jackson Serializer
Java Architect Essentials
Java Architect Essentials
Aug 11, 2024 · Backend Development

Why @Transactional Can Invalidate Locks in Spring and How to Fix It

This article explains how using Spring's @Transactional annotation together with explicit locks can cause unexpected concurrency issues, demonstrates the problem with sample code, analyzes why the lock becomes ineffective, and presents solutions such as separating transactional methods, using programmatic transactions, or locking the entire transaction.

ConcurrencyJavaLock
0 likes · 6 min read
Why @Transactional Can Invalidate Locks in Spring and How to Fix It
JavaEdge
JavaEdge
Aug 10, 2024 · Backend Development

Why an Event Center Beats Traditional MQ in Modern Backend Architecture

This article explains how an event‑center abstracts domain events, offers a clear architecture and powerful features, compares it with raw message‑queue solutions, and provides Java code examples to help backend engineers adopt a more maintainable, decoupled design.

Backend ArchitectureDDDJava
0 likes · 11 min read
Why an Event Center Beats Traditional MQ in Modern Backend Architecture
Programmer DD
Programmer DD
Aug 10, 2024 · Artificial Intelligence

How Spring AI Now Supports OpenAI Structured JSON Output – A Quick Guide

Spring AI has added full support for OpenAI's structured output feature, enabling developers to define JSON schemas for AI responses, with example code showing how to configure prompts, response formats, and BeanOutputConverter for seamless JSON-to-Java bean conversion, plus Spring Boot starter configuration.

JavaOpenAISpring AI
0 likes · 5 min read
How Spring AI Now Supports OpenAI Structured JSON Output – A Quick Guide
DeWu Technology
DeWu Technology
Aug 9, 2024 · Backend Development

Design and Implementation of a Lightweight Gray Release Platform

The article presents a lightweight gray‑release platform for e‑commerce, detailing its four‑module architecture, unified data‑type and predicate rule model, matcher implementations, stable bucket‑based traffic allocation, developer SDK and configuration APIs, as well as whitelist handling and non‑functional considerations for rapid, fine‑grained deployments.

Backend DevelopmentConfiguration ManagementGray Release
0 likes · 19 min read
Design and Implementation of a Lightweight Gray Release Platform
DaTaobao Tech
DaTaobao Tech
Aug 9, 2024 · Cloud Native

Deep Dive into RocketMQ: Storage Architecture and Consumer Processing Flow

RocketMQ stores messages in a sequential CommitLog while using a ConsumerQueue index for fast random access, and employs two looping threads—RebalanceService for load‑balancing queue assignments and PullMessageService for continuously pulling messages and dispatching them to user callbacks via a thread‑pooled consumer pipeline.

ConsumerDistributed SystemsJava
0 likes · 12 min read
Deep Dive into RocketMQ: Storage Architecture and Consumer Processing Flow
Java Tech Enthusiast
Java Tech Enthusiast
Aug 9, 2024 · Backend Development

RabbitMQ Overview, Installation Guide, and Delayed Message Implementation

RabbitMQ is a lightweight, open‑source AMQP broker offering reliable, flexible routing, clustering, and multi‑protocol support; it can be installed via Homebrew, Windows installers, or source on CentOS, and, using the rabbitmq_delayed_message_exchange plugin, Spring Boot applications can configure custom exchanges, queues, and send delayed messages with an x‑delay header.

Delayed MessagingInstallationJava
0 likes · 9 min read
RabbitMQ Overview, Installation Guide, and Delayed Message Implementation
Programmer DD
Programmer DD
Aug 9, 2024 · Backend Development

Discover the Most Powerful IntelliJ IDEA 2024.2 Features for Java & Kotlin Developers

IntelliJ IDEA 2024.2 introduces a suite of developer‑focused enhancements—including instant Spring Data JPA queries, cron expression auto‑completion, GraalJS‑powered HTTP client, advanced log management, real‑time performance charts, and rich data‑format visualizers—designed to boost productivity for Java and Kotlin programmers.

GraalJSIntelliJ IDEAJava
0 likes · 6 min read
Discover the Most Powerful IntelliJ IDEA 2024.2 Features for Java & Kotlin Developers
Java Architecture Stack
Java Architecture Stack
Aug 9, 2024 · Fundamentals

Unlocking Guava: How 7 Design Patterns Power Its Core

This article dissects the Guava library to reveal how seven classic design patterns—Builder, Proxy, Immutable, Singleton, Decorator, Adapter, and Observer—are implemented in its core classes, providing clear code examples, step‑by‑step construction processes, and practical insights for Java developers.

Builder PatternDesign PatternsGuava
0 likes · 27 min read
Unlocking Guava: How 7 Design Patterns Power Its Core
Deepin Linux
Deepin Linux
Aug 8, 2024 · Databases

Understanding Database Connection Pools: Principles, Mechanisms, and Popular Implementations

This article explains the concept of database connection pools, why they are needed, their core principles and runtime mechanisms, compares traditional direct connections with pooled connections, and reviews major Java pool implementations such as DBCP, C3P0, Druid and HikariCP along with configuration tips and best‑practice considerations.

C3P0Connection PoolDBCP
0 likes · 27 min read
Understanding Database Connection Pools: Principles, Mechanisms, and Popular Implementations
JD Tech
JD Tech
Aug 8, 2024 · Backend Development

Resolving JaCoCo-Induced ClassCastException Caused by Synthetic $jacocoData Field in Java Applications

This article details a Java ClassCastException caused by JaCoCo’s injected $jacocoData boolean array, explains how synthetic fields arise during bytecode instrumentation, analyzes the failing encryptObject method, and presents a fix by filtering synthetic fields using isSynthetic() to restore normal order processing.

ClassCastExceptionDebuggingJaCoCo
0 likes · 11 min read
Resolving JaCoCo-Induced ClassCastException Caused by Synthetic $jacocoData Field in Java Applications
Java Tech Enthusiast
Java Tech Enthusiast
Aug 8, 2024 · Information Security

Token Authentication Strategies for Java Microservices

The article compares token‑based authentication options for Java microservices—stateless JWTs, OAuth 2.0 with access and refresh tokens, a centralized API‑gateway authority, and internal service‑to‑service schemes—guiding readers on selecting the best approach according to security, scalability, and business needs.

JWTJavaOAuth2
0 likes · 7 min read
Token Authentication Strategies for Java Microservices
macrozheng
macrozheng
Aug 8, 2024 · Backend Development

Master Modern Microservices with the Mall‑Swarm 2024 Video Course

This article introduces the Mall‑Swarm open‑source microservice e‑commerce system, outlines its 2024 video tutorial covering Spring Cloud, Kubernetes deployment, and the full tech stack, and explains how learners can access demos, study materials, and join the learning community.

Backend DevelopmentJavakubernetes
0 likes · 9 min read
Master Modern Microservices with the Mall‑Swarm 2024 Video Course
Java Architect Essentials
Java Architect Essentials
Aug 8, 2024 · Fundamentals

New Features of JDK 17: Text Blocks, Enhanced NPE, Records, Switch Expressions and More

This article introduces the most useful JDK 17 language enhancements—including text blocks, improved NullPointerException messages, records, switch expressions, private interface methods, pattern matching, collection factory methods, new String APIs, Stream API extensions, the modern HttpClient, JShell, direct java file execution, and the Z Garbage Collector—providing code examples and practical guidance for Java developers.

JavaNew Featuresjdk17
0 likes · 15 min read
New Features of JDK 17: Text Blocks, Enhanced NPE, Records, Switch Expressions and More
macrozheng
macrozheng
Aug 7, 2024 · Fundamentals

Why ‘+’ Can Beat StringBuilder in Java: Benchmarks and Best Practices

This article investigates the performance differences between Java’s ‘+’ operator and StringBuilder for both simple and looped string concatenations, presenting JUnit benchmark results that show ‘+’ is comparable for single concatenations but significantly slower in loops, and recommends using the appropriate method based on context.

BenchmarkJavaString concatenation
0 likes · 6 min read
Why ‘+’ Can Beat StringBuilder in Java: Benchmarks and Best Practices
IT Services Circle
IT Services Circle
Aug 6, 2024 · Backend Development

Oracle Java Market Share Decline and Migration Trends: 2023 Survey Insights

A 2023 survey of 663 Java professionals reveals a sharp decline in Oracle Java's market share, with 86% planning or already migrating to OpenJDK alternatives due to cost, licensing uncertainty, audit risk, and a preference for open‑source solutions, while highlighting migration timelines, satisfaction, and emerging pricing models.

JDK market shareJavaMigration
0 likes · 7 min read
Oracle Java Market Share Decline and Migration Trends: 2023 Survey Insights
Programmer DD
Programmer DD
Aug 6, 2024 · Backend Development

Step‑by‑Step JSON Validation in Spring Boot Using JSON Schema

This guide explains how to integrate JSON Schema validation into a Spring Boot application, covering dependency setup, schema definition, bean configuration, service implementation, controller handling, and testing with curl examples to ensure JSON payloads conform to the defined rules.

BackendJavaSpring Boot
0 likes · 7 min read
Step‑by‑Step JSON Validation in Spring Boot Using JSON Schema
Su San Talks Tech
Su San Talks Tech
Aug 6, 2024 · Cloud Native

OpenFeign Deep Dive: Architecture, Dynamic Proxy, and Spring Cloud Integration

This article thoroughly explains OpenFeign’s core architecture, detailing its original Feign foundation, seven essential components, dynamic proxy generation, HTTP call execution flow, and how Spring Cloud seamlessly integrates and configures OpenFeign through annotations, factories, and property-based settings.

Dynamic ProxyJavaOpenFeign
0 likes · 20 min read
OpenFeign Deep Dive: Architecture, Dynamic Proxy, and Spring Cloud Integration
Lobster Programming
Lobster Programming
Aug 6, 2024 · Backend Development

How to Log MyBatis SQL and Execution Time with Config, Plugins, and p6spy

This guide explains three common ways to output MyBatis SQL statements and their execution times—using simple configuration logging, a custom MyBatis interceptor plugin, and the third‑party p6spy library—along with code examples and practical considerations for development and production environments.

JavaMyBatisSQL Logging
0 likes · 8 min read
How to Log MyBatis SQL and Execution Time with Config, Plugins, and p6spy
Java Architect Essentials
Java Architect Essentials
Aug 5, 2024 · Backend Development

Fast Testing of MyBatis SQL Without Starting Spring

This article explains how to quickly test MyBatis SQL statements by bypassing the Spring container, using a minimal MyBatis configuration, adding support for PageHelper pagination and MyBatis‑Plus plugins, and provides code examples and a plugin recommendation for efficient backend development.

BackendJavaMyBatis
0 likes · 4 min read
Fast Testing of MyBatis SQL Without Starting Spring
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 5, 2024 · Backend Development

Comprehensive Guide to Sentinel: Flow Control, Rate Limiting, Circuit Breaking, and Monitoring for Microservices

This article provides an in‑depth overview of Sentinel, the Alibaba‑developed traffic‑control component for microservices, covering its core concepts, flow‑control algorithms, circuit‑breaking rules, real‑time monitoring features, and practical usage examples with Maven and code snippets.

Circuit BreakingFlow ControlJava
0 likes · 8 min read
Comprehensive Guide to Sentinel: Flow Control, Rate Limiting, Circuit Breaking, and Monitoring for Microservices
Java Tech Enthusiast
Java Tech Enthusiast
Aug 5, 2024 · Backend Development

Implementing SPI-like Extensions in Spring Boot

Spring Boot can emulate SPI plug‑in extensions by using native Java ServiceLoader, conditional bean registration with @ConditionalOnClass/@ConditionalOnProperty, custom FactoryBean implementations, or programmatic BeanDefinitionRegistryPostProcessor registration, each enabling dynamic service loading based on configuration or runtime conditions.

JavaSPISpring Boot
0 likes · 7 min read
Implementing SPI-like Extensions in Spring Boot
Code Ape Tech Column
Code Ape Tech Column
Aug 5, 2024 · Backend Development

Design and Implementation of a Generic Asynchronous Processing SDK for Java Backend

This article describes a Java‑based asynchronous processing SDK that leverages Spring AOP, transactional event listeners, Kafka, XXL‑Job, and MySQL to provide non‑intrusive, reliable, and eventually consistent background execution of business methods while preserving transaction integrity and offering configurable retry and compensation strategies.

AOPAsyncJava
0 likes · 8 min read
Design and Implementation of a Generic Asynchronous Processing SDK for Java Backend
DevOps
DevOps
Aug 4, 2024 · Fundamentals

Understanding Test‑Driven Development (TDD), UTDD, ATDD, and BDD with a Practical Java Example

This article explains the concepts of Test‑Driven Development (TDD), Unit Test‑Driven Development (UTDD), Acceptance Test‑Driven Development (ATDD) and Behavior‑Driven Development (BDD), discusses why TDD is not dead, compares the three approaches, and provides a step‑by‑step Java implementation with code samples, testing workflow, and refactoring guidance.

ATDDBDDJava
0 likes · 14 min read
Understanding Test‑Driven Development (TDD), UTDD, ATDD, and BDD with a Practical Java Example
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 4, 2024 · Backend Development

Understanding Java Memory Leaks and How to Prevent Them

This article explains what memory leaks are in Java, outlines common causes such as unreleased resources, static collections, misuse of ThreadLocal, improper variable scope, inner‑class references and off‑heap memory, and provides practical solutions and best‑practice recommendations to avoid them.

Best PracticesJVMJava
0 likes · 9 min read
Understanding Java Memory Leaks and How to Prevent Them
Java Tech Enthusiast
Java Tech Enthusiast
Aug 4, 2024 · Information Security

Java Code Obfuscation and Encryption with ProGuard, Xjar, and ClassFinal

The guide explains how to protect a Java core module deployed on user servers by integrating ProGuard for bytecode obfuscation, Xjar for JAR encryption, and ClassFinal for class‑file encryption, providing Maven plugin configurations, startup commands, and verification that the combined approach renders decompiled code empty or unreadable.

ClassFinalJavaMaven
0 likes · 20 min read
Java Code Obfuscation and Encryption with ProGuard, Xjar, and ClassFinal
Selected Java Interview Questions
Selected Java Interview Questions
Aug 4, 2024 · Backend Development

Design and Implementation of a WebSocket Backend for a Real‑Time Multiplayer Quiz Game

This article details the design, architecture, and Java implementation of a WebSocket‑based backend that enables real‑time, multi‑player quiz battles, covering entity definitions, message handling, matchmaking logic, error handling, game flow, and supporting utilities such as Redis‑based state management.

BackendGameJava
0 likes · 21 min read
Design and Implementation of a WebSocket Backend for a Real‑Time Multiplayer Quiz Game
Java High-Performance Architecture
Java High-Performance Architecture
Aug 4, 2024 · Backend Development

Unlock Java Distributed Locks with Lock4j: Guide & Advanced Tips

This article introduces Lock4j, a Java distributed lock library supporting RedisTemplate, Redisson, and Zookeeper, walks through its key features, dependency setup, configuration, annotation attributes, simple and advanced usage examples, and demonstrates custom executors, key builders, and failure strategies for robust concurrency control.

ConcurrencyJavaLock4j
0 likes · 6 min read
Unlock Java Distributed Locks with Lock4j: Guide & Advanced Tips
Top Architect
Top Architect
Aug 3, 2024 · Backend Development

Standardizing API Response Structure with Custom Annotations in Spring Boot

This article explains how to design a unified JSON response format for backend services, define clear status‑code conventions, encapsulate results in a Result class, and use a custom @ResponseResult annotation together with a ResponseBodyAdvice interceptor to automatically wrap controller outputs, improving readability and error handling.

JavaResponse wrapperSpring Boot
0 likes · 10 min read
Standardizing API Response Structure with Custom Annotations in Spring Boot
Java Tech Enthusiast
Java Tech Enthusiast
Aug 3, 2024 · Fundamentals

Using Java 8 Functional Interfaces to Replace if...else Statements

Java 8’s functional interfaces, such as Supplier, Consumer, Runnable, and Function, let developers replace verbose if‑else chains with concise lambda‑based constructs, improving readability by encapsulating conditional logic in custom @FunctionalInterface definitions that handle true/false branches, exceptions, and optional values.

Functional InterfaceJavaLambda
0 likes · 5 min read
Using Java 8 Functional Interfaces to Replace if...else Statements
Java Architect Essentials
Java Architect Essentials
Aug 2, 2024 · Databases

Migrating a SpringBoot + MyBatisPlus + MySQL Project to PostgreSQL: Common Pitfalls and Helper Scripts

This article details the step‑by‑step process of switching a SpringBoot‑MyBatisPlus application from MySQL to PostgreSQL, covering driver integration, JDBC configuration changes, numerous SQL and type‑conversion pitfalls, and provides ready‑to‑run PostgreSQL scripts for bulk column adjustments and default values.

JavaMySQLPostgreSQL
0 likes · 11 min read
Migrating a SpringBoot + MyBatisPlus + MySQL Project to PostgreSQL: Common Pitfalls and Helper Scripts
21CTO
21CTO
Aug 2, 2024 · Backend Development

Why Developers Are Ditching Oracle Java and How to Switch to OpenJDK

A market study reveals that rising Oracle Java subscription costs are driving many users to migrate to OpenJDK, and this guide explains the reasons behind the shift and provides step‑by‑step instructions for removing Oracle JDK and installing OpenJDK.

Backend DevelopmentJavaMigration
0 likes · 6 min read
Why Developers Are Ditching Oracle Java and How to Switch to OpenJDK
Architect
Architect
Aug 2, 2024 · Artificial Intelligence

Building AI‑Native Applications with Spring AI: A Complete Tutorial

This article explains how to quickly develop an AI‑native application using Spring AI, covering core features such as chat models, prompt templates, function calling, structured output, image generation, embedding, vector stores, and Retrieval‑Augmented Generation (RAG), and provides end‑to‑end Java code examples for building a simple AI‑driven service.

AI-nativeBackendFunction Calling
0 likes · 40 min read
Building AI‑Native Applications with Spring AI: A Complete Tutorial
DaTaobao Tech
DaTaobao Tech
Aug 2, 2024 · Backend Development

Limitations of Spring AOP and Java Agent Solutions for the Diagnose Framework

Spring AOP cannot advise non‑bean, static, or internally‑called methods, limiting its use for the Diagnose framework, so the article proposes a Java Agent that transforms bytecode at startup, bypasses proxy constraints, and reliably intercepts private, static, and self‑invoked methods across separate class loaders.

Aspect Oriented ProgrammingByteBuddyJava
0 likes · 13 min read
Limitations of Spring AOP and Java Agent Solutions for the Diagnose Framework