首页
沸点
课程
更多
活动
APP
插件
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
Cache.kt
Cache.kt get(request)方法 缓存的存储形式为: get(request)会获取key(request.url)对应的snapshot,从其构建一个response。然后判断resp
深度解析:为什么 `AtomicReference.getAndSet` 是非阻塞的?
深度解析:为什么 AtomicReference.getAndSet 是非阻塞的? 在并发编程中,我们需要严格区分 “逻辑上的原子竞争” 与 “操作系统层面的线程阻塞”。 1. 物理层面:硬件原子指令
使用位运算优化对2的n次方取模
使用位运算优化对2的n次方取模 hash % 2^n == hash & (2^n - 1) 原理分析 2^n - 1 2^n: 二进制形式为1+n个0 2^n - 1: 二进制形式为n个1 hash
伪共享(False Sharing)深度解析
伪共享是指多个线程同时修改位于同一个缓存行(Cache Line)中的不同变量,导致 CPU 缓存失效,从而迫使多核 CPU 频繁从内存或 L3 缓存同步数据,产生不必要的性能损耗。
Spurious Wakeup
在多线程编程中,Spurious Notification 或 Spurious Wakeup 是指一个线程在没有被显式信号(signal 或 notify)触发
Sink
write与flush:write仅追加数据(位置由实现决定)。flush定义为传递性操作:将当前缓存数据推向下一近端目的地(final destination),并递归通知下游继续 flush。
SegmentPool
用线程 ID 位与运算快速取模。同线程固定分到同桶,配合 CPU 软亲和性极大提升 L1 缓存命中率 多桶分散了物理地址访问,消除单锁结构引发的缓存同步风暴。抢锁失败直接返回,全流程无线程级阻塞
Segment#writeTo(sink,byteCount)
非共享目标:若总空间够但右侧不足,先将已有数据平移至最左侧,再物理拷贝并更新指针(旧数据待覆盖)。 共享目标:仅允许从尾部 limit 处追加。若右侧空间不足则直接拒绝,无法通过平移来腾出空间。
Segment#compact()
节点入尾部时触发。若前驱不可写或空间不足则跳过;否则当前数据写入前驱,并回收至对象池。 前驱非共享时可平移,空间为 SIZE-limit+pos;共享时不可平移,空间仅为SIZE-limit
inernal_Buffer#commonWrite(source,byteCount)
流程:完整块直接移动指针(零拷贝);残余块用 writeTo 物理写入或 split 拆分,插入尾部时触发 compact 整理。 博弈:大数据 split 共享内存提速。若写入后源端仅剩1字节也不
Segment#split(byteCount)
1.共享拆法共享data,拷贝快但无法合并且易剩残余内存;直接拷贝则复制data,可回收到对象池。 2.小数据多为元数据,直接拷贝利于TLAB分配与合并优化;大数据多为载荷,共享拆法搬运极快。
Okio AsyncTimeout 源码分析
Okio AsyncTimeout 源码分析 1. 链表与守护线程:按超时时间升序维护全局单链表,Watchdog 负责轮询并对虚假唤醒和唤醒时机进行了优化。 2. 性能与防溢出:采用减法防 L
晴天守护:App开发的过程中的利器
开发App的时候,测试账号同时在线,需要备上至少两台的手机,公司的成本高,有时候拿设备的时候都会错,继而给设备贴纸标签,非常麻烦。无论从精力和物质成本,都得节源开流呀,所以才找到了这个软件。
ADB命令使用大全
此文章内容整合自网络,欢迎转载。 我相信做 Android 开发的朋友都用过 ADB 命令,但是多数人也仅限于安装应用、push 文件以及设备重启等常用操作,更深层的用法就不太了解了。其实我们完全可以
读者点单·03|Compose 与传统 View 混用的 12 个真实坑
读者点单·端午投票系列 · 第3/10篇 基于端午《聊聊学习节奏》评论区读者票选生成的系列文章 第1篇:Android 性能治理的「全景图」:从机型分级到指标体系 第2篇:Android 启动优化实战
读者点单·02|Android 启动优化实战:Trace 抓取→Application 编排→冷启动全流程拆解
读者点单·端午投票系列 · 第2/10篇 第1篇:Android 性能治理的「全景图」:从机型分级到指标体系 第2篇:Android 启动优化实战(本篇) ⏳ 第3篇:Compose 与传统 View
帮你快速理解AI Agent之我想招个Android实习生
背景 最近公司事情太多了,天天加班到半夜,身体快吃不消了,没办法只能向领导反映一下,帮我招个实习生,多多少少分担一些活,这不马上去某某直聘上贴了一份招聘信息,JD如下 岗位要求 说明 岗位名称 AI
【无测试机别害怕】华为云鸿蒙云手机:从零到联调全流程详解
【无测试机别害怕】华为云鸿蒙云手机南:从零到联调全流程详解 一、鸿蒙云手机是什么? 简单说:华为云把一台跑着鸿蒙系统的手机放在云端,你通过本地工具远程连接,像操作真机一样开发、调试、测试鸿蒙应用。 适
功能测试的基本方法有哪些?新手必看的注意事项
对于刚刚踏入软件测试领域的新人来说,掌握功能测试的基本方法和注意事项是至关重要的。功能测试旨在验证软件产品是否按照预期的功能规格说明书正确工作。本文将介绍几种常见的功能测试方法,并提供一些新手入门时需
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
最近刚好在想,怎么在 Android 上接入 AirPods 的全部能力,刚好就看到了 librepods 这个项目,它是一个能让 Android 使用 AirPods 的专属功能的开源项目,比如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30