
java 生产问题集
文章平均质量分 81
这个问题集旨在帮助Java开发人员或学习者共同探讨和解决Java开发过程中遇到的各种技术、工具和实践上的问题。(ps:都是分享的工作中遇到的开发问题,对缺乏经验和缺乏解决问题的初中级程序员都挺有帮助的。)
提前退休了-程序员阿飞
18年开发进入编程行业,现在就职于成都一国企,担任开发组长。
工作之余可提供学习指导、模拟面试、简历优化等
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
同事的代码问题(第六期)
近期工作遇到的两个典型问题及解决方案: RabbitMQ重复消费问题: 现象:消息ACK未确认导致短信重复发送 原因:配置了手动ACK模式但未显式确认消息 解决方案:捕获异常并手动确认/拒绝消息,避免无限重试 多线程数据更新问题: 现象:分页查询与更新并发导致数据遗漏 原因:查询条件在更新中被修改,导致分页失效 解决方案:改为单线程查询+多线程更新,每次只查第一页数据 这两个案例展示了日常开发中容易忽视的细节问题,通过分析问题本质找到了针对性的解决方案。原创 2025-07-16 09:09:31 · 718 阅读 · 0 评论 -
一条SQL把数据库服务器干爆了
在5月16日,一条SQL语句导致数据库服务器崩溃。该SQL语句涉及A表和B表的左连接操作,问题根源在于A表中的b_id字段类型错误地被设置为varchar而非bigint。虽然索引并未失效,但由于类型转换,数据库选择了低效的Nested Loop算法,导致CPU飙高。通过分析执行计划,发现数据库在估算行数时出错,错误地选择了Nested Loop而非更高效的Hash Join。最终解决方案包括修正字段类型、更新统计信息,并建议禁用Nested Loop或使用hint语法指定执行计划。这一事件提醒我们在SQL原创 2025-05-19 20:56:32 · 961 阅读 · 0 评论 -
System.out.print 困了我五年
小小的System.out.println() 困了我五年,最后 DeepSeek 帮我解决了原创 2025-03-28 14:36:17 · 843 阅读 · 0 评论 -
看看同事的限流实现!全是BUG
在实际开发中遇到要限流的需求,我们应该首先考虑了解限流算法实现方式有哪些,业务场景适合哪种算法,最后是考虑用什么组件方便。原创 2024-11-19 22:09:31 · 485 阅读 · 0 评论 -
限流咋没生效呢
在实际开发中遇到要限流的需求,我们应该首先考虑了解限流算法实现方式有哪些,业务场景适合哪种算法,最后是考虑用什么组件方便。原创 2024-11-13 10:06:50 · 519 阅读 · 0 评论 -
distinct导致sql超时
在 SQL 中,DISTINCT和GROUP BY都用于处理重复数据,但它们的执行原理和性能特征有所不同。在大多数情况下,GROUP BY在处理聚合时可能比DISTINCT更高效,但实际性能依赖于具体查询和数据集的特性。在查询1对多的数据情况,只需要返回主表的数据,这时候distinctgroup by都满足查询结果eg:这种情况我们可以使用,其他情况 或者是需要调用聚合函数时候就用group by在分页列表查询优化中,我还可以考虑去单独优化count sql。原创 2024-09-26 17:17:20 · 1456 阅读 · 1 评论 -
实际开发中常见的坑儿
分享几个最近在开发中发现的编码问题,这些问题也不是才入门的同时写的。都是5年以上开发经验的爪哇同事写的。当然下面这些问题也都不是很难返现的问题。初中级的程序员还是可以仔细看看的。原创 2024-07-25 08:53:48 · 303 阅读 · 0 评论 -
SQL 子查询中,查询了一个不存在的字段,居然不报错
前几天在做一个需求,用户所在的部门被删除了,对应用户的角色也要清空。测试测的时候发现,只要测我的这个需求系统的所有角色都被删除了。。。。。。。我看了日志也没报错呀,我也没有删除所有账号的角色呀。我有点不相信,就再让测试测一下,发现真的执行了我的需求,账号角色立马就没了。原创 2024-07-18 14:51:41 · 1041 阅读 · 0 评论 -
把sql拿到数据库中执行,和程序返回的值不一样??????
看到这儿,原来是开发直接在原有结果集的引用上修改了值,导致后面查询出来的是被修改过的值。第二次查询缓存中的数据,也没有打印sql,让同事们连连叫怪。。。。。最后大家还是不要直接修改mapper结果集的数据。。。。。。。。。原创 2024-06-24 08:45:00 · 1180 阅读 · 1 评论 -
历时一个月,才定位到quartz任务偶尔执行失败问题
本片文章主要介绍了,实际开发中因为项目架构的问题,引发的一系列让人摸不做头脑的问题。实际上不是技术框架bug,和开发同事的写法问题。原创 2024-04-15 17:33:12 · 2598 阅读 · 0 评论 -
【在没有去捕捉异常的代码里面,没有报错日志,程序就真的没有报错吗】
log4j:WARN No appenders could be found for logger (com.alibaba.dubbo.common.logger.LoggerFactory).原创 2024-01-05 23:30:54 · 942 阅读 · 2 评论 -
【卧槽这答题抽奖这么烂????以前测过吗】
项目简述:最近我收到个任务是要将我们的答题活动,对接放到微信公众号中去,微信和app能够同时参加活动、抽奖。搬迁之后复测,看了下代码,我滴妈,问题太多了!(代码是21年写的,非常混乱逻辑全在controller的method里面,估计这个author现如今已经(成大牛)退休了吧!原创 2023-11-20 16:51:18 · 69 阅读 · 1 评论 -
把mysql的编码设置了utf8mb4就没事儿了吗
最近发版我不是遇到一个微信昵称含有表情字符串无法保存到数据库没,数据库的编码设置成了utf8mb4还是报错,最后升级了mysql-connect-java 版本到8点几才解决这个问题。其实版本5.1.x的版本是支持utf8mb4的编码的,只不过需要多处理一步。下面简单说一下这两个大版本的使用方式的不同之处。原创 2023-11-23 23:09:57 · 897 阅读 · 0 评论 -
记一次定时任务执行失败问题
1.是不是任务阻塞了,但是是也没发现报错日志呢,以为是任务执行时间太长,可能是定时任务队列满了,应该也是会有报错日志的呢,而且定时任务里面也是多线程统计,并且里面也用了线程池,是不是任务里面配置的线程池满了。3.最后发现我用了countDownLatch,如果线程没执行完,我这个任务就一直阻塞,好像找到关键的问题所在了,但是我本地跑了定时任务也没发现啥问题呀,任务也在正常执行呀。4.最后没办法了直接连测试环境的库,跑定时任务,开始也是没有报错,执行了几十次的时候,就看到一个报错日志了,原创 2023-11-27 16:05:44 · 497 阅读 · 0 评论 -
spring-session-data-redis升级之坑
因为某些组件低版本存在漏洞问题,本次对项目的springboot版本从1.x升级到了2.x,因为其他相关的中间件也随着一起升级,在升级最后发现项目用户信息无法获取到了。原创 2023-12-28 14:54:51 · 1761 阅读 · 2 评论 -
方法不会覆盖或实现超类型的方法
当你在Java中遇到"方法不会覆盖或实现超类型的方法"的错误时,通常是因为你的方法签名(包括方法名称、参数列表和返回类型)与父类或接口中的方法签名不匹配。在Java中,实现接口或继承父类时,子类或实现类必须覆盖(重写)父类或接口中定义的方法,并且方法签名必须完全一致。返回类型不匹配:子类或实现类中的方法的返回类型必须与父类或接口中定义的方法的返回类型相同。方法名称不匹配:子类或实现类中的方法名称必须与父类或接口中定义的方法名称完全一致。估计上面这些情况大家都不会犯,出现。原创 2023-12-07 14:59:12 · 7476 阅读 · 1 评论