Java面试点
文章平均质量分 87
我爱娃哈哈
公众号:服务端技术精选
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
为什么Spring不建议使用@Autowired?@Resource才是王道!揭秘注解背后的设计哲学
在Spring项目中,依赖注入是我们每天都要用到的功能。// 方式1:使用@Autowired@Service@Autowired// 方式2:使用@Resource@Service@Resource// 方式3:构造器注入@Service到底哪种方式更好?Spring官方文档中其实给出了明确的建议,但很多人并不了解背后的原因。标准化优先:@Resource是JSR-250标准注解,具有更好的可移植性明确性更好:@Resource按名称匹配的机制更直观,不容易产生歧义。原创 2025-12-18 21:06:58 · 720 阅读 · 0 评论 -
放下技术焦虑!越来越多公司重回单体架构的真相,你知道几个?
技术的发展从来不是线性的,而是螺旋式上升的。微服务曾经是解决单体应用问题的良药,但随着实践的深入,我们发现它也带来了新的问题。现在越来越多的公司选择回归单体架构,并不是技术的倒退,而是更加理性和成熟的体现。对于我们后端技术人员来说,最重要的是放下技术焦虑,根据实际情况选择最合适的架构方案。无论是单体还是微服务,只要能解决问题、创造价值,就是好架构。没有最好的架构,只有最适合的架构。关注【服务端技术精选】,带你了解更多架构设计的干货内容!原创 2025-12-15 22:21:07 · 576 阅读 · 0 评论 -
网约车系统又双叒叕崩了?这5个架构绝招让你秒变滴滴!
坑点:所有司机位置都存Redis,内存爆炸解决:GeoHash分片 + 过期机制,内存使用减少90%设计5亿用户的网约车系统,核心是理解业务特点,分层解决问题位置服务:GeoHash + Redis解决海量位置查询智能派单:多维度评分提升匹配效率动态定价:供需平衡调节市场分布式事务:Saga模式保证数据一致性分片存储:应对海量数据存储好的架构不是设计出来的,是迭代出来的。从支持1万用户开始,逐步优化,最终你也能构建出滴滴级别的系统!下期我们聊短视频推荐系统架构,敬请期待~原创 2025-09-15 22:50:30 · 797 阅读 · 0 评论 -
数据库死锁又双叒叕发生了?这5个排查技巧让你3分钟搞定!
预防为主:统一锁顺序,缩短事务时间快速定位:善用工具,分析死锁日志对症下药:针对不同死锁类型采用不同解决方案监控到位:建立死锁监控,及时发现问题“一检测二分析三修复四预防”,下次遇到数据库死锁不慌!最后提醒一句:死锁虽然可怕,但并不是无解的。关键是要理解死锁的本质,掌握正确的排查方法,建立完善的预防机制。希望这篇文章能帮助大家在面对死锁时更加从容!关注我,不迷路,持续分享后端技术干货!公众号:服务端技术精选声明:本文原创,转载请注明出处。原创 2025-09-14 22:47:30 · 1260 阅读 · 0 评论 -
微信小程序缓存又双叒叕失效了?这6个排查技巧让你10分钟定位问题!
分层排查:从前端到后端,逐层定位问题策略合理:不同数据不同缓存策略,该长期的长期,该短期的短期版本管理:缓存要有版本概念,升级时及时清理监控到位:建立缓存监控,早发现早处理“一确认二排查三修复四预防”,下次遇到小程序缓存问题不慌!最后提醒一句:缓存是把双刃剑,用好了能大幅提升性能,用不好就是坑队友的利器。希望大家都能成为缓存使用的高手!关注我,不迷路,持续分享后端技术干货!公众号:服务端技术精选声明:本文原创,转载请注明出处。原创 2025-09-13 00:03:30 · 1282 阅读 · 0 评论 -
海量数据统计不再愁!这些技术方案让你的系统轻松应对千万级数据分析
PM跑过来说:“帮我统计下昨天的用户活跃数据”,结果一个SQL跑了半小时还没出结果老板要看实时大屏,结果数据延迟10分钟,实时个鬼啊双11活动数据统计,直接把数据库搞宕机了为啥会这样?数据量太大- 动不动就是几千万、几亿条记录实时性要求高- 老板要的是"现在"的数据,不是"一小时前"的查询复杂- 各种维度交叉分析,SQL写得比绕口令还复杂今天我就给大家分享几个实战中验证过的技术方案,保证干货满满!海量数据统计确实是个技术活,但只要方案选对了,实现起来并不复杂。能预计算的就预计算。原创 2025-09-11 20:20:51 · 1015 阅读 · 0 评论 -
消息推送总延迟?这7步架构设计让你的推送秒到用户手机!
高可用:多机房部署,故障自动切换高性能:消息队列解耦,异步处理高并发:WebSocket集群,负载均衡可监控:全链路监控,实时告警这套架构我们已经稳定运行2年,支撑了从日活1万到500万的业务增长。推送系统的核心是可靠性,宁可慢一点,也不能丢消息!关注我,不迷路,持续分享后端技术干货!公众号:服务端技术精选。原创 2025-09-08 22:36:54 · 946 阅读 · 0 评论 -
用户访问量统计总失真?这6种Redis方案让你数据精准到个位数!
选对数据结构:PV用String,UV用HyperLogLog,排行榜用Sorted Set设置合理过期:7天内的数据放Redis,历史数据放冷存储监控到位:内存使用率、统计延迟、数据准确性一个都不能少Redis用户访问量统计不是简单的计数,而是一个完整的统计体系。设计好了,数据精准到个位数;设计不好,老板天天找你谈话。Redis统计做得好是神器,做不好就是定时炸弹!关注我,不迷路,持续分享后端技术干货!公众号:服务端技术精选。原创 2025-09-08 22:28:56 · 847 阅读 · 0 评论 -
单点登录SSO又双叒叕登录失效了?这5步架构设计让你一次登录全网通行!
架构先行:先把认证中心、客户端、存储方案设计清楚,再动手编码监控到位:登录成功率、Token验证延迟、系统健康度一个都不能少容灾完备:Redis集群、应用集群、数据库主从,一个都不能缺SSO单点登录不是简单的登录功能,而是一个完整的身份认证体系。设计好了,用户体验飞升;设计不好,全公司陪你背锅。SSO设计得好是神器,设计不好就是定时炸弹!关注我,不迷路,持续分享后端技术干货!公众号:服务端技术精选。原创 2025-09-07 20:39:38 · 1186 阅读 · 0 评论 -
JVM内存又双叒叕OOM了?这5步排查法让你3分钟定位泄漏元凶!
预防为主:合理设置JVM参数,规范代码监控到位:早发现早处理,不要等用户投诉工具熟练:MAT、jmap、jstat要会用“一dump二分析三修复四验证”,下次遇到OOM不慌!关注我,不迷路,持续分享后端技术干货!公众号:服务端技术精选附:OOM排查思维导图OOM发生 → 确认类型 → dump内存 → MAT分析 → 定位代码 → 修复验证看日志 看参数 jmap命令 三板斧 代码审查 压测确认。原创 2025-09-07 20:20:27 · 1225 阅读 · 0 评论 -
JVM频繁FullGC导致系统卡顿?这篇文章教你3步搞定!
FullGC其实就是JVM的垃圾回收器对整个堆内存进行一次全面的垃圾回收。回收范围大:会回收年轻代、老年代甚至永久代(或元空间)的垃圾执行时间长:通常需要几十毫秒甚至几秒会暂停应用:在FullGC期间,所有的应用线程都会被暂停(也就是所谓的"STW" - Stop The World)想象一下:你正在高速公路上开车,突然前面的路被封闭了,所有车辆都得停下来等。这时候后面的车越堵越多,用户的体验就会越来越差。FullGC就像这个封路的过程,虽然是为了清理道路(回收内存),但过程中会导致系统卡顿。原创 2025-09-06 17:06:54 · 746 阅读 · 0 评论 -
短视频推荐算法总翻车?这6个架构绝招让抖音推荐丝滑如德芙!
数据思维:一切用数据说话,不要拍脑袋决策用户思维:推荐的是用户想看的,不是你想推的迭代思维:持续优化,永远没有完美的推荐系统最后说一句:推荐系统是个慢活,别指望一蹴而就。我见过的成功推荐系统,都是3分技术+7分运营,持续优化出来的。关注我,不迷路,持续分享后端技术干货!公众号:服务端技术精选。原创 2025-09-03 22:12:24 · 1698 阅读 · 0 评论 -
亿级用户IM系统总崩溃?这7个架构绝招让你微信也能扛!
设计亿级用户的IM系统,核心不是堆服务器,而是理解IM的业务特点连接管理:如何管理亿级长连接消息路由:如何让消息找到对的人存储优化:如何存几百亿条消息多端同步:如何让消息秒同步离线推送:如何让用户不错过消息好的IM架构不是设计出来的,是迭代出来的。从支持1000用户开始,逐步优化,最终你也能构建出微信级别的系统!咱们下期聊短视频推荐系统架构,敬请期待~原创 2025-09-02 22:12:43 · 1158 阅读 · 0 评论 -
评论系统扛不住10万QPS?这5个架构绝招让评论区永不崩溃!
缓存是爹:能缓存的就缓存,不能缓存的创造条件也要缓存异步是娘:同步操作能异步就异步,别让用户等分库分表是刚需:数据量大就别犹豫,直接分幂等是底线:重复消费、重复提交必须防监控是生命线:没有监控的系统就是瞎子限流是美德:该拒绝时就拒绝,保护系统最重要降级是智慧:系统扛不住时,先保核心功能记住:评论区架构没有银弹,只有不断迭代优化才能扛住10万QPS!咱们下期聊短视频推荐系统架构,敬请期待~原创 2025-09-02 21:59:51 · 1044 阅读 · 0 评论 -
扫码登录总失败?这4步原理+实战代码让你彻底搞懂!
安全第一:二维码必须有过期时间,绑定设备信息体验至上:支持WebSocket实时推送,避免长时间轮询容错处理:网络异常时的重试机制日志完整:便于问题追踪和统计分析多端同步:支持一键下线所有设备最后再提醒一句:扫码登录看似简单,但细节决定成败。建议上线前做好充分的测试,特别是网络异常、二维码过期、重复确认等边界情况。下一期我们聊聊"如何设计一个支持亿级用户的IM系统",敬请期待~原创 2025-08-31 16:16:22 · 2364 阅读 · 0 评论 -
MQ消息堆积到系统崩溃?这5个排查技巧让你10秒定位问题!
监控先行:没有监控就没有发言权,实时掌握消息堆积情况快速定位:三板斧(看监控、打Dump、查日志)快速找到问题先治标再治本:先扩容缓解,再优化根治预防为主:压测、限流、熔断,把问题消灭在萌芽状态最后再提醒一句:消息堆积不可怕,可怕的是没有预案。建议每个季度都做一次消息堆积的演练,确保真正出问题的时候能够快速响应。咱们下期见~原创 2025-08-31 15:51:01 · 1514 阅读 · 0 评论 -
系统升级数据迁移总翻车?这5个技巧让你实现0停机切换!
原理:迁移完成后,必须进行严格的数据校验,确保数据的完整性和一致性。校验方法总量校验:统计老系统和新系统的数据总量是否一致抽样校验:随机抽取部分数据,对比字段值是否完全一致业务校验:执行关键业务流程,验证数据是否可用边界校验:检查空值、极值、特殊字符等边界情况实战经验:校验时一定要多维度进行,不能只看总量。我之前经历过一次迁移,总量是对的,但有10%的数据字段值错误,就是因为只做了总量校验。后来我们开发了自动化校验工具,可以对比100个关键字段,大大提高了校验效率和准确性。原创 2025-08-27 22:23:38 · 1228 阅读 · 0 评论 -
Java线上故障排查全指南:从崩溃到定位只需10分钟!
线上故障发生后,首先要快速止损,回滚或降级是有效的手段。排查问题时,要善用各种工具,从现象到本质逐步深入。代码修改一定要经过严格的测试,特别是核心功能的修改。建立完善的监控和告警机制,及时发现问题。Java线上故障排查是一项复杂而又重要的工作,需要我们具备扎实的技术基础、丰富的实战经验和良好的心理素质。通过本文介绍的方法和工具,相信大家在遇到故障时能够更加从容应对。原创 2025-08-27 22:16:55 · 1366 阅读 · 0 评论 -
系统扛不住流量?这5个架构优化技巧让并发提升10倍!
系统架构优化是一个复杂的系统性工程,需要从多个维度进行考虑。通过合理使用缓存、优化数据库、实施服务降级与熔断、采用异步处理和资源隔离等策略,我们可以显著提升系统的并发能力,缓解流量压力。最后,架构优化没有银弹,适合自己业务的才是最好的。希望这篇文章能给大家带来一些启发,如果你有更好的优化经验,欢迎在评论区分享。关注「服务端技术精选」,获取更多技术干货。原创 2025-08-26 22:19:44 · 786 阅读 · 0 评论 -
分布式链路跟踪系统设计实战:从崩溃到透明的全链路监控之路
设计一个高性能、高可用的分布式链路跟踪系统,核心不是用多复杂的技术,而是理解业务需求,选择合适的技术方案,分层次解决问题。服务端技术精选。原创 2025-08-26 22:10:22 · 661 阅读 · 0 评论 -
敏感词过滤系统设计:从被封到稳如狗的实战指南
设计一个高性能、高可用的敏感词过滤系统,核心不是用多复杂的算法,而是理解业务需求,选择合适的技术方案,分层次解决问题。关注我,不迷路,持续分享后端技术干货。公众号:服务端技术精选。原创 2025-08-25 22:31:44 · 1033 阅读 · 0 评论 -
50万QPS未读消息系统设计:从崩溃到丝滑的实战之路
设计一个支持50万QPS的未读消息系统,核心不是用多高端的技术,而是理解业务特点,合理利用缓存、消息队列、分库分表等技术,分层次解决问题。关注我,不迷路,持续分享后端技术干货。公众号:服务端技术精选。原创 2025-08-25 22:23:07 · 815 阅读 · 0 评论 -
百万级Excel导入数据库慢到崩溃?这5个优化技巧让你10分钟搞定!
避免一次性加载:永远不要试图把整个Excel文件加载到内存中批量操作是王道:充分利用数据库的批量插入功能并行处理要合理:根据CPU核心数设置适当的线程数校验逻辑要优化:能批量校验就不要逐条校验,能内存校验就不要数据库校验临时表很有用:对于复杂数据转换,临时表策略往往能事半功倍监控和日志很重要:记录导入过程中的关键指标,便于后续优化写在最后,处理百万级Excel导入,关键是要解决内存溢出和性能瓶颈问题。希望今天分享的这些技巧和案例,能帮助大家在遇到类似需求时少走弯路。公众号:服务端技术精选声明。原创 2025-08-24 18:26:48 · 1330 阅读 · 0 评论 -
API响应慢到用户崩溃?这7个排查技巧让你10分钟定位问题!
预防胜于治疗:建立完善的监控体系,提前发现潜在问题。工具是效率的保障:熟练使用链路追踪、日志分析、性能监控等工具。关注核心指标:P95、P99响应时间比平均响应时间更能反映用户体验。不要忽略基础配置:线程池、连接池、数据库索引等基础配置往往是性能瓶颈。持续优化:性能优化不是一次性的,需要持续关注和改进。写在最后,排查API响应慢的问题,关键是要有清晰的思路和有效的工具。希望今天分享的这些技巧和案例,能帮助大家在遇到类似问题时,快速定位和解决。公众号:服务端技术精选声明:本文原创,转载请注明出处。原创 2025-08-24 18:21:36 · 1132 阅读 · 0 评论 -
微服务拆分别瞎搞!这5个黄金法则让你少走3年弯路
微服务拆分不是目的,而是手段。其核心是为了提升开发效率、增强系统扩展性。但拆分一定要遵循科学的方法,不能盲目跟风。记住这5个黄金法则:按业务域拆分、粒度适中、数据独立、通信轻量、循序渐进。相信能让你的微服务之旅少走很多弯路。如果你在微服务拆分中遇到了问题,欢迎关注公众号:服务端技术精选,在评论区留言讨论,咱们一起解决!原创 2025-08-23 17:48:35 · 790 阅读 · 0 评论 -
别让用户大海捞针!搜索引擎设计的4个核心秘密
搜索引擎设计是个技术活,但核心始终是“以用户为中心”。无论用多先进的技术,如果不能帮用户快速找到想要的信息,那都是花架子。希望今天的分享能给大家带来一些启发。如果你的系统也有搜索相关的痛点,欢迎关注公众号:服务端技术精选,在评论区留言讨论,咱们一起解决!原创 2025-08-23 17:43:51 · 766 阅读 · 0 评论 -
复杂系统必垮?因为你没做对分层设计!这3个案例告诉你答案
层与层之间通过接口通信,因此需要定义清晰的接口。接口应该稳定,不应该经常变化。如果接口发生变化,会影响到所有依赖这个接口的组件。分层设计是复杂系统架构设计的基础,它可以提高系统的解耦性、可维护性、可扩展性和可测试性。通过明确层次边界、定义清晰的接口和保持层的内聚性,我们可以设计出更加稳定、灵活、易于维护的系统。最后,送给大家一句话:“好的分层设计,就像好的骨架,能够支撑系统不断成长,而不会崩溃。原创 2025-08-21 22:34:41 · 1068 阅读 · 0 评论 -
秒杀系统设计终极指南:5个核心技术点让你扛住10万QPS
说起秒杀系统,大家肯定都不陌生。每年双11、618,各大电商平台的"1元秒杀"、"限量抢购"活动,都是典型的秒杀场景。但你知道吗?看似简单的秒杀背后,藏着无数后端工程师的血泪史。瞬时流量极大:平时可能只有几百QPS的接口,秒杀时会暴涨到10万甚至100万QPS库存极其有限:通常只有几十个或几百个库存,但可能有上万人同时抢购绝对不能超卖:多卖一个都是重大事故,轻则损失金钱,重则影响平台信誉我曾经参与过某电商平台的秒杀系统重构,当时因为经验不足,上线第一天就出现了超卖问题。原创 2025-08-21 22:27:42 · 1463 阅读 · 0 评论 -
数据库查询慢到崩溃?这7个优化技巧让系统快10倍!
数据库查询性能优化是一个永恒的话题,没有一劳永逸的解决方案。我们需要根据实际的业务场景和数据量,选择合适的优化策略。记住:性能优化是一个持续迭代的过程,需要不断地监控、分析和调整。最重要的是,始终把用户体验放在第一位。咱们下期见~原创 2025-08-20 22:30:26 · 1194 阅读 · 0 评论 -
高并发写入别再用MySQL!90%的人都踩过这个坑
关系数据库是个好东西,但不是万能的。在高并发写入场景下,我们需要根据数据的特点、业务的需求,选择合适的存储方案。记住:技术没有好坏之分,关键是看是否适合你的业务场景。在架构设计时,一定要保持开放的心态,不要被单一技术所限制。咱们下期见~原创 2025-08-20 22:23:59 · 774 阅读 · 0 评论 -
高并发库存抢购超卖问题终极解决方案:99%的人都踩过这些坑
解决高并发库存抢购超卖问题,靠的不是某一项黑科技,而是前端限流、Redis缓存、消息队列、数据库锁等技术的综合运用。记住:技术是为业务服务的。在设计架构时,要根据业务规模、用户量、并发量等因素选择合适的方案,不要盲目追求高大上的技术。咱们下期见~原创 2025-08-19 21:41:49 · 1113 阅读 · 0 评论 -
同城多活数据同步终极指南:99%的人不知道的机房容灾秘诀
实现同城多活数据同步,靠的不是某一项黑科技,而是网络优化、数据库复制、消息队列、冲突解决、监控告警等技术的综合运用。记住:同城多活不是目的,而是手段。其核心目标是提高系统的可用性和容灾能力,确保业务连续性。从单机房到同城多活,是一个渐进式的演进过程,需要根据业务发展阶段和技术能力逐步实现。咱们下期见~原创 2025-08-19 21:29:37 · 1006 阅读 · 0 评论 -
敏感数据加密平台设计实战:如何为你的系统打造安全“保险柜”
设计一个高性能、高可用、符合合规要求的敏感数据加密平台,靠的不是某一项技术,而是分层架构、密钥管理、性能优化、透明集成、审计监控等技术的综合运用。记住:数据安全不是选择题,而是必答题。从保护一条用户手机号开始,逐步构建完整的加密体系,最终你也能为系统打造一个坚不可摧的安全“保险柜”。咱们下期见~原创 2025-08-18 23:13:13 · 669 阅读 · 0 评论 -
10万QPS会员系统架构解密:从0到1搭建高并发会员体系
搭建10万QPS的高并发会员系统,靠的不是某一项黑科技,而是架构分层、缓存优化、数据库调优、异步处理、限流降级等技术的综合运用。记住:好的架构不是设计出来的,而是迭代出来的。从满足100QPS开始,逐步优化,最终你也能构建出支撑百万级流量的系统。咱们下期见~原创 2025-08-18 23:01:56 · 892 阅读 · 0 评论 -
用了分布式调度框架就高枕无忧?这7个坑90%的人都踩过!
说了这么多,想强调的是:分布式调度框架是个好东西,但它不是银弹。要想用好它,你必须深入理解业务需求,结合框架特点,解决好高可用、幂等性、任务依赖等关键问题。记住这7个坑,下次选型或使用分布式调度框架时,就能少走弯路,让你的定时任务系统既稳定又高效!咱们下期见~原创 2025-08-17 23:09:20 · 1510 阅读 · 0 评论 -
RocketMQ顺序消费总卡顿?4个实战技巧让性能飞起来!
队列拆分要合理:根据业务场景选择合适的分片键处理逻辑要高效:核心同步,非核心异步批量消费提效率:减少网络IO开销重试机制要智能:避免无效循环阻塞队列最后再提醒一句:顺序消费和高并发本来就是一对矛盾体,优化的关键是在两者之间找到平衡。没有银弹,只有适合自己业务场景的解决方案。咱们下期见~原创 2025-08-17 22:58:29 · 670 阅读 · 0 评论 -
别再乱选消息中间件了!这篇文章帮你对号入座
匹配你的实际业务场景。看吞吐量需求:高吞吐选Kafka/RocketMQ,低吞吐选RabbitMQ/ActiveMQ看延迟需求:低延迟选RabbitMQ,高延迟能接受选Kafka/RocketMQ看可靠性需求:高可靠选RabbitMQ(确认机制)/RocketMQ(同步刷盘)看团队能力:团队小选RabbitMQ,团队有经验选Kafka/RocketMQ最后记住:没有最好的消息中间件,只有最适合你业务场景的消息中间件。关注「服务端技术精选」,每周分享后端干货,让我们一起在技术的道路上越走越远。原创 2025-08-16 17:17:38 · 1402 阅读 · 0 评论 -
亿级用户LBS交友系统:从0到1设计地理空间算法(附Redis实战代码)
用户量 < 100万 → Redis GEO100万 ~ 1亿 → GeoHash+Redis缓存> 1亿 → 动态网格+内存计算最后:LBS算法的本质是空间换时间——用合理的索引策略减少计算量。关注「服务端技术精选」,每周分享后端干货,让我们一起在技术的道路上越走越远!原创 2025-08-16 17:17:01 · 537 阅读 · 0 评论 -
别再用哈希碰撞了!百亿级短URL的正确打开方式
设计一个支撑百亿级短URL的系统,核心不是用多复杂的算法,而是简单可靠的设计 +分布式架构精细化的运维。自增序列 + 基数转换虽然简单,但却是最可靠的方案;分布式ID生成器解决了单点问题;预生成策略提升了性能;而分层架构则保证了系统的可扩展性和高可用性。记住:好的系统设计不是追求技术的复杂性,而是用最简单的方法解决最核心的问题。咱们下期见~原创 2025-08-15 21:55:46 · 639 阅读 · 0 评论 -
10万QPS优惠券系统从0到1搭建:老司机拆解高并发架构的秘密武器
搭建10万QPS的高并发优惠券系统,靠的不是某一项黑科技,而是架构分层、缓存优化、数据库调优、异步处理、限流降级等技术的综合运用。记住:好的架构不是设计出来的,而是迭代出来的。从满足100QPS开始,逐步优化,最终你也能构建出支撑百万级流量的系统。咱们下期见~原创 2025-08-15 21:44:10 · 797 阅读 · 0 评论
分享