_Rye_
码龄8年
关注
提问 私信
  • 博客:1,704,763
    动态:90
    1,704,853
    总访问量
  • 2,228
    原创
  • 3,373
    排名
  • 16,304
    粉丝
  • 学习成就

个人简介:左手代码右手诗 一行代码一行诗

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2017-03-04
博客简介:

qq_37756660的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    8
    当前总分
    5,002
    当月
    6
个人成就
  • 获得29,388次点赞
  • 内容获得33次评论
  • 获得29,425次收藏
  • 代码片获得3,140次分享
创作历程
  • 1251篇
    2024年
  • 931篇
    2023年
  • 46篇
    2022年
成就勋章
TA的专栏
  • AI大模型
    29篇
  • Android 开发
    19篇
  • C++实战笔记
    26篇
  • 大规模数据处理
    42篇
  • 技术管理2
    37篇
  • 元宇宙
    13篇
  • 前端
    54篇
  • python自动化
    36篇
  • Java 核心技术
    41篇
  • 技术管理
    37篇
  • Kafka 核心技术
    45篇
  • 编译原理之美
    41篇
  • 数学基础
    56篇
  • 编程入门
    35篇
  • 性能工程实战
    33篇
  • 面试现场
    39篇
  • 程序员工作法
    55篇
  • 软件设计之美
    36篇
  • 性能测试
    33篇
  • 全栈工程师修炼
    45篇
  • 搭建直播视频平台
  • 分布式协议与算法
    28篇
  • 即时消息技术
    23篇
  • Redis核心技术
    49篇
  • 秒杀系统设计
    9篇
  • 云计算
    18篇
  • 程序员进阶攻略
    65篇
  • 消息队列
    39篇
  • 计算机组成原理
    56篇
  • 代码精进之路
    46篇
  • 动态规划面试
    20篇
  • 系统性能调优
    41篇
  • 架构实战案例
    21篇
  • Go语言
    50篇
  • eBPF 核心技术
  • 架构2
    80篇
  • C++数据结构与算法
  • 微服务
    39篇
  • 推荐系统
    36篇
  • OAuth 2.0
    15篇
  • 后端存储
    27篇
  • python核心技术
    32篇
  • 深入剖析 Kubernetes
    52篇
  • 分布式技术原理与算法
    35篇
  • RPC 实战与核心原理
    27篇
  • Linux內核技术
    21篇
  • 后端技术面试
    44篇
  • 大数据
    41篇
  • 游戏开发
    37篇
  • HTTP
    40篇
  • 机器学习
    43篇
  • 架构
    51篇
  • 网络编程
    36篇
  • 视频技术
    6篇
  • 密码学
    20篇
  • Linux性能优化
    58篇
  • 操作系统实战
    5篇
  • c++
    34篇
  • 敏捷
    10篇
  • 高并发系统设计
    38篇
  • 音视频入门
  • Linux操作系统
    66篇
  • C语言
    31篇
  • 网络排查案例
    5篇
  • 音频技术
    16篇
  • 网络协议
    46篇
兴趣领域 设置
  • 数据结构与算法
    算法
  • 人工智能
    语音识别深度学习自然语言处理语言模型nlp
  • 网络与通信
    网络协议tcp/ip
  • 硬件开发
    驱动开发
  • 操作系统
    linux
  • 音视频
    音视频
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

346人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

16 | 网络优化(中):复杂多变的移动网络该如何优化?

移动技术发展到今天,跨终端和跨技术栈的联合优化会变得越来越普遍。有的时候我们需要跳出客户端开发的视角,从更高的维度去思考整个大网络平台。当然网络优化的水还是非常深的,有时候我们需要对协议层也有比较深入的研究,也要经常关注国外的一些新的研究成果。2018 年随着工信部发布《推进互联网协议第六版(IPv6)规模部署行动计划》的通知,所有的云提供商需要在 2020 年完成 IPv6 的支持。
原创
发布博客 2024.08.28 ·
1048 阅读 ·
24 点赞 ·
0 评论 ·
18 收藏

15 | 网络优化(上):移动开发工程师必备的网络优化知识

从网络通信发展的历程来说,从 2G 到 4G 经历了十几年的时间,这背后离不开几百万个基站、几亿个路由器以及各种各样的专利支持。虽然网络标准不停地演进,不过受限于基建,它的速度看起来很快,但是又很慢。那对我们自己或者应用会有哪些思考呢?HTTP 2.0、HTTP 3.0(QUIC)等网络技术一直在向前演进,我们需要坚持不懈地学习,思考它们对我们可以产生哪些影响,这是对网络“快”的思考。
原创
发布博客 2024.08.23 ·
913 阅读 ·
10 点赞 ·
0 评论 ·
29 收藏

