java
文章平均质量分 75
java、maven……
ChicagoTypewriter
You only live once,do not angry and worry.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spring初始化插入数据报IncompleteElementException错误问题分析
摘要(148字): 项目在Spring Boot启动时,通过@PostConstruct异步初始化2000条模板数据,偶发报ITopoNodeDao的ResultMap找不到异常。实际执行的是DevRoleDao.insertRole(),却因竞态条件引发非必现错误。根本原因在于new Thread()未等待MyBatis Mapper初始化完成,导致子线程在主流程尚未解析完XML时触发不完整Statement的重新解析,引发IncompleteElementException。问题本质是启动时序竞争,而非原创 2026-09-21 09:23:47 · 260 阅读 · 0 评论 -
加密、加签、摘要算法对比
本文梳理了加密、加签和摘要算法的核心概念及区别。对称加密(如AES)使用相同密钥,速度快但密钥分发困难;非对称加密(如RSA)使用公钥/私钥对,解决密钥分发问题;摘要算法(如SHA-256)生成不可逆的唯一指纹。数字签名通过私钥加签、公钥验签实现身份认证和数据完整性验证。实际应用中常组合使用这些技术,如HTTPS结合对称和非对称加密,密码存储采用加盐哈希(推荐PBKDF2/bcrypt)。关键区别在于:对称加密可逆、非对称加密可逆、摘要算法不可逆,需注意算法选择和密钥管理。原创 2025-06-17 22:13:38 · 999 阅读 · 0 评论 -
定时线程池失效问题引发的思考
本文分析了线程池使用中的常见问题及解决方案。作者在开发中遇到定时线程池停止导致业务状态异常的情况,通过日志分析和Arthas工具定位到问题根源:普通线程池设置不当(核心线程数过小、队列容量不足)导致任务堆积,触发拒绝策略后异常未被捕获,进而停止定时线程池。文章深入解析了线程池的工作原理,指出扩容机制的关键点(队列满才会创建新线程),并给出优化建议:1)合理设置核心线程数和队列长度;2)选择适当的拒绝策略;3)定时任务必须添加异常捕获;4)监控线程池运行状态。特别强调要理解线程池参数与业务特性的匹配,避免任务原创 2025-06-03 22:20:58 · 783 阅读 · 0 评论 -
svn代码提交乱码问题
svn代码提交时候,patch预览的乱码问题分析原创 2025-03-18 20:20:49 · 500 阅读 · 0 评论 -
java线程状态流转
本文主要分析jvm中涉及的线程状态以及这些状态的流转关系原创 2024-01-13 01:08:47 · 863 阅读 · 0 评论 -
java阻塞线程或繁忙线程的定位方式
测试或生产环境偶尔会遇到线程阻塞或cpu飙升的问题,我们经常使用以下工具进行定位和分析,对分析命令和需要注意的点进行记录。原创 2024-01-11 23:41:46 · 1348 阅读 · 0 评论 -
性能优化实践:通过数据库查询实体的部分属性
在部分场景下只需要查询实体的部分属性,另外仅查询部分属性可以减少部分性能开销。本文通过mabatis的注解方式实现以上功能,对此进行记录。另外,通过mybatis从数据库查询回数据后,需要通过工具类将List类型数据转换为对应的实体对象集合,这部分逻辑也做记录。原创 2024-01-11 00:21:46 · 584 阅读 · 0 评论 -
一次线程被阻塞的线上问题排查复盘
记录一次市场问题中线程被阻塞的问题,复刻问题,提供定时线程池和阻塞队列的实现方式原创 2024-01-10 00:08:18 · 1316 阅读 · 0 评论 -
java垃圾回收算法和经典垃圾收集器
主要总结jvm中的垃圾收集算法和垃圾收集器。原创 2023-09-18 00:54:41 · 253 阅读 · 0 评论 -
记一次spring-spi机制下少包导致的启动问题
Java SPI,META-INF/services/com.example.MyService:com.example.MyServiceImplDobbo SPI,META-INF/dubbo/com.example.MyService:impl1=com.example.MyServiceImpl1Spring SPI,META-INF/spring.factories:com.example.MyService=com.example.MyServiceImpl原创 2023-05-27 01:00:38 · 513 阅读 · 0 评论 -
JDK工具-命令
jdk原生工具中最常用的就是jstat和jmap以及jstack命令,需要熟练掌握其基础使用方法遇到jvm方面问题可以快速定位问题,其他工具了解即可。原创 2023-05-11 23:09:56 · 219 阅读 · 0 评论 -
命令记录|arthas
列出我自己常用到的arthas命令,一是系统整理总结经验,二是为了后面查找方便。原创 2023-05-10 23:23:09 · 1444 阅读 · 0 评论 -
设计模式|桥接模式
桥接模式 最重要的是将抽象与实现解耦 , 通过组合在抽象与实现之间搭建桥梁 ;原创 2023-04-13 23:38:54 · 144 阅读 · 0 评论 -
【maven】use -source 7 or higher to enable diamond operator
1. mvn编译打包指定jdk版本2. 将依赖的jar包一起打包3. 将配置文件等一起打包原创 2023-02-17 16:32:01 · 356 阅读 · 0 评论 -
java编码的一些经验之谈
java开发的一些经验笔记原创 2022-12-08 22:45:01 · 586 阅读 · 0 评论 -
函数式编程实践:抽象缓存维护通用逻辑
函数式编程实践:抽象缓存维护通用逻辑原创 2022-12-29 19:44:10 · 244 阅读 · 0 评论 -
ScheduledExecutorService定时任务停止问题
java.util.concurrent.ScheduledExecutorService#scheduleAtFixedRate一次问题排查,踩了定时任务的坑原创 2023-01-04 20:20:45 · 6137 阅读 · 0 评论
分享