使用 Java ServiceLoader 类实现插件机制

使用 Java ServiceLoader 类实现插件机制 1. 概述 ServiceLoader 是 Java 标准库中提供的一种服务发现与加载机制,位于 java.util 包下。 它是 Java SPI(Service Provider Interface) 机制的核心实现,用于在运行时动态发


Haversine 公式

Haversine 公式 Haversine 公式是球面几何中用于计算**球面上两点间最短路径(大圆距离)**的数值稳定公式。源自球面余弦定理,但通过使用半正矢函数避免了小角度下余弦差损失带来的精度问题。 1. 公式目的与应用 目的: 计算球体表面上两点之间的最短弧长距离(大圆距离)。 典型应用:


Spring Boot 中 @Value 加载资源文件

Spring Boot 中 @Value 加载资源文件 一、原理概述 @Value 注解可以注入来自配置文件(application.properties / application.yml)的属性值,也能通过 classpath:、file:、http: 等前缀直接加载外部资源。 当注入类型为 o


MapStruct 教程笔记

🧭 MapStruct 教程笔记 —— 高效、安全的 Java Bean 映射工具 一、为什么选择 MapStruct? 性能优势 MapStruct 在编译时生成纯 Java 方法调用的映射代码,避免了反射带来的性能损耗。例如,在处理大量对象映射时,MapStruct 的性能显著优于使用反射的工


Post-Startup Method Execution in Spring Boot

Spring Boot项目完全启动后执行某个方法的方式 在 Spring Boot 项目中,如果你想在应用完全启动后执行某个方法,有以下几种常见方式: ✅ 1. 使用 @EventListener(ApplicationReadyEvent.class) 这是 最推荐 的方式,会在 Spring B


Arcball 旋转机制详解

Arcball 旋转机制详解 ArcBall模型变换是一种用户界面技术,它允许用户通过鼠标操作来直观地旋转三维物体。这项技术由Ken Shoemake在1992年提出,并发表在Graphics Interface杂志上。ArcBall的主要思想是将二维鼠标移动映射到三维空间中的旋转,使得用户可以通过