14 | 存储优化(下):数据库SQLite的使用和优化

数据库存储是一个开发人员的基本功,清楚 SQLite 的底层机制对我们的工作会有很大的指导意义。掌握了 SQLite 数据库并发的机制,在某些时候我们可以更好地决策应该拆数据表还是拆数据库。新建一个数据库好处是可以隔离其他库并发或者损坏的情况,而坏处是数据库初始化耗时以及更多内存的占用。一般来说,单独的业务都会使用独立数据库,例如专门的下载数据库、朋友圈数据库、聊天数据库。但是数据库也不宜太多,我们可以有一个公共数据库,用来存放一些相对不是太大的数据。
原创
发布博客 2024.08.21 ·
927 阅读 ·
8 点赞 ·
0 评论 ·
22 收藏

13 | 存储优化(中):如何优化数据存储?

对于优化存储来说,不同的应用关注点可能不太一样。对小应用来说,可能开发成本是最重要的,我们希望开发效率优先;对于成熟的应用来说,性能会更加重要。因此选择什么样的存储方案,需要结合应用所处的阶段以及使用场景具体问题具体分析。无论是优化某个存储方案的性能,还是应用整体的 ROM 存储,我们可能对存储监控关注比较少。而如果这块出现问题,对用户的体验影响还是非常大的。例如我们知道微信占用的 ROM 空间确实不小,为了解决这个问题,特别推出了空间清理的功能,而且在 ROM 空间不足等场景,会弹框提示用户操作。
原创
发布博客 2024.08.20 ·
891 阅读 ·
30 点赞 ·
0 评论 ·
29 收藏

12 | 存储优化(上):常见的数据存储方法有哪些?

虽然 SharedPreferences 和 ContentProvider 都是我们日常经常使用的存储方法,但是里面的确会有大大小小的暗坑。所以我们需要充分了解它们的优缺点,这样在工作中可以更好地使用和优化。如何在合适的场景选择合适的存储方法是存储优化的必修课,你应该学会通过正确性、时间开销、空间开销、安全、开发成本以及兼容性这六大关键要素来分解某个存储方法。
原创
发布博客 2024.08.20 ·
904 阅读 ·
13 点赞 ·
0 评论 ·
10 收藏

11 | I/O优化(下):如何监控线上I/O操作?

今天我们学习了如何在应用层面监控 I/O 的使用情况,从实现上尝试了 Java Hook 和 Native Hook 两种方案,最终考虑到性能和兼容性,选择了 Native Hook 方案。对于 Hook 方案的选择,在同等条件下我会优先选择 Java Hook 方案。但无论采用哪种 Hook 方案,我们都需要耐心地查看源码、分析调用流程,从而寻找可以利用的地方。
原创
发布博客 2024.08.19 ·
780 阅读 ·
21 点赞 ·
0 评论 ·
18 收藏

10 | I/O优化(中):不同I/O方式的使用场景是什么?

在性能优化的过程中,我们通常关注最多的是 CPU 和内存,但其实 I/O 也是性能优化中比较重要的一部分。今天我们首先学习了 I/O 整个流程,它包括应用程序、文件系统和磁盘三部分。接着我介绍了多线程同步 I/O、异步 I/O 和 mmap 这几种 I/O 方式的差异,以及它们在实际工作中适用的场景。无论是文件系统还是磁盘,涉及的细节都非常多。而且随着技术的发展,有些设计就变得过时了,比如 FAT32 在设计的时候,当时认为单个文件不太可能超过 4GB。
原创
发布博客 2024.08.19 ·
888 阅读 ·
35 点赞 ·
0 评论 ·
12 收藏

09 | I/O优化(上):开发工程师必备的I/O优化知识

在性能优化的过程中,我们关注最多的是 CPU 和内存,I/O 也是性能优化中比较重要的一部分。今天我们学习 I/O 处理的整个流程,它包括应用程序、文件系统和磁盘三个部分。不过 I/O 这个话题真的很大,在课后需要花更多时间学习课后练习中的一些参考资料。LPDDR5、UFS 3.0 在 2019 年面世,有些同学会想,随着硬件越来越牛,我们根本就不需要去做优化了。但是一方面考虑到成本的问题,在嵌入式、IoT 等一些场景的设备硬件不会太好;
原创
发布博客 2024.08.12 ·
876 阅读 ·
24 点赞 ·
0 评论 ·
13 收藏

