从易失到非易失:详解存储器分类、原理与软硬件选型实践
1. 项目概述从“存”与“取”的视角看存储器在数字世界的构建中如果说CPU是大脑负责思考和运算那么存储器就是记忆系统负责承载所有的信息与指令。我们每天都在与存储器打交道从手机里的一张照片到电脑上运行的一个程序再到云端服务器里海量的数据其背后都是不同形态、不同特性的存储器在默默工作。今天我们不谈那些高深莫测的理论就从一名硬件工程师和系统开发者的日常经验出发来聊聊“存储器的分类”这个话题。这不仅仅是教科书上的一个章节更是我们在选型、设计、优化系统时每天都要面对的实际决策。为什么需要分类因为“一刀切”的存储方案根本不存在。你需要高速缓存来让CPU“吃饱”需要大容量内存来同时运行多个程序还需要持久化存储来保存你的工作成果。每一种需求都对应着不同的技术实现、成本考量和使用场景。理解这些分类就像是掌握了一套工具箱知道在什么场合该用螺丝刀什么场合该用电钻。本文将带你穿透“RAM”、“ROM”、“SSD”、“HDD”这些术语的表面深入到它们的物理原理、性能特性、应用场景以及那些在数据手册里不会写的选型“坑”。无论你是刚入行的嵌入式新手还是在设计大型分布式系统的架构师希望这些从一线实践中总结出的经验能帮你更清晰地规划你的“存储地图”。2. 存储器的核心维度与分类逻辑当我们谈论分类时首先要确立分类的维度。不同的维度就像不同的切片方式能让我们从最相关的角度理解存储器。在实际工程中最常用、最实用的分类维度主要有三个存储信息的可保存性易失性与非易失性、存取方式随机存取与顺序存取以及在计算机系统层次结构中的位置内部存储器与外部存储器。理解这些维度是进行正确选型的第一步。2.1 按信息保存特性易失性存储器与非易失性存储器这是最根本、也是最重要的分类方式直接决定了数据在断电后的命运。易失性存储器的特点是“挥发性”断电后数据立即丢失。它的核心价值在于速度。这类存储器通常使用电容来存储电荷代表数据“1”或“0”而电容会自然放电需要定时刷新来维持数据。最常见的代表就是各种RAM。动态随机存取存储器这是我们最常说的“内存条”的核心。每个存储单元由一个晶体管和一个电容构成结构简单集成度高所以成本低、容量可以做得很大。但那个小小的电容会漏电因此DRAM需要内存控制器每隔一段时间通常是64ms就对所有单元进行一次“刷新”操作重新写入数据这就是“动态”的含义。刷新操作会占用内存带宽并且是DRAM功耗的一个重要来源。静态随机存取存储器它的每个存储单元由4-6个晶体管构成一个双稳态电路只要通电电路状态就能一直保持无需刷新。因此SRAM的速度极快通常比DRAM快一个数量级。但代价是结构复杂、占用芯片面积大、功耗高、成本昂贵。所以SRAM主要用于对速度有极致要求的地方比如CPU内部的高速缓存、以及一些高速缓冲寄存器。实操心得在嵌入式系统选型时经常会纠结片内SRAM大小。如果你的算法有大量的中间变量或需要频繁交换的数据务必确保片内SRAM足够因为访问片外DRAM的速度慢、功耗高会成为性能瓶颈。一个简单的估算方法是将你的关键数据结构和数组大小加起来再预留至少30%的余量。非易失性存储器则恰恰相反断电后数据能长久保存。它的核心价值在于持久性。从古老的ROM到现代的Flash技术原理多样。掩模ROM数据在芯片制造时就被“刻”进去完全无法修改。成本极低但毫无灵活性只适用于大批量、永不变更的固定程序如早期游戏卡带。可编程ROM允许用户写入一次数据之后只能读取。适用于小批量生产或需要固化的最终程序。可擦除可编程ROM和电可擦除可编程ROM拉开了可重复编程非易失存储的序幕。EPROM需要用紫外线照射芯片上的石英窗口来擦除而EEPROM可以通过加电信号进行字节级的擦写。它们速度慢、容量小但在需要频繁修改少量配置参数的场合如BIOS设置仍有应用。闪存这是当前非易失存储的绝对主力。它可以看作是EEPROM的“块”擦除升级版一次性擦除一个“块”再以“页”为单位编程。这种结构带来了更高的密度和更低的成本。根据存储单元连接方式主要分为NOR Flash和NAND Flash。NOR Flash支持“芯片内执行”CPU可以直接从其读取指令运行类似于RAM但写入和擦除速度慢。常用于存储启动代码、操作系统内核等需要直接运行的固件。NAND Flash存储密度极高成本低但无法直接执行代码必须以“块”为单位操作且存在坏块。它是所有固态硬盘、U盘、存储卡的核心。我们后面会详细拆解其工作原理和面临的挑战。2.2 按存取方式随机存取存储器与顺序存取存储器这个维度关注的是访问任意存储单元的时间是否相等。随机存取存储器是我们最熟悉的模式。无论要访问哪个地址的数据所需的时间几乎是相同的。RAM包括DRAM和SRAM是典型的随机存取存储器。这种特性使得它非常适合存放需要被CPU频繁、随机访问的数据和指令是内存的理想形态。顺序存取存储器则像一卷磁带或老式的打孔纸带。要读取某个位置的数据你必须从头开始顺序经过前面的所有数据直到找到目标。访问时间与数据的位置密切相关。典型的例子是磁带库虽然其顺序读写速度可以非常快但随机访问的延迟极高可能需要分钟级来倒带。在现代系统中顺序存取存储器主要用于海量数据的冷备份或归档存储利用其极高的存储密度和极低的成本来保存那些很少需要访问的历史数据。注意事项在设计存储系统时一定要考虑数据的访问模式。如果你的应用是大量随机小文件读写如数据库事务那么采用基于NAND Flash的SSD是合适的尽管它内部也是“伪随机”。但如果你是为视频流媒体服务设计存储数据主要是大文件的顺序读写那么高吞吐量的顺序存取方案甚至是特定优化的硬盘可能性价比更高。不能只看最大吞吐量指标随机IOPS同样关键。2.3 按在系统中的位置内部存储器与外部存储器这个分类基于存储器与CPU核心的“距离”和耦合紧密度。内部存储器也称为主存储器是CPU能直接通过地址总线寻址访问的存储器。它的速度必须跟上CPU的频率。主要包括寄存器位于CPU内部速度最快容量最小以字节计用于存储当前正在执行的指令所处理的立即数或地址。高速缓存位于CPU内部或紧挨CPU由SRAM构成用于缓存最近可能被用到的内存数据和指令解决CPU与主存之间的速度鸿沟。主存通常由DRAM构成就是我们常说的“内存”。所有正在运行的程序和数据都必须加载到主存中才能被CPU处理。外部存储器也称为辅助存储器CPU不能直接访问必须通过I/O接口和驱动程序。它的特点是容量大、成本低、速度慢用于长期保存数据。包括硬盘、固态硬盘、光盘、U盘等。当CPU需要处理外部存储器上的数据时必须先将数据加载到主存中。这个层次结构构成了经典的“存储器金字塔”从上到下速度递减容量递增成本递减。优秀的系统设计就是让数据尽可能待在金字塔的顶端。3. 核心存储技术深度解析与选型要点了解了宏观分类我们深入到几种关键存储技术的内部看看它们是如何工作的以及在实际项目中如何选择。3.1 DRAM技术演进从DDR到LPDDRDRAM技术的主线是提升带宽和降低功耗。其接口标准一直在演进SDRAM同步动态RAM时钟上升沿传输数据。DDR SDRAM双倍数据速率时钟上升沿和下降沿都传输数据带宽翻倍。此后DDR2, DDR3, DDR4, DDR5依次演进核心是预取位数增加、电压降低、带宽和容量不断提升。LPDDR低功耗双倍数据速率专为移动设备设计。通过降低工作电压、采用更先进的电源管理技术如动态电压频率调整来大幅降低功耗。LPDDR4/4X/5已成为手机、平板SoC的标配。选型考量带宽计算所需带宽 ≈ (核心数 × 每核心峰值访问速率) × 数据位宽。例如一个需要处理4K视频流的芯片可能要求内存带宽超过20GB/s。功耗预算移动设备对功耗极其敏感即使LPDDR比同代DDR性能稍低也必须选择LPDDR。台式机或服务器则优先考虑DDR的性能。通道与位宽支持双通道、四通道能有效提升总带宽。嵌入式芯片的位宽可能是16-bit或32-bit而台式机内存条是64-bit。3.2 NAND Flash的微观世界与宏观挑战NAND Flash是当前存储世界的基石。其存储单元是一个浮栅晶体管通过向浮栅注入或移除电子来改变阈值电压代表“0”或“1”。SLC、MLC、TLC、QLC这指的是每个存储单元存储的比特数。SLC1bit/cell速度最快、寿命最长约10万次擦写、成本最高QLC4bits/cell容量密度最大、成本最低、速度慢、寿命短约1000次擦写。TLC是目前消费级SSD的主流在成本、性能和寿命间取得了平衡。3D NAND为了突破平面微缩的物理极限将存储单元垂直堆叠起来就像盖摩天大楼一样极大地提升了单颗芯片的容量并降低了成本。NAND Flash的固有缺陷与系统级应对擦写前需先擦除NAND不能直接覆盖写必须先擦除整个块通常128KB-256KB再写入页通常4KB-16KB。这导致了“写放大”问题。寿命有限每个存储单元有擦写次数限制。系统必须通过磨损均衡算法让所有块的擦写次数尽可能平均。存在坏块出厂时就有或在使用中产生。控制器必须建立坏块管理表将其隔离。需要ECC纠错随着存储密度提高数据出错概率增大。需要强大的ECC如LDPC码来纠正比特错误。选型要点消费级 vs. 企业级企业级SSD使用更高寿命的颗粒、更大的OP预留空间、更强大的主控和固件以承受7x24小时的高强度随机写入价格也昂贵得多。切勿用消费级盘跑数据库等重载应用。接口与协议SATA接口带宽已近瓶颈约600MB/s。NVMe协议overPCIe总线是当前高性能SSD的标准延迟极低带宽可达数GB/s甚至更高。3.3 新兴存储技术前瞻SCM与RRAM在DRAM和NAND之间存在一个巨大的性能和成本鸿沟。存储级内存旨在填补这个鸿沟。它既拥有接近DRAM的速度和字节寻址能力又具备类似NAND的非易失性。英特尔傲腾基于3D XPoint技术性能介于DRAM和NAND之间寿命远超NAND。它可以用作高速缓存也可以直接作为持久化内存使用。在数据库、大数据分析中将热点数据放在SCM上能带来数量级的性能提升。RRAM阻变式存储器通过改变材料的电阻状态来存储数据。目前仍在研发和早期应用阶段潜力巨大。对于这些新技术目前的建议是密切关注在性能瓶颈极为明显且预算充足的关键业务中进行小规模试点但主流生产环境仍需以成熟技术为主。4. 存储系统架构设计与性能优化实践了解了组件我们来看如何将它们组装成一个高效、可靠的存储系统。这不仅仅是硬件堆叠更是软硬件协同的艺术。4.1 内存层次结构优化目标是让CPU尽可能访问到最快的内存。除了硬件上的Cache在软件层面数据局部性编写代码时要有意识地优化时间局部性重复使用相同数据和空间局部性使用相邻地址的数据。例如遍历多维数组时应按照内存存储顺序行优先或列优先来访问可以极大提高Cache命中率。内存对齐确保数据结构的起始地址是特定字节如4字节、8字节的整数倍。现代CPU通常以对齐的字长来访问内存非对齐访问可能导致性能下降甚至硬件异常。大多数编译器提供属性如__attribute__((aligned(8)))来指导对齐。避免False Sharing在多核编程中两个不同CPU核心频繁修改位于同一缓存行中的不同变量会导致该缓存行在两个核心的缓存间来回无效化和同步引发严重的性能下降。解决方法是通过填充字节将热点变量隔离到不同的缓存行。4.2 持久化存储系统选型与配置面对HDD、SATA SSD、NVMe SSD如何选择性能需求分析IOPS衡量随机读写能力对数据库、虚拟化、在线交易系统至关重要。吞吐量衡量顺序读写能力对视频处理、科学计算、备份恢复很重要。延迟衡量响应速度对实时系统、高频交易是生命线。可靠性需求MTBF平均无故障时间企业级硬盘通常为200万小时。UBER不可恢复误码率企业级SSD可达10^-17。DWPD每日整盘写入次数衡量SSD寿命。企业级SSD的DWPD通常为1-3或更高。配置黄金法则系统盘选择一款中等容量、性能可靠的NVMe SSD。数据盘/热数据根据IOPS和吞吐量需求选择高性能NVMe SSD阵列。温数据/归档可选择大容量SATA SSD或高速HDD如SAS盘。冷数据/备份使用高密度HDD或磁带库。4.3 RAID与存储虚拟化单块磁盘存在性能瓶颈和单点故障。RAID技术将多块磁盘组合成一个逻辑单元。RAID 0条带化提升性能无冗余。一块盘损坏全盘数据丢失。RAID 1镜像提供冗余容量利用率50%。RAID 5条带化分布式奇偶校验兼顾性能、容量和冗余。允许一块盘故障。RAID 6双分布式奇偶校验允许两块盘同时故障。RAID 10先做镜像再做条带结合了RAID 1的安全性和RAID 0的性能但成本最高。踩坑实录RAID不是备份它主要解决的是可用性问题硬盘故障时业务不中断。误删除、病毒勒索、火灾等场景下RAID阵列的数据会一同受损。必须建立独立的备份策略。存储虚拟化如Ceph VMware vSAN将物理存储资源抽象化、池化然后按需分配给不同的应用或虚拟机。它提供了更高的灵活性、可扩展性和资源利用率。5. 典型应用场景下的存储器选型指南理论结合实践我们看几个具体场景。5.1 嵌入式物联网设备需求低功耗、小体积、低成本、高可靠性工业级温度范围。存储方案执行代码片内Flash或外置NOR Flash。因为需要XIP。运行内存片内SRAM 外置LPDDR。尽可能利用片内SRAM降低功耗。参数与日志存储片内EEPROM或小容量SPI接口的NAND Flash。数据存储TF卡或eMMC。eMMC集成了控制器接口简单比TF卡更稳定。避坑技巧注意Flash的擦写寿命。频繁写入的日志数据最好先缓存在RAM中攒够一个块再写入或使用磨损均衡文件系统如SPIFFS, LittleFS。在极端温度环境下需选用工业级或车规级芯片其DRAM/Flash的时序参数与商业级不同。5.2 个人电脑与工作站需求均衡的性能、容量与成本。存储方案内存DDR4/DDR5容量16GB起步建议32GB。频率和时序对游戏和内容创作有影响。系统盘NVMe PCIe 4.0 SSD容量512GB-1TB。作为系统和软件安装盘。数据盘大容量SATA SSD2TB-4TB或高速HDD4TB以上用于存放游戏、媒体文件等。避坑技巧主板上的M.2接口可能共享PCIe通道安装多块NVMe SSD时需查阅主板手册避免带宽瓶颈。SSD不要塞得太满至少保留10%-20%的剩余空间以维持垃圾回收效率和性能。5.3 数据中心与云服务器需求极高的性能、可靠性、可扩展性和可管理性。存储方案内存DDR5或高频DDR4采用带ECC校验的型号容量从256GB到数TB不等。缓存/SCM层可选配傲腾持久内存或高性能NVMe SSD用于存放数据库的热点数据或日志。主存储全闪存阵列由多块企业级NVMe SSD通过PCIe交换机连接提供数百万IOPS。容量型存储由大容量SATA SSD或SAS HDD组成的分布式存储集群如Ceph提供EB级容量。备份/归档对象存储或磁带库。避坑技巧企业级SSD必须关注DWPD和TBW指标并根据业务写入量进行测算。分布式存储的网络配置至关重要建议采用独立的、高带宽低延迟的存储网络如25/100GbE RoCE或InfiniBand。6. 未来趋势与个人思考存储技术的发展从未停歇。QLC NAND正在普及PLC5bits/cell已在路上将进一步拉低每GB成本。3D NAND的堆叠层数还在继续攀升。另一方面CXL互连协议允许CPU以更高效的方式访问内存和加速器可能会重塑内存层次结构。SCM技术虽然目前成本较高但随着技术成熟有望在特定领域成为改变游戏规则的存在。从我个人的经验来看存储系统的设计永远是在速度、容量、成本、可靠性、功耗这五个维度上做权衡。没有最好的存储只有最适合当前场景的存储。作为开发者理解这些存储器的底层原理和特性不是为了死记硬背概念而是为了在面临选择时能做出有理有据的决策。下次当你为项目选择内存型号、为服务器配置存储阵列时不妨先画一张数据流向图分析清楚热点在哪里、瓶颈在哪里然后再去匹配相应的存储解决方案。记住存储不只是存放数据的地方它深刻影响着整个系统的性能表现和用户体验。

