软件求生_个人页

个人头像照片 软件求生
个人头像照片
118
0
40

个人介绍

从事软件开发,分享包括但不限于“技术”、“运营”、“产品”等。

擅长的技术

  • Java
  • 项目管理
  • 设计模式
  • 微服务
  • 敏捷开发
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2024年09月

  • 09.30 10:11:46
    发表了文章 2024-09-30 10:11:46

    手把手教你搭建物联网平台,轻松实现远程设备管理

    嘿,大家好!我是技术小伙伴小米,今天分享的主题是“物联网平台接入”。在这个万物互联的时代,智能设备如雨后春笋般涌现。我们将探讨如何通过物联网平台实现设备远程控制,包括设备数据的上行和指令的下行。上行数据链路涉及设备通过MQTT协议上报数据至平台,并通过消息队列转发至业务系统;下行指令链路则是业务系统通过API调用云端服务,将控制指令下发给设备。整个过程高效便捷,让你轻松掌握物联网技术的核心流程。
  • 09.29 10:16:33
    发表了文章 2024-09-29 10:16:33

    社交应用性能提升秘籍:推拉结合优化方案全解读!

    大家好,我是小米,一名热爱技术分享的29岁程序员。本文将介绍我在个人项目中遇到的优化案例——“推拉结合”,解决用户在线状态管理和消息推送机制的问题。通过推拉结合策略,我们优化了用户体验并减轻了系统负担。希望对遇到类似挑战的开发者有所启发。欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
  • 09.27 16:50:02
    发布了视频 2024-09-27 16:50:02

    如何确保单聊消息100%送达?揭秘消息可靠传输的核心机制!

    如何确保单聊消息100%送达?揭秘消息可靠传输的核心机制!
  • 09.27 11:16:25
    发表了文章 2024-09-27 11:16:25

    微信也在用的消息时序性技术,你知道多少?

    本文由程序员小米撰写,探讨了在个人项目中如何保证消息的时序性。文章详细介绍了消息时序性的概念及其重要性,并提出了三种方案:ID设计(借鉴微信号段与跳跃式生成)、单聊场景下的单点序列化同步,以及群聊场景中的单点序列化处理。此外,还提供了多种优化方法,如消息时序对齐、本地时序记录等,帮助读者更好地解决消息乱序问题。适合所有关心即时通讯和社交应用技术细节的开发者阅读。
  • 09.25 11:28:48
    发表了文章 2024-09-25 11:28:48

    如何确保单聊消息100%送达?揭秘消息可靠传输的核心机制!

    哈喽,大家好!我是技术好朋友小米,今天聊聊单聊消息的可靠传输。通过TCP的超时、重传、确认机制,结合去重和离线消息优化,我们可以设计出高效、可靠的消息传输系统。希望今天的分享能给大家带来帮助!如果有问题,欢迎留言交流。
  • 09.23 10:34:42
    发布了视频 2024-09-23 10:34:42

    秒杀系统优化:用解耦提升系统性能的秘诀!

    秒杀系统优化:用解耦提升系统性能的秘诀!
  • 09.23 10:12:40
    发表了文章 2024-09-23 10:12:40

    Redis Sentinel:秒杀系统背后的可靠性保障神器!

    本文详细介绍了如何在个人项目中利用 Redis 哨兵模式保障系统的可靠性与高可用性。哨兵模式通过监控主从服务器状态、自动故障转移和通知客户端等功能,确保在主服务器宕机时系统仍能正常运行。适用于读请求多于写请求的场景,如秒杀系统,能有效缓解数据库压力。同时也探讨了哨兵模式在高并发场景下的优化方法及潜在缺陷,帮助开发者更好地应用该模式。
  • 09.22 09:55:28
    发布了视频 2024-09-22 09:55:28

    算法实战:手写归并排序,让复杂排序变简单!

    算法实战:手写归并排序,让复杂排序变简单!
  • 09.22 09:41:13
    发表了文章 2024-09-22 09:41:13

    项目实战:一步步实现高效缓存与数据库的数据一致性方案

    Hello,大家好!我是热爱分享技术的小米。今天探讨在个人项目中如何保证数据一致性,尤其是在缓存与数据库同步时面临的挑战。文中介绍了常见的CacheAside模式,以及结合消息队列和请求串行化的方法,确保数据一致性。通过不同方案的分析,希望能给大家带来启发。如果你对这些技术感兴趣,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
  • 09.20 09:58:19
    发表了文章 2024-09-20 09:58:19

    秒杀系统优化:用解耦提升系统性能的秘诀!

    大家好,我是小米,一个热爱分享技术经验的29岁程序员。本文主要探讨了解耦的概念及其在秒杀系统中的应用,特别是如何通过解耦提升系统的扩展性和容错能力。文中对比了HTTP/RPC同步调用和消息队列两种方式,分析了各自的优缺点及适用场景,帮助大家更好地选择合适的解耦方案。希望本文能让大家对解耦有更深入的理解。
  • 09.19 10:47:29
    发表了文章 2024-09-19 10:47:29

    抢购不再卡顿!揭秘异步处理如何优化秒杀流程!

    本文由程序员小米分享,详细介绍了如何通过异步处理简化秒杀请求中的业务流程,提高系统效率与稳定性。主要内容包括秒杀场景的挑战、核心思路、核心业务(生成订单、扣减库存)及次要业务(发放优惠券、增加积分)的异步处理方法,并探讨了使用消息队列的优势及优化用户体验的策略。通过异步处理,系统能更好地应对高并发请求,提升响应速度和稳定性。
  • 09.19 10:30:40
    发布了视频 2024-09-19 10:30:40

    手写快排:教你用Java写出高效排序算法!

    手写快排:教你用Java写出高效排序算法!
  • 09.18 14:22:38
    发表了文章 2024-09-18 14:22:38

    高并发流量杀手锏:揭秘秒杀系统背后的削峰技术!

    本文介绍了秒杀场景下的“削峰填谷”策略,通过消息队列缓冲用户请求,避免高并发对系统造成冲击。文中详细解释了消息队列的工作原理及如何通过预扣减库存和分布式锁确保数据一致性,同时还提出了合理的消息队列配置、高可用性及数据库负载均衡等最佳实践。通过这些技术手段,可有效提升系统的稳定性和用户体验。
  • 09.18 11:24:41
    发布了视频 2024-09-18 11:24:41

    抢红包必看!算法决定你的红包大小

    抢红包必看!算法决定你的红包大小
  • 09.14 11:12:10
    发布了视频 2024-09-14 11:12:10

    挑战1G内存!如何在千万记录中找到最热TOP10查询串?

    挑战1G内存!如何在千万记录中找到最热TOP10查询串?
  • 09.14 10:27:12
    发表了文章 2024-09-14 10:27:12

    高并发下的生存之道:如何巧妙化解热Key危机?

    本文详细探讨了互联网高并发场景下的热Key问题及其解决方案。热Key即因频繁访问导致缓存压力激增,影响系统稳定性。作者小米介绍了多种应对策略,包括Redis集群、主从复制、本地缓存、限流及Key加随机值等技术手段,旨在帮助读者有效分散负载,确保服务稳定。此外,还提供了兜底逻辑如降级处理和预热机制,以应对突发流量。希望本文能帮助大家更好地理解和解决热Key问题。
  • 09.13 10:05:25
    发布了视频 2024-09-13 10:05:25

    实战算法篇:设计短域名系统,将长URL转化成短的URL.

    实战算法篇:设计短域名系统,将长URL转化成短的URL.
  • 09.13 09:49:09
    发表了文章 2024-09-13 09:49:09

    开发故事:一个 @Async 如何搞瘫整个微服务系统

    大家好,我是小米,一个热爱分享技术的29岁开发者。本文讲述了一个困扰我们团队的开发环境问题,最终发现罪魁祸首竟是 `@Async` 注解。我们通过详细分析错误日志和 Spring 的 Bean 代理机制,逐步排查并解决了这一难题。文章介绍了三种解决方案:调整依赖结构、使用 `@Lazy` 延迟加载以及禁用 `@Async` 的代理功能。希望对你有所帮助!欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
  • 09.05 10:11:36
    发布了视频 2024-09-05 10:11:36

    从海量数据中挖出TOP100热词,这个算法太绝了!

    从海量数据中挖出TOP100热词,这个算法太绝了!
  • 09.05 09:54:52
    发表了文章 2024-09-05 09:54:52

    昵称重复怎么办?一招教你轻松搞定!

    本文介绍了如何使用布隆过滤器高效管理用户昵称重复问题。在互联网项目中,确保昵称唯一性至关重要,可避免混淆、增强安全性和保持数据一致性。布隆过滤器通过哈希函数和位数组实现快速查询,具有低内存占用和高速查询的优点。文中详细解释了其工作原理,并提供了Java代码示例,帮助读者理解和应用这一技术,提升项目性能。
  • 09.02 10:57:21
    发布了视频 2024-09-02 10:57:21

    算法实战:快速找到100亿个URL中的重复项!

    算法实战:快速找到100亿个URL中的重复项!
  • 09.02 10:43:37
    发表了文章 2024-09-02 10:43:37

    秒解答题系统的头号难题:防止重复提交的终极指南!

    小米,29岁技术爱好者,分享如何用Redis解决重复答题问题。在线考试系统常遇用户重复提交答案,导致数据异常。本文介绍利用Redis分布式锁特性防止重复提交,包括SETNX命令及Lua脚本实现方法,确保高并发下系统稳定可靠。适合线上考试或答题系统开发者参考。

