昔年浅巷

昔年浅巷

Java

11月项目开发问题总结

Java多线程开发中,线程死锁问题可通过代码示例复现:两个线程分别持有a、b锁并相互请求对方资源形成循环等待。排查方案包括使用IDEA分析器插件检测线程状态,或通过Arthas的thread命令定位死锁线程堆栈。JVM调优涉及内存管理监控,利用jps查看进程信息,jinfo获取JVM参数配置,jstat分析内存分配情况(S0C/Eden/Old区容量、GC次数与耗时等指标),帮助优化堆内存与垃圾回收策略。本文总结了项目开发中典型的多线程问题与JVM性能调优实践。
33
0
0
2024-12-03

JAVA线上排查利器arthas(阿尔萨斯)之使用篇

Arthas是一款Java线上监控诊断工具,提供实时应用状态监测及问题排查功能,支持方法耗时追踪、类加载信息查看等。用户可通过下载arthas-boot.jar启动并选择目标进程进行调试,常用命令包括:1)trace命令分析方法调用链耗时,通过参数控制采样次数、过滤条件及JDK方法显示;2)thread命令查看线程堆栈,支持阻塞线程检测与CPU使用率统计;3)sc命令搜索JVM已加载类信息。示例中通过trace命令定位UserInfoController方法性能瓶颈,结合--skipJDKMethod参数显示详细调用链,并演示条件过滤、多类方法追踪等进阶用法,帮助开发者快速诊断代码级性能问题。
31
0
0
2024-10-19

SpringBoot 初探发布订阅模式

SpringBoot通过继承ApplicationEvent定义事件类,结合@TransactionalEventListener注解实现监听类,利用ApplicationEventPublisher触发事件,简化发布-订阅模式接入流程。该模式基于观察者机制,支持同步或异步处理,通过解耦发布者与订阅者提升系统扩展性和可维护性。Spring框架提供事件模型、领域事件集成及事务隔离监听等特性,允许异步执行和条件触发。使用该模式可增强代码灵活性,便于测试与业务扩展,适用于需要事件驱动的场景。文章后续计划深入解析SpringBoot实现发布订阅的底层源码机制。
13
0
0
2024-10-19