相关新闻

多通道AHB DMA控制器设计:架构、优化与实战指南

多通道AHB DMA控制器设计:架构、优化与实战指南

1. 项目概述:为什么我们需要一个“多通道”的AHB DMA控制器? 在嵌入式系统,尤其是SoC(片上系统)设计中,数据搬运的效率直接决定了整个系统的性能瓶颈。想象一下,你正在构建一个高性能的图像处理…

2026/10/1 3:43:00 阅读更多 →
DNF包管理中update与upgrade命令的深度解析

DNF包管理中update与upgrade命令的深度解析

1. DNF包管理中的Update与Upgrade操作解析 在Linux系统管理中,DNF(Dandified YUM)作为新一代的软件包管理工具,已经成为RHEL、Fedora等发行版的标准配置。很多管理员在日常维护中会对 dnf update 和 dnf upgrade 这两个命令产…

2026/10/1 16:48:51 阅读更多 →
Java Spring Boot集成支付宝人脸核身:从原理到实战避坑指南

Java Spring Boot集成支付宝人脸核身:从原理到实战避坑指南

1. 项目缘起:为什么选择支付宝人脸核身? 最近在做一个需要强实名认证的线上业务,用户注册环节必须验证“你是你本人”。市面上方案很多,比如短信验证码、上传身份证照片、甚至人工审核,但这些要么安全性不足&#xff0…

