java
文章平均质量分 80
佳瑞Jarrett
面向人生编程的佳瑞。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java线程池详解系列03:SpringBoot项目中使用CompletableFuture
摘要: Java的CompletableFuture提供了强大的异步编程能力,支持链式调用、任务组合和异常处理,优于传统线程池方式。通过supplyAsync和runAsync创建异步任务,结合thenApply、thenAccept等操作实现非阻塞流水线。其核心优势包括链式编程(避免回调地狱)、多任务并行聚合(如thenCombine)以及精细化异常处理(handle/exceptionally)。相比传统Future需手动等待和嵌套回调,CompletableFuture能以声明式语法简化复杂异步逻辑,原创 2025-08-07 18:00:00 · 767 阅读 · 0 评论 -
Java线程池详解系列02 :SpringBoot项目中使用Async
本文介绍了Spring Boot中线程池的配置与使用方式。主要包括:1)通过application.yml或Java代码配置线程池参数;2)使用@Async注解实现异步任务执行;3)手动提交任务到线程池的方法;4)线程池状态监控实现;5)关键参数与拒绝策略说明。最佳实践建议包括线程池隔离、合理设置队列容量和自定义拒绝策略等,帮助开发者优化异步任务处理性能。原创 2025-08-04 22:00:00 · 786 阅读 · 0 评论 -
Java线程池详解系列01:高效并发编程的核心利器
本文摘要:Java线程池是一种高效的多线程管理机制,它通过预先创建并维护一组可重用线程来执行任务。相比传统方式每次创建新线程,线程池具有资源复用、快速响应、流量控制和统一管理等优势。其核心工作原理类似快递公司,包含核心线程、临时线程、任务队列和拒绝策略等组件。文章详细分析了线程池执行流程,包括任务提交、线程创建和状态检查等关键步骤,并提供了ThreadPoolExecutor的代码示例,帮助开发者理解线程池如何动态管理线程资源来提高系统性能和稳定性。原创 2025-08-01 22:00:00 · 432 阅读 · 0 评论 -
Springboot+MyBatis使用UUID作为实体主键的最佳实践
MySQL UUID主键优化方案 本文提出了在MySQL中使用UUID作为主键的完整技术方案,重点解决传统自增ID的局限性和UUID的性能问题。方案对比了不同存储方式,推荐采用BINARY(16)存储,相比字符串方案可节省60%存储空间并提升30%查询性能。针对随机UUID导致的索引碎片问题,提出了有序UUID生成算法,通过重组时间位显著提升插入性能3-5倍,减少70%索引碎片。文章提供了从数据库设计到Java实现的完整代码,包括UUID工具类、MyBatis类型处理器等核心组件,为分布式系统提供了可靠的主原创 2025-07-24 20:37:37 · 674 阅读 · 0 评论 -
【踩坑记录】CompletableFuture.runAsync() 执行 Feign 调用的问题及原因分析
在 Spring Cloud 项目中,使用 CompletableFuture.runAsync() 执行 Feign 调用时,可能会遇到 ClassNotFoundException 或请求上下文丢失的问题,尤其是在 OpenJDK 11 + ForkJoinPool 环境下。原创 2025-07-23 21:06:41 · 1109 阅读 · 0 评论 -
开源项目推介:PDF,Word,Excel,PPT文档存储、预览、全文检索系统
在小团队中往往会产生大量的协作文档。例如,我们会将各类文档放在网盘、svn等软件中,但是存在文档内的内容无法快速搜索的问题。因此,专门开发了一个用于存储ppt、word、png等文档的,支持私有部属的知识库的检索。真正的开源项目,支持用户自定义修改功能,私有部署等等。...原创 2022-08-13 15:58:19 · 2485 阅读 · 0 评论 -
支付宝基金自选管理系统Springboot + Vue 实现
支付宝基金自选管理系统Springboot + Vue 实现。前后端分离的基础项目,帮助快速学习项目开发。原创 2022-05-14 22:06:30 · 1752 阅读 · 0 评论 -
sql语句取浮点数的处理办法
如以下代码,从mysql数据库中取某一字段的求和,self_profit字段为浮点数,对该列数据进行求和时,总数肯定也为浮点数。@Select("SELECT SUM(`profit`) FROM `sale` WHERE YEAR(created_time) = YEAR(NOW()) and id = #{id}")Float calTotalProfit(Long id);取到的总数totalSales必须经过非空判断,否则会出现空指针异常的错误。 Float totalSales = st原创 2021-07-19 23:30:35 · 1962 阅读 · 0 评论 -
基于百度云AI开发车型识别车牌识别案例详解
关键字: 车牌识别 车型识别 百度AI SpringBoot Vue Java SDK文章目录1.创建百度AI应用2.通过Access_token密码调用百度AI接口(车型识别)3.Java客户端AipImageClassifyClient调用AI接口4.车型识别接口说明5.Java后端Controller层接收图片6.Java后端Service层访问AI接口7.基于VUE的前端开发车牌识别和车型识别8.总结与展望1.创建百度AI应用进入百度AI官网https://ai.baidu.com/,点击右原创 2021-02-17 17:26:31 · 3907 阅读 · 2 评论 -
Java开发案例:电脑自动开关机和爬取网页
前言:以下案例来自于开课吧公开课教程,以下代码用于记录和参考,无其他意图。demo1: 电脑自动关机,和取消自动关机要求是使用代码对电脑进行控制,能够实现电脑开机和关机的操作。实现代码如下,分别能够进行自动关机和取消自动关机。package com.kkb.demo;import java.io.IOException;public class Demo1 { public static void main(String[] args) throws IOException {原创 2021-01-27 22:38:38 · 403 阅读 · 0 评论
分享