2024年08月

  • 08.30 11:05:36
    发布了视频 2024-08-30 11:05:36

    极限挑战:40亿个非负整数中找到没有出现的数(bit数组)

    极限挑战:40亿个非负整数中找到没有出现的数(bit数组)
  • 08.30 10:33:33
    发表了文章 2024-08-30 10:33:33

    升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置

    本文详细介绍了如何在微服务环境下从 Nacos 1.3.0 升级到 2.3.0,并确保 Seata 各版本的兼容性。作者小米分享了升级过程中的关键步骤,包括备份配置、更新鉴权信息及验证测试等,并解答了常见问题。通过这些步骤,可以帮助读者顺利完成升级并提高系统的安全性与一致性。
  • 08.29 10:55:00
    发表了文章 2024-08-29 10:55:00

    排行榜系统设计:高并发场景下的最佳实践

    本文由技术分享者小米带来,详细介绍了如何设计一个高效、稳定且易扩展的排行榜系统。内容涵盖项目背景、技术选型、数据结构设计、基本操作实现、分页显示、持久化与数据恢复,以及高并发下的性能优化策略。通过Redis与MySQL的结合,确保了排行榜的实时性和可靠性。适合对排行榜设计感兴趣的技术人员参考学习。
  • 08.28 11:30:52
    发表了文章 2024-08-28 11:30:52

    三种方法教你实现多线程交替打印ABC,干货满满!

    本文介绍了多线程编程中的经典问题——多线程交替打印ABC。通过三种方法实现:使用`wait()`和`notify()`、`ReentrantLock`与`Condition`、以及`Semaphore`。每种方法详细讲解了实现步骤和代码示例,帮助读者理解和掌握线程间的同步与互斥,有效解决并发问题。适合不同层次的开发者学习参考。
  • 08.27 13:58:40
    发表了文章 2024-08-27 13:58:40

    从基础到实战:如何用 Java 手写一个阻塞队列?

    大家好,我是小米!今天分享手写阻塞队列(Blocking Queue)教程,深入讲解并发编程中的 wait() 和 notifyAll() 机制,通过代码实战,让你轻松掌握生产者-消费者模型中的阻塞队列实现!
  • 08.24 10:00:56
    发布了视频 2024-08-24 10:00:56

    深入剖析操作系统死锁:不可不知的四大条件!

    深入剖析操作系统死锁:不可不知的四大条件!
  • 08.24 09:39:49
    发表了文章 2024-08-24 09:39:49

    缓存优化利器:5分钟实现 LRU Cache,从原理到代码!

    嗨,大家好!我是你们的技术小伙伴——小米。今天带大家深入了解并手写一个实用的LRU Cache(最近最少使用缓存)。LRU Cache是一种高效的数据淘汰策略,在内存有限的情况下特别有用。本文将从原理讲起,带你一步步用Java实现一个简单的LRU Cache,并探讨其在真实场景中的应用与优化方案,如线程安全、缓存持久化等。无论你是初学者还是有一定经验的开发者,都能从中受益。让我们一起动手,探索LRU Cache的魅力吧!别忘了点赞、转发和收藏哦~
  • 08.22 14:34:57
    发表了文章 2024-08-22 14:34:57

    堆排序实战:轻松实现高效排序,附详细Java代码

    嗨,大家好!我是小米,一名热爱技术分享的程序员。今天要带大家了解堆排序——一种基于二叉堆的数据结构,具有O(n log n)时间复杂度的选择排序算法。堆排序分为构建大顶堆和排序两个阶段:先建堆使根节点为最大值,再通过交换根节点与末尾节点并调整堆来逐步排序。它稳定高效,空间复杂度仅O(1),适合对稳定性要求高的场合。虽然不如快速排序快,但在避免递归和节省空间方面有优势。一起动手实现吧!如果有任何疑问,欢迎留言交流!
  • 08.21 10:21:36
    发布了视频 2024-08-21 10:21:36

    四大内存区域揭秘:你真的了解你的程序吗?

    四大内存区域揭秘:你真的了解你的程序吗?
  • 08.21 10:04:30
    发表了文章 2024-08-21 10:04:30

    算法实战:手写归并排序,让复杂排序变简单!

    归并排序是一种基于“分治法”的经典算法,通过递归分割和合并数组,实现O(n log n)的高效排序。本文将通过Java手写代码,详细讲解归并排序的原理及实现,帮助你快速掌握这一实用算法。
  • 08.20 13:53:13
    发表了文章 2024-08-20 13:53:13

    手写快排:教你用Java写出高效排序算法!

    快速排序(QuickSort)是经典的排序算法之一,基于分治思想,平均时间复杂度为O(n log n),广泛应用于各种场合。在这篇文章中,我们将手写一个Java版本的快速排序,从基础实现到优化策略,并逐步解析代码背后的逻辑。
  • 08.19 14:09:12
    发表了文章 2024-08-19 14:09:12

    抢红包必看!算法决定你的红包大小

    嗨,大家好!我是小米,热爱分享的技术程序员。今天聊聊红包算法——在保证公平、随机与乐趣的同时,如何巧妙分配红包金额。主要分为线性切割法与二倍均值法。前者通过随机切割区间,后者则确保金额在一定范围内随机,使分配更均匀。两种方法各有千秋,适用于不同场合,希望能给你带来灵感!
  • 08.19 11:18:52
    发布了视频 2024-08-19 11:18:52

    探索操作系统的核心:用户态与核心态的深度解析

    探索操作系统的核心:用户态与核心态的深度解析
  • 08.16 13:51:47
    发表了文章 2024-08-16 13:51:47

    Redis助力高并发网站:在线用户统计不再是难题!

    小米带你了解如何使用Redis高效统计网站的在线与并发用户数。通过维护用户的活跃时间,利用Redis有序集合(Sorted Set)特性,可实时更新在线用户列表并统计数量。具体实现包括记录用户上线时间、定期清理离线用户及统计特定时间窗口内的活跃用户数。这种方法适用于高并发场景,保证统计结果的实时性和准确性。跟着小米一起探索Redis的强大功能吧!
  • 08.15 15:44:48
    发表了文章 2024-08-15 15:44:48

    评论系统如何不崩溃?揭开海量评论背后的技术秘密

    小米介绍了一种高效处理海量新闻评论的技术方案。面对突发新闻带来的评论潮,通过采用消息队列异步入库、读写分离以及热点缓存等技术,不仅能有效减轻数据库压力,还能保证用户快速查看最新评论。消息队列如Kafka或RabbitMQ可缓存评论请求,后台异步处理入库,避免数据库过载。读写分离则通过主从数据库架构分散读取负载,配合热点评论的缓存机制进一步提升访问速度。这套架构确保了系统的稳定性和响应速度,适用于高并发的评论处理场景。
  • 08.14 15:39:07
    发布了视频 2024-08-14 15:39:07

    从零开始掌握进程间通信:管道、信号、消息队列、共享内存大揭秘

    从零开始掌握进程间通信:管道、信号、消息队列、共享内存大揭秘
  • 08.14 09:55:58
    发表了文章 2024-08-14 09:55:58

    实战算法篇:设计短域名系统,将长URL转化成短的URL.

    小米介绍了一种实用的短域名系统设计,用于将冗长的URL转化为简短链接。短链接不仅节省空间,便于分享,还能支持数据分析。系统通过唯一编号结合62进制转换生成短标识,并利用如Redis这样的数据库存储长链接与短标识的映射关系。最后,通过302重定向实现用户访问时的长链接恢复。这一方案适用于多种场景,有效提升用户体验与数据追踪能力。
  • 08.13 10:23:21
    发布了视频 2024-08-13 10:23:21

    如何区分进程、线程和协程?看这篇就够了!

    如何区分进程、线程和协程?看这篇就够了!
  • 08.13 10:10:33
    发表了文章 2024-08-13 10:10:33

    仅用10MB内存,你能从100亿个数中找到中位数吗?

    大家好,我是小米,一名热爱技术分享的程序员。今天探讨如何在内存有限(仅10MB)时找到100亿个整数的中位数。面对庞大的数据量(约400GB)及内存限制,我们将采用分治策略:先依据整数的最高二进制位将数据分为非负数与负数两个文件,逐步缩小范围直至能在内存中处理。当内存充足时,可直接加载所有数据并排序找到中位数。这一问题不仅考验算法能力,也是处理大数据时资源管理的关键。
  • 08.12 11:20:11
    发表了文章 2024-08-12 11:20:11

    从海量数据中挖出TOP100热词,这个算法太绝了!

    小米,一位热爱技术的29岁程序员,今天探讨如何在海量搜索词汇中找出最热的TOP100词汇。面对包含数百亿词汇的大文件,小米介绍了一种实用的方法:通过哈希分流将大文件拆分成小文件,接着利用哈希表统计词频,并运用小根堆选出每个小文件的TOP100词汇。最后通过外排序或再次使用小根堆选出全局TOP100。此外还提出了并行处理、内存优化及数据压缩等优化手段。这一系列技巧能有效应对大数据处理挑战。
  • 08.09 10:34:41
    发布了视频 2024-08-09 10:34:41

    一步步揭秘:浏览器输入URL后的那些事儿

    一步步揭秘:浏览器输入URL后的那些事儿
  • 08.09 10:06:02
    发表了文章 2024-08-09 10:06:02

    极限挑战:40亿个非负整数中找到没有出现的数(bit数组)

    大家好!我是小米,一名热衷于技术分享的29岁程序员。今天探讨的问题是在40亿个非负整数中找到未出现的数字。直接使用哈希表因内存限制而不可行。本文提出了一种解决方案——利用bit数组。通过标记出现过的数字,最终找出未被标记的位置所对应的数字即为答案。对于更严格的内存限制(如10MB),文章还介绍了分块处理的方法,先统计每个区间的数字数量,找到计数不足的区间后再精确处理。这种算法不仅展示了巧妙利用有限资源的能力,也为实际工程问题提供了解决思路。希望各位读者能从中受益,享受编程带来的乐趣!
  • 08.08 16:55:26
    发表了文章 2024-08-08 16:55:26

    小米教你:2GB内存搞定20亿数据的高效算法

    你好,我是小米。本文介绍如何在2GB内存中找出20亿个整数里出现次数最多的数。通过将数据用哈希函数分至16个小文件,每份独立计数后选出频次最高的数,最终比对得出结果。这种方法有效解决大数据下的内存限制问题,并可应用于更广泛的场景。欢迎关注我的公众号“软件求生”,获取更多技术分享!
  • 08.07 10:09:09
    发表了文章 2024-08-07 10:09:09

    布隆过滤器揭秘:让URL黑名单存储从640GB缩小到35.88GB!

    嗨,我是小米,热衷技术分享。今天探讨利用布隆过滤器处理100亿URL黑名单的高效存储与查询问题。传统散列表需640GB内存,而布隆过滤器仅占35.88GB,误判率0.01%,极大节省资源。通过计算位数组长度与哈希函数数量,实现高效查询。我还将分享其实现代码。希望对你有所帮助!
  • 08.06 09:59:47
    发表了文章 2024-08-06 09:59:47

    深入剖析操作系统死锁:不可不知的四大条件!

    大家好,我是小米。今天探讨操作系统中的死锁问题——两个或更多进程因争夺资源陷入相互等待的状态。死锁有四个必要条件:互斥、请求与保持、非剥夺及循环等待。解决策略包括:使用乐观锁破坏互斥条件;资源一次性分配避免请求与保持;允许资源剥夺;以及采用资源有序分配法消除循环等待。通过这些方法,可以有效预防和解决死锁,提升系统稳定性和效率。希望本文能帮助你更好地理解并处理死锁问题!
  • 08.05 10:50:03
    发布了视频 2024-08-05 10:50:03

    重定向和转发到底有啥区别?看这篇就够了!

    重定向和转发到底有啥区别?看这篇就够了!
  • 08.05 10:37:46
    发表了文章 2024-08-05 10:37:46

    理解操作系统内存管理:页面置换算法全解析

    大家好,我是小米,热爱分享技术的大哥哥!今天聊的是操作系统中的页面置换算法。它解决的是内存满载时,如何选择合适的页面移出以腾出空间的问题。主要有三种算法:FIFO(先进先出),简单但性能不佳;LRU(最近最久未使用),考虑时间局部性,性能较好但实现较复杂;OPT(最佳置换),理论上最优但无法实际应用。这些算法各有千秋,在实际应用中需根据场景选择最合适的方案。希望这能帮大家更好地理解内存管理的核心机制!
  • 08.02 10:32:21
    发布了视频 2024-08-02 10:32:21

    HTTP和HTTPS的区别,你真的了解吗?

    HTTP和HTTPS的区别,你真的了解吗?
  • 发表了文章 2024-09-30

    手把手教你搭建物联网平台,轻松实现远程设备管理

  • 发表了文章 2024-09-29

    社交应用性能提升秘籍:推拉结合优化方案全解读!

  • 发表了文章 2024-09-27

    微信也在用的消息时序性技术,你知道多少?

  • 发表了文章 2024-09-25

    如何确保单聊消息100%送达?揭秘消息可靠传输的核心机制!

  • 发表了文章 2024-09-23

    Redis Sentinel:秒杀系统背后的可靠性保障神器!

  • 发表了文章 2024-09-22

    项目实战:一步步实现高效缓存与数据库的数据一致性方案

  • 发表了文章 2024-09-20

    秒杀系统优化:用解耦提升系统性能的秘诀!

  • 发表了文章 2024-09-19

    抢购不再卡顿!揭秘异步处理如何优化秒杀流程!

  • 发表了文章 2024-09-18

    高并发流量杀手锏:揭秘秒杀系统背后的削峰技术!

  • 发表了文章 2024-09-14

    高并发下的生存之道:如何巧妙化解热Key危机?

  • 发表了文章 2024-09-13

    开发故事:一个 @Async 如何搞瘫整个微服务系统

  • 发表了文章 2024-09-05

    昵称重复怎么办?一招教你轻松搞定!

  • 发表了文章 2024-09-02

    秒解答题系统的头号难题:防止重复提交的终极指南!

  • 发表了文章 2024-08-30

    升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置

  • 发表了文章 2024-08-29

    排行榜系统设计:高并发场景下的最佳实践

  • 发表了文章 2024-08-28

    三种方法教你实现多线程交替打印ABC,干货满满!

  • 发表了文章 2024-08-27

    从基础到实战:如何用 Java 手写一个阻塞队列?

  • 发表了文章 2024-08-24

    缓存优化利器:5分钟实现 LRU Cache,从原理到代码!

  • 发表了文章 2024-08-22

    堆排序实战:轻松实现高效排序,附详细Java代码

  • 发表了文章 2024-08-21

    算法实战:手写归并排序,让复杂排序变简单!

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
滑动查看更多