欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

分类:后端开发

共 12 篇文章

后端开发相关技术文章

Go 1.18 引入泛型,通过类型参数与类型约束实现代码复用,同时保持编译期类型安全。 一、类型约束定义 表示底层类型匹配,允许自定义类型(如 type MyInt int)也满足约束。 二、泛型数据结构 泛型适合容器、算法与工具函数,但不应滥用;接口仍是对行为抽象的首选。

分类:后端开发|标签:Golang / 类型系统 / 泛型|阅读(6004)

CPython 解释器的核心痛点始终围绕着全局解释器锁(Global Interpreter Lock, GIL)。GIL 是一把互斥锁,其根本目的在于保护 CPython 的内存管理免受多线程竞争破坏。由于 CPython 依赖引用计数(Reference Counting)实现垃圾回收,若无 GIL 保护,并发对对

分类:后端开发|标签:并发编程 / Python / CPython / 多线程|阅读(5315)

Go 运行时内存分配器借鉴 TCMalloc 设计,通过多级缓存减少锁竞争,而逃逸分析决定对象分配在栈还是堆上。 一、三级分配结构 mcache:每个 P 私有的小对象缓存,无锁分配 mcentral:全局中心缓存,管理特定 size class 的 span mheap:堆内存管理,向操作系统申请页 二、逃逸分析 编

分类:后端开发|标签:Golang / Runtime / 内存管理|阅读(7163)

Python 的协程能力脱胎于生成器,yield 关键字从单纯的值产出逐步演化为双向通信与异步调度的基础。 一、生成器的双向通信 send() 将值传入生成器,yield 既产出值又接收值,这构成了协程的雏形。 二、从 yield from 到 async/await yield from 简化了生成器委托,PEP 3

分类:后端开发|标签:Python / 协程 / 生成器|阅读(7726)