春招妥了!资深技术面试官教你这样准备 Java 面试! | CSDN 博文精选(11)
第一步 , 发现系统很卡 , 或者日志里频繁出现OOM异常 。
第二步 , 用dump文件看OOM时的内存镜像 , 看的工具可以是JMAT 。 这两个步骤是通用的 。
第三 步 , 通过dump文件 , 再结合日志上下文 , 发现了OOM的原因 , 比较简单的原因是Redis缓存超时时间过长 , 或者是ThreadLocal里的对象用好没remove(这块还涉及到弱引用 , 大家可以自己去查 , 本文不展开) , 或者创建线程池时 , 等待队列设置成了无界 。
或者你在Mybatis里 , where条件都是带if的 , 即如果传入id和name再拼装where id = xxx之类的语句 , 在一种场景里 , 都没传条件 , 所以where后面不带条件 , 把数据库里记录全捞出来了 , 导致OOM 。
如果你甚至可以说到Netty 堆 外内存管理不善而导致的问题 , 如果能说到这个程度 , 甚至面试架构师都行 。
第四步 , 解决 。 发现问题后 , 对症下药解决就很容易 , 比如降低Redis超时时间 , 或者修改好对应的代码 。 但既然你说是根据线上问题排查出来的 , 那么就得说如何解决 , 善始善终 。
推荐阅读
- 手机游戏|LOL手游技术主播排位遭遇安排,玩家段位各种大倒退,多人“中招”
- 地下城与勇士|DNF:技术流主播的“末路”?Eiji的直播风格引起争议!
- 诺言|酒馆战棋全靠运气?这3点展现技术的重要性!
- 斗鱼|杨颖斗鱼首秀,透露喜欢金克丝的原因,游戏技术得到若风认可
- 地下城与勇士|DNF:游戏已变了味!两个技术帝主播衰败,人气热度濒临淘汰
- fps|法神直播展示匕首技术,却不料被连续振刀?直言下次不许再玩了
- 菠菜|资深艾瑞达的七万字长文,可能道出了一个血淋淋的真相
- |西山居曝光“游戏增强学习AI技术”,正在1款内部产品中测试
- 手机游戏|LOL手游霸哥依旧下饭,“石头人空大害队友,学技术还看Thebug”
- 指环王|和平精英指环王大赛,技术主播开始“内卷”,几指操作实力最强?