- 博客(62)
- 收藏
- 关注
原创 校验空值抛出异常写法以及优先级
本文总结了Java中空值校验与异常处理的三种典型写法及其适用场景。1)简洁式(Optional+checkArgument):适合熟悉现代Java风格的团队,代码简洁但新手理解成本高;2)标准式(if+显式抛异常):可读性强,适合多人协作或复杂条件校验;3)工具类封装式:通过统一校验方法实现代码复用,适合大量重复校验场景。文章还分析了异常处理的最佳实践,推荐"底层抛异常,顶层统一捕获"模式,并详细解释了notBlank方法中可变参数的使用原理。各种写法各有优劣,应根据团队水平和项目特点选
2026-03-20 14:42:39
232
原创 redis分布式锁代码使用场景
摘要:本文介绍了Redis分布式锁在图片上传接口中的应用场景和实现方案。通过SET key value NX EX命令实现互斥锁,配合UUID作为唯一标识,确保集群环境下同一请求的串行处理。方案包含四个关键环节:分布式锁获取、数据解密、报文校验和幂等校验,其中分布式锁与数据库幂等校验形成双重保障机制。特别强调了锁的自动释放(通过过期时间)和强制释放(finally块)的重要性,以及分布式锁与数据库幂等校验的互补关系,共同确保系统在高并发场景下的数据一致性和可靠性。
2026-03-19 17:16:34
57
原创 异常执行顺序
摘要:本文分析了异常处理的执行顺序问题。第一部分展示了AccessViolationException异常触发后,程序会跳过try块中的后续代码,执行catch块后继续运行。第二部分通过邮件发送示例说明:当异常被catch捕获时,方法内后续代码仍会执行,且不影响外层调用流程;若未捕获或抛出异常,则会中断整个方法执行流程。关键点在于异常是否被catch"灭火"决定了程序是否继续执行。
2026-03-16 16:26:47
66
原创 linux服务器处理应用日志主流方案
本文介绍了Linux服务器处理应用日志的几种主流方案:1) 使用系统自带的Logrotate工具实现自动化日志轮转、压缩和清理;2) 大型系统采用ELK、Loki或ClickHouse等集中式日志平台进行统一收集分析;3) 小型项目可通过简单脚本配合cron定时清理日志。文章还强调了处理日志句柄问题的重要性,并针对不同规模场景给出了方案建议:单机推荐Logrotate,分布式系统适合集中式平台,测试环境可用脚本快速解决。
2026-03-04 17:11:06
373
原创 排查服务器运行的相关应用及中间件
本文分析了某服务器上运行的应用和中间件情况。通过netstat命令显示,该服务器运行了多个Redis实例(监听7000/7001/17000/17001等端口)、SSH服务(22端口)、node_exporter监控代理(323端口)、chronyd时间同步服务(60020端口)、gse_agent安全代理(68端口)以及dhclient DHCP客户端等。主要应用包括Redis集群/多实例、远程管理服务、系统监控工具和基础网络服务。这些服务共同构成了该服务器的应用架构,支持业务运行、系统管理和监控等功能。
2026-03-04 16:18:24
148
原创 xml工具类-对象与xml互转
XML与Java对象互转工具类摘要 本文介绍了使用JAXB技术实现Java对象与XML之间的相互转换。核心内容包含: 关键注解:@XmlRootElement(根元素)、@XmlElement(子元素)、@XmlAttribute(属性) Maven依赖:JAXB API及相关实现包的配置(包括Java 9+的额外依赖) 转换方法: 对象转XML:通过JAXBContext和Marshaller实现,支持格式化输出和编码设置 XML转对象:利用Unmarshaller进行反序列化 应用场景:Web服务交互、
2025-08-18 10:47:02
1095
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