2026/10/9 7:23:30 阅读更多 →

最新新闻

项目进度管理10.1-10.3思维导图:定规矩、拆动作、排顺序

项目进度管理10.1-10.3思维导图:定规矩、拆动作、排顺序

做项目管理系统学习的人,十有八九都会在“项目进度管理”这一章卡过壳。第10章的10.1到10.3,也就是规划进度管理、定义活动、排列活动顺序这三小节,是整个进度管理知识域的起手式。看似只有三节,但信息密度极高,术语之…

2026/10/12 6:05:34 阅读更多 →
X4独角兽新版PHP视频网站源码实测:部署、播放器与二次开发指南

X4独角兽新版PHP视频网站源码实测:部署、播放器与二次开发指南

做视频站的朋友应该都清楚,选一套靠谱的源码比什么都重要。市面上PHP视频网站源码不少,但真正能打、更新及时、后台顺手的不多。今天聊的这套X4独角兽视频网站新版源码,我前后在本地和服务器上都跑过,也拿它搭过测试站&#xff0c…

2026/10/12 6:05:34 阅读更多 →
AI 调试心法:用「完整日志 + 循环修复」让 AI 成为你的排错搭档

AI 调试心法:用「完整日志 + 循环修复」让 AI 成为你的排错搭档

文档教程Vibe Coding示例工程 【免费下载链接】vibe-vibe The First Systematic Vibe Coding Open-Source Tutorial | From Zero to Full-Stack, Empowering Everyone to Build Products with AI | Live at: www.vibevibe.cn ;首个系统化 Vibe Coding 开源教程 | 零…