08 | 启动优化(下):优化启动速度的进阶方法

今天我们学习了一些与业务无关的启动优化方法,可以进一步减少启动耗时,特别是减少磁盘 I/O 可能带来的波动。然后我们探讨了一些黑科技对启动的影响,对于黑科技我们需要两面看,在选择时也要慎重。最后我们探讨了如何在实验室和线上更好地测量和监控启动速度。启动优化需要耐得住寂寞,把整个流程摸清摸透,一点点把时间抠出来,特别是对于低端机和系统繁忙的场景。而数据重排的优化,对我有非常大的启发,帮助我开发了一个新的方向。也让我明白了,当我们足够熟悉底层的知识时,可以利用系统的特性去做更加深层次的优化。
原创
发布博客 2024.08.09 ·
789 阅读 ·
27 点赞 ·
0 评论 ·
29 收藏

07 | 启动优化(上):从启动过程看启动速度优化

今天我们首先学习了启动的整个流程,其中比较关键的是 4 个阶段。在这 4 个阶段中,用户可能会出现“点击图标很久都不响应“”首页显示太慢“和”首页显示后无法操作“这 3 个问题。接着我们学习了启动优化和监控的一些常规方法。针对不同的业务场景、不同性能的机器,需要采用不同的策略。有些知识点似乎比较“浅尝辄止”,我更希望你能够通过学习和实践将它们丰富起来。我讲到的大部分内容都是跟业务相关,业务的梳理和优化也是最快出成果的。
原创
发布博客 2024.08.09 ·
627 阅读 ·
7 点赞 ·
0 评论 ·
19 收藏

06补充篇 | 卡顿优化:卡顿现场与卡顿分析

今天我们从一个简单的卡顿问题出发,一步一步演进出解决这个问题的三种思路。其中 Java 实现的方案是大部分同学首先想到的方案,它虽然简单稳定,不过存在信息不全、性能差等问题。可能很多同学认为问题可以解决就算万事大吉了,但我并不这样认为。我们应该继续敲问自己,如果再出现类似的问题,我们是否也可以采用相同的方法去解决?这个方案的代价对用户会带来多大的影响,是否还有优化的空间?只有这样,才会出现文中的方案二和方案三,解决方案才会一直向前演进,做得越来越好。也只有这样,我们才能在追求卓越的过程中快速进步。
原创
发布博客 2024.08.07 ·
1081 阅读 ·
15 点赞 ·
0 评论 ·
24 收藏

06 | 卡顿优化(下):如何监控应用卡顿?

今天我们学习了卡顿监控的几种方法。随着技术的深入,我们发现了旧方案的一些缺点,通过不断地迭代和演进,寻找更好的方案。Facebook 的 Profilo 实现了快速获取 Java 堆栈,其实它参考的是 JVM 的 AsyncGetCallTrace 思路,然后适配 Android Runtime 的实现。systrace 使用的是 Linux 的 ftrace,Simpleperf 参考了 Linux 的 perf 工具。
原创
发布博客 2024.08.05 ·
1359 阅读 ·
30 点赞 ·
0 评论 ·
25 收藏

05 | 卡顿优化(上):你要掌握的卡顿分析方法

在写今天的文章,也就是分析卡顿的基础知识和四种 Android 卡顿排查工具时,越发觉得底层基础知识的重要性。Android 底层基于 Linux 内核,像 systrace、Simpleperf 也是利用 Linux 提供的机制实现,因此学习一些 Linux 的基础知识,对于理解这些工具的工作原理以及排查性能问题,都有很大帮助。另一方面,虽然很多大厂有专门的性能优化团队,但我觉得鼓励和培养团队里的每一个人都去关注性能问题更加重要。我们在使用性能工具的同时,要学会思考,应该知道它们的原理和局限性。
原创
发布博客 2024.07.31 ·
1219 阅读 ·
23 点赞 ·
0 评论 ·
28 收藏

04 | 内存优化(下):内存优化这件事,应该从哪里着手?

在具体进行内容优化前,我们首先要问清楚自己几个问题,比如我们要优化到什么目标、内存对我们造成了多少异常和卡顿。只有在明确了应用的现状和优化目标后,我们才能去进行下一步的操作。在探讨了内存优化的思路时,针对不同的设备、设备不同的情况,我们希望可以给用户不同的体验。这里我主要讲到了关于 Bitmap 内存优化和内存泄漏排查、监控的一些方法。最后我提到了怎样在线上监控内存的异常情况,通常内存异常率、触顶率这些指标对我们很有帮助。
原创
发布博客 2024.07.29 ·
1099 阅读 ·
19 点赞 ·
0 评论 ·
20 收藏

03 | 内存优化(上):4GB内存时代,再谈内存优化

LPDDR5 将在明年进入量产阶段,移动内存一直向着更大容量、更低功耗、更高带宽的方向发展。伴随内存的发展,内存优化的挑战和解决方案也不断变化。而内存优化又是性能优化重要的一部分,今天我讲到了很多的异常和卡顿都是因为内存不足引起的,并在最后讲述了如何在日常开发中分析和测量内存的使用情况。一个好的开发者并不满足于做完需求,我们在设计方案的时候,还需要考虑要使用多少的内存,应该怎么去管理这些内存。在需求完成之后,我们也应该去回归需求的内存情况,是否存在使用不当的地方,是否出现内存泄漏。
原创
发布博客 2024.07.29 ·
1011 阅读 ·
15 点赞 ·
0 评论 ·
29 收藏

02 | 崩溃优化(下):应用崩溃了,你应该如何去分析?

今天我们介绍了崩溃问题的一些分析方法、特殊技巧、以及疑难和常见问题的解决方法。当然崩溃分析要具体问题具体分析,不同类型的应用侧重点可能也有所不同,我们不能只局限在上面所说的一些方法。讲讲自己的一些心得体会,在解决崩溃特别是一些疑难问题时,总会觉得患得患失。有时候解了一个问题,发现其他问题也跟“开心消消乐”一样消失了。有时候有些问题“解不出来郁闷,解出来更郁闷”,可能只是一个小的代码疏忽,换来了一个月的青春和很多根白头发。
原创
发布博客 2024.07.19 ·
678 阅读 ·
8 点赞 ·
0 评论 ·
20 收藏

01 | 崩溃优化(上):关于“崩溃”那些事儿

今天,讲了 Android 的两种崩溃,重点介绍了 Native 崩溃的捕获流程和一些难点。做一个高可用的崩溃收集 SDK 并不容易,它背后涉及 Linux 信号处理以及内存分配、汇编等知识,当你内功修炼得越深厚,学习这些底层知识就越得心应手。接着,我们讨论了崩溃率应该如何去计算,崩溃率的高低跟应用时长、复杂度、收集 SDK 有关。不仅仅是崩溃率,我们还学习了目前 ANR 采集的方式以及遇到的问题,最后提出了异常率这一个新的稳定性监控指标。
原创
发布博客 2024.07.18 ·
953 阅读 ·
31 点赞 ·
0 评论 ·
29 收藏

导读 | 如何打造高质量的应用?

看到这里可能你会有这样的疑问,我们在小公司根本没有机会学习到这些东西呀?确实如此,个人与公司一起成长是最快速,也是非常难得的事情,但并不一定人人都会有这样的机会。从我自己的经验来看,在搜狗、微信会遇到各种各样的疑难问题,也可以有很多时间去研究,让我在解决问题的过程中获得成长。幸运的是现在大家都更加乐于去分享,在专栏和技术会议中,我们可以看到很多成熟的解决问题的经验和思路,在 GitHub 我们可以找到很多优秀的源代码。在这个环境下,我们需要耐得住寂寞,多抠一些细节,多深入研究,多停下来总结。
原创
发布博客 2024.07.17 ·
895 阅读 ·
26 点赞 ·
0 评论 ·
24 收藏

开篇词 | 焦虑的移动开发者该如何破局?

首先,我认为,移动开发不等于 App 开发,所有新的技术浪潮其实都可以融入到移动开发的体系里,比如 IoT、音视频、边缘计算、VR/AR,我们要做的,只是打好基础,随时准备战斗。我挑选了崩溃、内存、卡顿、启动、I/O、存储、网络、耗电、渲染、安装包体积等比较常见的关键点,为你全面梳理性能优化的经验技巧与方向,帮你学会如何解决已知的存量问题,同时也能及时发现增量问题。是的,现在移动开发已经不再是风口,但是,这并不是说移动开发已经被淘汰,而是说移动开发的发展进入了成熟期,就像 Web 技术一样。
原创
发布博客 2024.07.17 ·
770 阅读 ·
17 点赞 ·
0 评论 ·
15 收藏

加油站 | Practice makes perfect!

也许是应该专门写一篇文章,来跟你“聊聊天”。毕竟对于绝大部分人来说,“学习”这件事情真的是“逆人性”的,总需要一些建议和鼓励。
原创
发布博客 2024.07.16 ·
604 阅读 ·
20 点赞 ·
0 评论 ·
16 收藏
加载更多