一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

虚拟线程在Spring Boot中的正确使用方式

虚拟线程在Spring Boot中的正确使用方式:

启用方式:配置 spring.threads.virtual.enabled=true
Web请求:自动使用虚拟线程处理(无需额外配置)
异步方法:通过 @Async 自动使用虚拟线程
定时任务:需要配置 SchedulingConfigurer
手动创建:使用 Executors.newVirtualThreadPerTaskExecutor()
注意事项:避免CPU密集型任务,谨慎使用ThreadLocal

龙生   11 Sep 2026
View Details

彻底搞懂响应式编程

我们知道,系统面对大流量、高并发的访问请求时,就可能会出现一系列性能问题,导致服务丧失了即时的响应性。如何时刻确保系统具有应对请求压力的能力,是架构设计的核心问题之一。

经典的服务隔离、限流、降级以及熔断等机制能够在一定程度上确保系统的响应性。但这些机制更多的是从系统架构和应用部署的角度出发解决问题,而不是编程技术本身。今天我们要介绍的是构建系统响应性的一种崭新的解决方案,这就是响应式编程(Reactive Programming)。

我们知道,传统的编程模型采用的是同步阻塞式(Blocking)的请求响应过程,这是现有各种经典解决方案所不得不面对的一种限制。 而响应式编程打破了这种限制,采用了异步非阻塞式(Non-Blocking)的编程模型,从而提高服务的响应能力。

龙生   11 Sep 2026
View Details

为什么Spring要“抛弃”Feign?

适用场景
继续用Feign的场景
1. 已有的老项目,Feign接口超过20个 迁移成本太高,不值得为了“追新”去重构。

2. 深度依赖Spring Cloud微服务生态 服务发现、负载均衡、熔断降级全部用Spring Cloud那一套,Feign的集成度更高。

3. 团队对Feign非常熟悉 没有学习成本,出了问题知道怎么排查。

4. 不需要响应式编程 业务场景简单,不需要WebFlux,Feign完全够用。

转向@HttpExchange的场景
1. 新项目从零开始 没有历史包袱,直接用Spring官方原生方案。

2. 需要使用响应式编程 WebFlux + @HttpExchange是绝配。

3. 追求性能和资源效率 高并发场景下,@HttpExchange的吞吐量和内存占用都优于Feign。

4. 不想引入Spring Cloud 项目不需要完整的微服务功能,只想用声明式HTTP客户端。

5. 追求技术栈“干净” 希望依赖最小化,不想引入第三方组件。

龙生   11 Sep 2026
View Details

Docker部署Sentinel

docker run --name sentinel -p 8858:8858 -td bladex/sentinel-dashboard

龙生   09 Sep 2026
View Details

深入理解TransmittableThreadLocal:原理、使用与避坑指南

TransmittableThreadLocal(TTL)是阿里开源的一个线程间数据传递解决方案,解决了InheritableThreadLocal在线程池场景下的问题。

龙生   02 Sep 2026
View Details

业务实例如何指定IP(外网IP)注入Nacos

spring.cloud.nacos.discovery.ip = xx
spring.cloud.nacos.discovery.port = xxx

龙生   24 Aug 2026
View Details

Centos7安装JDK21

wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
tar -zxvf jdk-21_linux-aarch64_bin.tar.gz

export JAVA_HOME=/usr/local/jdk-21.0.2
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

龙生   24 Aug 2026
View Details

代码生成工具(mybatis-plus-generator)

代码生成器,对于我们提升开发效率还是非常有价值的,快速生成代码和避免手误操作,能给我们减少了很多麻烦,又多了一点摸鱼的时间[偷笑]。
以前我用的比较多的是easy code,但是需要安装插件,配置模版,所以多少还是有些不方便。
自从项目改用mybatis-plus后,mybatis-plus-generator就成了它的替代品,很方便,也很灵活,个人推荐使用。

龙生   20 Aug 2026
View Details

Tesseract OCR识别身份证号码

Tesseract 是一款开源的 OCR 引擎,由 Google 维护。它支持多种语言的文字识别,具有较高的识别准确率和良好的扩展性。Tesseract 的核心作用是对经过预处理的图像进行分析,提取其中的文字信息并转换为文本。它可以处理不同字体、大小和格式的文字,并且能够通过训练来提高对特定场景文字的识别能力。

官方网站:https://github.com/Tesseract-ocr/Tesseract

官方文档:https://github.com/Tesseract-ocr/tessdoc

语言包地址:https://github.com/Tesseract-ocr/tessdata

下载地址:https://digi.bib.uni-mannheim.de/Tesseract/

龙生   13 Aug 2026
View Details

Seata 2.0实战

前期准备
已安装 MySQL
已安装 Docker
已安装 Nacos

Docker部署Seata
Spring集成Seata

龙生   07 Aug 2026
View Details
1 2 179