一个故事讲完 CPU 的工作原理 (mp.weixin.qq.com)

【简介】

上二年级的小明正坐在教室里。现在是数学课,下午第一节,窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时,刘老师在黑板上写下一个问题:

点击查看全文 >>

@code小生 2020-08-02 13:40分享 / 0个评论
赞过的人: 技术头条 code小生
要不要再学学下面的文章?
Systrace 线程 CPU 运行状态分析技巧 - Sleep 和 Uninterruptible Sleep 篇 (androidperformance.com)
本文是 Systrace 线程 CPU 运行状态分析技巧系列的第三篇,本文主要讲了使用 Systrace 分析 CPU 状态时遇到的 Sleep 与 Uninterruptible Sleep 状态的原因排查方法与优化方法,这两个状态导致性能变差概率非常高,而且排查起来也比较费劲,网上也没有系统化的文档。
by @技术头条 2022-06-19 22:47 分享 查看详情
Systrace 线程 CPU 运行状态分析技巧 - Running 篇 (androidperformance.com)
本文是 Systrace 线程 CPU 运行状态分析技巧系列的第二篇,主要分析了 Systrace 中 cpu 的 Running 状态出现的原因和 Running 过长时的一些优化思路。
by @技术头条 2022-06-19 22:47 分享 查看详情
数据库内核的快照技术实现原理 (www.ideawu.net)
"快照(Snapshot)"是数据库领域非常重要的一个概念, 最初是用于数据备份. 如今, 快照技术已经成为数据库内核(引擎)最核心的技术特性之一. 数据库内核的绝大多数操作, 都依赖于快照, 例如, LevelDB 的每一次读取操作和遍历操作, 其内部都必须创建一个快照, 所以, 对于一个请求量非常大的系统, 数据库内核每秒种就要创建和销毁几十万次快照. 因此, 如何快速地创建和销毁快照, 成为一个数据库内核(引擎)必须要解决的问题.

本文从源头出发, 逐步推演, 探讨数据库内核是如何实现快照技术的.
by @技术头条 2022-05-06 23:33 分享 查看详情
Go泛型不支持泛型方法,这是一个悲伤的故事 (colobu.com)
根据Go 泛型提案的描述,Go不支持泛型方法:No parameterized methods。主要原因Go泛型的处理是在编译的时候实现的,泛型方法在编译的时候,如果没有上下文的分析推断,很难判断泛型方案该如何实例化,甚至判断不了,导致目前(Go 1.18)Go实现中不支持泛型方案。

不过,泛型方法的缺失,多多少少给程序员带来一丝丝的忧伤的情绪,在一些场景之下,使用起来特别不方便。我最近看到了几个因为缺乏泛型方法导致的问题,在本文中总结一下,和大家探讨。
by @技术头条 2022-05-06 23:15 分享 查看详情
Systrace 线程 CPU 运行状态分析技巧 - Runnable 篇 (androidperformance.com)
本文是 Systrace 线程 CPU 运行状态分析技巧系列的第一篇,主要分析了 Systrace 中 cpu 的 runnable 状态出现的原因和 Runnable 过长时的一些优化思路。

本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚其运行的流程,也许从 Systrace 这个图形化的角度,你可以理解的更深入一些。
by @技术头条 2022-05-06 23:12 分享 查看详情
关于编写故事卡的一些经验 (insights.thoughtworks.cn)
我认同故事卡里非常详细的描述可以带来价值,但我也相信“简练的表述 + 充分的沟通”可以更高效、更灵活;我认同故事卡不是契约或合同,但我也相信完整、准确的表述可以显著降低各角色间的沟通成本。
by @Thoughtworks 2022-04-24 11:48 分享 查看详情
C++中智能指针的原理、使用、实现 (mp.weixin.qq.com)
C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,使用智能指针能更好的管理堆内存。
by @code小生 2022-02-13 22:19 分享 查看详情
CDN加速原理 (mp.weixin.qq.com)
简单的说,CDN 的工作原理就是将您源站的资源缓存到位于全球各地的 CDN 节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。
by @code小生 2021-10-07 13:34 分享 查看详情
Kotlin Coroutine suspend 原理解析 (mp.weixin.qq.com)
如果这些操作都是耗时操作,为了不阻塞线程,需要将这些耗时操作放到其他线程中,即
by @code小生 2021-08-15 18:35 分享 查看详情
全球第二大浏览器升级!内存CPU占用暴降 (mp.weixin.qq.com)
据外媒报道,Edge 87稳定版的各项性能此次也拥有较大幅度的提升。



除了在使用中更加稳定外,同时微软也调整了软件的内存占用率,让系统更加流畅,同时也降低了那些配置不高的用户的负担。
by @code小生 2021-05-05 19:02 分享 查看详情