2026/10/12 6:05:34 阅读更多 →
用巴菲特原则评估量子创业:从护城河到价值创造

用巴菲特原则评估量子创业:从护城河到价值创造

量子、巴菲特、创业生态、价值创造,这四个词放到一句话里,很多人第一反应是"硬凑"。一边是奥马哈的吼叫与汽水,一边是实验室里的极低温稀释制冷机,画风差得有点远。但过去两年我一直在用巴菲特的财务标尺去反推一批量子…

2026/10/12 6:05:34 阅读更多 →
Vibe Coding真相:零基础也能用自然语言打造效率工具?

Vibe Coding真相:零基础也能用自然语言打造效率工具?

1. 先说个真实场景:一个零基础朋友是怎么把活干完的前两天一个从没写过代码的朋友找我,说单位里每天要整理几十张Excel表,手工复制粘贴到晚上八点。她说听说现在有Vibe Coding,问我是不是真的不用学编程也能自己做个工具。当时我的…

2026/10/12 6:05:34 阅读更多 →
牛客寒假算法集训营第一场题解:双指针、树形DP与字符串DP实战

牛客寒假算法集训营第一场题解:双指针、树形DP与字符串DP实战

牛客寒假算法基础集训营第一场这套题,我印象挺深。难度曲线并不是那种“签到题送到嘴边、压轴题劝退所有人”的极端分布,前几道确实送分,但从G题开始就进入双指针、树形DP、字符串DP这些正经考点,最后两道又考模型转化和临场取舍。…

2026/10/12 6:04:34 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →