自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(354)
  • 收藏
  • 关注

原创 雷军31年前的代码

大家鉴定一下什么水平?

2025-11-03 19:12:50 193

原创 关于页表过长的一些思考

1. 页表的作用虚拟内存是的,操作系统需要把映射到。这个映射关系就存储在中。每个进程都有自己的页表,每一页对应一个页表项(PTE,Page Table Entry)。

2025-09-24 19:34:26 324

原创 动态分区会产生外部碎片的理解

类型分配方式碎片类型原因固定分区内存块固定内部碎片分区固定,进程可能用不满动态分区按需分配外部碎片内存连续分配,释放后空闲分散记忆小技巧内部碎片→ “内部空闲,分区太大”外部碎片→ “外面零散空闲,拼不起来”

2025-09-24 19:24:45 402

原创 关于进程死锁

老教材讲「进程死锁」,因为那时进程是主要并发单位;新教材讲「线程死锁」,因为现在线程才是调度和同步的主体;本质都是。

2025-09-24 19:03:35 291

原创 Android中开一个线程是ULT还是KLT

我们分几个层次来讲清楚和,再结合到。

2025-09-24 18:09:59 529

原创 谈谈数组和链表的时间复杂度

数据结构随机访问插入/删除数组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

原创 最新安卓App国内上架流程

在中国大陆上架安卓应用(APK)需要遵循一系列法律和技术要求。

2025-09-15 14:07:22 681

原创 QPS详解

指的是每秒处理的请求数,是衡量系统吞吐量的一个核心指标。在数据库里:QPS = 每秒能处理多少条 SQL 查询。在 Web 服务里:QPS = 每秒能响应多少个 HTTP 请求。

2025-09-15 11:26:48 220

原创 MySQL为什么要分库分表

分库分表并不是“为了炫技”,而是因为在场景下,单库单表会出现瓶颈。

2025-09-15 11:25:19 311

原创 Redis缓存雪崩 TTL详解

同时过期”其实是。

2025-09-12 18:30:17 290

原创 Redis缓存雪崩

我们直接用一个的例子来演示整个流程,让你看到“高并发请求 + 缓存同时过期 → DB 压力爆炸”的刺激场景。下面用来说明,方便你直接理解和模拟。

2025-09-12 18:28:10 202

原创 Redis延时双删详解

不禁要问:Tell me why?下面用来讲,越具体越直观。

2025-09-12 17:56:10 948

原创 Redis + MySQL 的缓存一致性

来一个最常见的的缓存一致性例子,用。这样你能直观看到“缓存一致性怎么玩”。

2025-09-12 17:51:42 296

原创 RabbitMQ的核心使用示例

我们用来模拟“发邮件”的场景,这样你就能清晰掌握 MQ 的核心用法了。

2025-09-12 16:32:57 441

原创 RabbitMQ在Mac OS上的安装和启动

在上安装和启动通常有两种主流方式:通过或通过。

2025-09-12 16:17:44 382

原创 MQ使用场景

MQ 的精髓就是。

2025-09-12 15:25:44 171

原创 WebSocket实现点对点通信

前面讲到的WebSocket是一种广而告之,任何客户端发送,所有客户端都会收到消息,显然不是所有场景都能满足。有时候需要“群聊”场景,也有时候需要“私聊”场景。

2025-09-12 14:44:31 216

原创 SpringBoot实现WebSocket服务端

WebSocket 可以让你实现,比普通 HTTP 接口更炫也更“活”。今天讲一个的实现思路。

2025-09-12 13:49:17 224

原创 Redis实现接口限流

/ 限流的key,可用方法名或自定义// 时间窗口内允许的请求次数// 时间窗口,单位秒。

2025-09-12 13:10:25 267

原创 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

原创 idea新建的项目new 没有java class选项

【代码】idea新建的项目new 没有java class选项。

2025-09-11 14:56:36 214

原创 URI 解析

以下是,我直接把常见的三类表(Images、Video、Audio)字段给你列出来,方便你对照的 ID。这些表结构就是里能查到的列,系统内部的 SQLite 表一般名字叫imagesvideoaudio。

2025-09-11 13:18:10 827

原创 ContentProvider 自启动

现在很多三方库(埋点、推送、统计、广告 SDK 等)都会用的方式来初始化自己。

2025-09-10 16:17:26 267

原创 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

原创 LeakCanary的使用

很多时候泄漏是因为某个全局对象忘了解除引用。

2025-09-10 15:38:19 418

原创 Android 版本与 API Level 对照

2025-09-09 10:34:58 270

原创 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

原创 C语言实现学生管理系统

是 C 语言里打开文件的标准用法。

2025-09-04 19:39:51 337

原创 git命令行打patch

在 Git 里打(补丁)其实就是把某些提交的改动导出来,生成一个.patch文件,方便别人用git apply或git am打进代码里。

2025-09-04 17:56:00 767

原创 git push -u origin main 这个-u起什么作用

只推代码。:推代码 + 建立本地分支和远程分支的追踪关系(以后能偷懒)。

2025-09-04 17:28:14 433

原创 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

Mac OS下Android投屏工具

Mac OS下Android投屏工具

2025-06-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除