- 博客(354)
- 收藏
- 关注
原创 关于页表过长的一些思考
1. 页表的作用虚拟内存是的,操作系统需要把映射到。这个映射关系就存储在中。每个进程都有自己的页表,每一页对应一个页表项(PTE,Page Table Entry)。
2025-09-24 19:34:26
324
原创 动态分区会产生外部碎片的理解
类型分配方式碎片类型原因固定分区内存块固定内部碎片分区固定,进程可能用不满动态分区按需分配外部碎片内存连续分配,释放后空闲分散记忆小技巧内部碎片→ “内部空闲,分区太大”外部碎片→ “外面零散空闲,拼不起来”
2025-09-24 19:24:45
402
原创 谈谈数组和链表的时间复杂度
数据结构随机访问插入/删除数组O(1) ✅O(n) ❌链表O(n) ❌O(1) ✅链表插入一定比数组快吗?答案是否定的:之前说的插入 O(1)当你已经拿到插入位置的节点指针时,修改指针的操作本身是 O(1)。
2025-09-23 18:33:36
703
原创 一篇文章讲清楚常见的数据结构
线性结构:数组、链表、栈、队列树结构:二叉树、堆、平衡树图结构:有向、无向、加权图哈希结构:哈希表数组/链表→ 存放数据栈/队列→ 控制流程树/图→ 表达关系哈希表→ 快速索引。
2025-09-23 18:10:38
277
原创 QPS详解
指的是每秒处理的请求数,是衡量系统吞吐量的一个核心指标。在数据库里:QPS = 每秒能处理多少条 SQL 查询。在 Web 服务里:QPS = 每秒能响应多少个 HTTP 请求。
2025-09-15 11:26:48
220
原创 Redis缓存雪崩
我们直接用一个的例子来演示整个流程,让你看到“高并发请求 + 缓存同时过期 → DB 压力爆炸”的刺激场景。下面用来说明,方便你直接理解和模拟。
2025-09-12 18:28:10
202
原创 WebSocket实现点对点通信
前面讲到的WebSocket是一种广而告之,任何客户端发送,所有客户端都会收到消息,显然不是所有场景都能满足。有时候需要“群聊”场景,也有时候需要“私聊”场景。
2025-09-12 14:44:31
216
原创 Spring Initializr(或者 IDEA 里新建 Spring Boot 项目)时 Dependencies 的选择
Spring Web→ Web API(或 JDBC / MyBatis)→ 数据库操作→ 数据库驱动(可选,看要不要登录鉴权)(可选,用于监控)(推荐,开发时热部署)
2025-09-12 11:16:57
954
原创 org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation
Getter 别忘了加。
2025-09-12 10:28:32
133
原创 MySQL通过JPA建表
明白,你现在 MySQL 和 Spring Boot 都已经启动了,想创建一个“用户表”。:Spring Boot + JPA(适合长期维护和迭代开发)。:用 SQL 手动建表(适合简单或已有数据库)。启动后,JPA 会自动在数据库中创建。表示启动时自动建表或更新表结构。(每次启动删除旧表重建)或。(验证表结构是否存在)等。
2025-09-11 18:51:57
916
原创 URI 解析
以下是,我直接把常见的三类表(Images、Video、Audio)字段给你列出来,方便你对照的 ID。这些表结构就是里能查到的列,系统内部的 SQLite 表一般名字叫imagesvideoaudio。
2025-09-11 13:18:10
827
原创 GC Root的一些理解
GC Root在 JVM/ART 里,垃圾回收的时候会先找一批“根对象”(GC Roots)。这些根对象是永远不会被回收的静态变量 (static field):因为它们属于类,被类加载器持有,只要类没卸载,就一直活着。线程栈上的局部变量。JNI 全局引用。GC 算法会从 GC Roots 出发,沿着对象引用一路“走下去”,所有能走到的对象都是存活的,不能走到的才会被回收。
2025-09-10 16:07:39
297
原创 LeakCanary原理示例讲解
→ 被 WeakReference 监控。GC 后没回收→ 怀疑泄漏。Dump HPROF→ 分析对象关系。Shark 找到静态引用链→ 报告给你。
2025-09-10 16:02:37
426
原创 LeakCanary原理
LeakCanary 原理可以概括为:用弱引用监控销毁后的对象。定时 GC 看对象是否被回收。没回收就dump 内存快照。用Shark 分析内存快照,找到引用链,告诉你谁在持有。
2025-09-10 15:59:42
308
原创 LeakCanary最新稳定版
LeakCanary 官方文档明确推荐目前在 Debug 构建中使用的版本是:该版本于发布,包含多个修复和改进,例如 ProGuard mapping 支持及常见 AOSP 框架泄漏的自动忽略等 (
2025-09-10 15:49:31
277
原创 HTTP response code 200 206 416详解
说明:客户端请求了 1024000~1025000 字节,但文件总长度只有 1024000 字节,所以服务器返回 416。头(断点续传),但服务器不支持或忽略它,也可能返回 200,表示返回整个文件而不是部分内容。说明:客户端请求文件的 1000~1999 字节,服务器返回了这个范围的数据。200、206 和 416,尤其是在文件下载和断点续传场景下的含义。断点续传时,客户端本地记录的已下载范围超过服务器文件大小。:请求成功,服务器返回请求的资源。的请求,只返回请求范围内的数据。
2025-09-08 18:15:22
642
原创 Mac OS上搭建 http server
下载 LTS 版本的 macOS 安装包(.pkg),安装即可。,可以用于测试 Kotlin 断点下载。如果输出版本号,说明安装成功。
2025-09-08 17:34:50
323
原创 /Users/yourname/Library/Developer/Xcode 文件夹里面各子文件夹作用
子文件夹作用可删除吗删除后效果编译中间文件、索引、缓存✅重新编译时生成Archives打包归档文件 (.xcarchive)✅失去历史归档iOS 设备符号文件✅再次连接设备会重新生成文档缓存✅下次打开文档重建Products编译产物✅重新编译即可UserData用户偏好、快捷键、模板❌会丢失自定义设置模拟器系统镜像及应用数据✅删除后需重新下载模拟器镜像💡清理建议Archives+ 不用的UserData(避免丢失自定义设置)
2025-09-04 20:03:43
460
原创 git命令行打patch
在 Git 里打(补丁)其实就是把某些提交的改动导出来,生成一个.patch文件,方便别人用git apply或git am打进代码里。
2025-09-04 17:56:00
767
原创 git fetch 和 git pull 的区别
如果你只是 git fetch本地分支(例如main,还是你之前的状态。远端分支的更新会被下载下来,放在(或其它远程分支引用)。你的工作区代码、HEAD 指针都不变。
2025-09-04 17:12:37
221
原创 解决pod install报错问题的一些方法
然后打开码云,点击右边的加号,可以看到从GitHub导入仓库,等待生成镜像仓库。保存,再次 pod install 即可。
2025-08-27 18:26:44
295
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