- 博客(98)
- 问答 (4)
- 收藏
- 关注
原创 RocksDB 与 ZenFS:原理、特性及在科研与工程中的应用初步探索
RocksDB是一个高性能嵌入式键值数据库引擎,基于LevelDB改进,专为高吞吐、低延迟场景设计。ZenFS是为ZNS SSD设计的用户态文件系统插件,专门服务于RocksDB的数据管理。两者关系如下:RocksDB作为嵌入式库直接集成到应用程序中,默认使用普通文件系统;而ZenFS作为可选插件,为RocksDB提供针对ZNS SSD优化的顺序写入接口。科研中常将两者结合用于新型存储设备性能评估,形成"应用-RocksDB-ZenFS-ZNS SSD"的完整实验架构。
2025-07-10 23:53:31
659
原创 ZNS初步认识—GPT
ZNS SSD:优化存储效率的新技术 ZNS(Zoned Namespace)SSD是一种新型NVMe存储设备,通过分区管理机制解决传统SSD的痛点。它将存储空间划分为固定大小的区域(Zone),每个区域仅支持顺序写入,需重置才能重新写入。这种设计显著降低了传统SSD因复杂FTL(闪存转换层)带来的写入放大、性能波动等问题。ZNS SSD的优势包括:更低的写入放大(接近1)、更稳定的性能、更长的使用寿命以及简化的控制器设计。然而,这种变革要求操作系统、文件系统和数据库等软件栈进行重大调整以适应新的存储特性。
2025-06-30 19:12:18
774
原创 MIT 6.S081—环境配置和初步学习day01(VMware和Ubuntu安装)
本文介绍了在虚拟机中安装和配置Ubuntu 20.04系统以运行xv6操作系统的完整流程。首先从VMware官网下载并安装Workstation Pro虚拟机软件,然后获取Ubuntu 20.04.3桌面版ISO镜像。详细展示了创建虚拟机、分配资源(建议4GB内存、25GB存储)和安装Ubuntu的步骤。安装完成后,需执行命令安装必要的开发工具链,包括RISC-V编译器、QEMU模拟器和调试工具。最后通过git克隆xv6-labs-2021项目仓库,运行make qemu命令成功启动xv6系统。
2025-06-26 23:06:51
918
原创 vscode+react+ESLint解决不引入组件,vscode不会报错的问题
摘要:解决VSCode不报错React组件未导入问题,需配置ESLint规则。步骤: 确保安装eslint-plugin-react等依赖 创建eslint.config.js文件 配置包含React插件推荐规则(含jsx-no-undef) 安装VSCode的ESLint插件 配置中需特别设置react/jsx相关规则和JSX语法支持 通过此配置可强制检测未导入的React组件,解决默认不报错问题。重点使用reactPlugin.configs.recommended.rules来启用相关检查规则。
2025-06-22 22:10:49
196
原创 C++实现异步(重叠)管道通信
本文介绍了一种使用重叠I/O(OVERLAPPED)实现命名管道异步通信的方法,通过创建停止事件和工作线程,避免阻塞ConnectNamedPipe操作。主要步骤包括:1) 创建停止事件和OVERLAPPED事件;2) 以FILE_FLAG_OVERLAPPED标志创建命名管道;3) 启动后台线程使用WaitForMultipleObjects同时监听停止事件和管道连接事件;4) 在窗口销毁时通过SetEvent通知线程退出。该方法实现了管道连接的异步处理,并提供了安全的线程退出机制,确保程序能够及时释放资
2025-06-19 23:22:32
162
原创 yarn create vite报错:文件名、目录名或卷标语法不正确。 error Command failed.
摘要(150字) 由于Yarn默认将安装包存储在C盘,而npm包被安装在D盘,导致路径冲突报错。需修改Yarn的全局包安装目录:1. 在D盘新建Yarn文件夹并创建global和cache子目录;2. 通过命令行设置新路径:yarn config set global-folder "D:\...\global"和yarn config set cache-folder "D:\...\cache"。此操作将同步Yarn与npm的存储位置,解决磁盘路径不一致问题。(1
2025-06-19 23:14:48
238
原创 vs2022同一个解决方案根据版本变更动态加载不同project
你可以通过脚本(如 PowerShell、bat 文件)来动态生成或修改 .sln 文件,根据 YEAR环境变量的值,自动替换 .sln 文件中的项目路径。你可以在 .vcxproj 文件中使用 MSBuild 的 PropertyGroup 来定义路径,并结合 MSBuild 的条件编译机制来动态调整项目文件的路径。如果bat中定义num=1111,Dll1.sln中的%num%就会被替换为1111,如果是2222,就会被替换为2222。打开编辑Dll1.sln,加入bat中的num名。
2024-10-24 00:35:26
432
原创 开发中ostringstream,格式化输出的问题
这段代码利用了 C++17 的特性,结合模板和来处理不同类型的输入。对于浮点类型,代码会格式化输出,保留四位小数;对于非浮点类型,直接将值转化为字符串输出。这种方法可以在编译时根据类型生成优化的代码,非常适合模板编程场景。:允许在编译时对类型进行条件判断,避免不必要的代码生成。:提供了一个灵活的方式来将各种类型的数据格式化为字符串。和 std::fixed:用来控制浮点数的输出格式。非常适合格式化输出,特别是当你需要将多种不同数据类型格式化成字符串时。通过重载
2024-09-10 23:33:13
862
原创 C++标准库函数 std::rotate
前向迭代器是一种迭代器类型,它支持以下操作:可以通过解引用来访问元素。可以向前移动(支持++操作符)。任何可以用前向迭代器的算法,也可以用更强的随机访问迭代器来工作(如std::vector和std::array的迭代器)。C++标准库中的容器如std::vector、std::list、std::deque等都提供了前向迭代器,因此你可以直接在这些容器上使用std::rotate。
2024-08-12 20:30:19
631
原创 C++中constexpr和#define定义常量的区别
在C++中,使用constexpr来定义常量和使用宏#defineconstexprconstexprconstexprconstexpr你可以在类内使用constexpr来定义常量,并规定这些常量只在类的范围内生效。
2024-07-03 17:17:10
784
原创 lib库和dll库的介绍和使用
静态库的.lib文件:包含了所有函数的完整实现。动态库的.lib文件:不包含函数实现,仅包含函数的符号信息,用于链接时指向对应的.dll文件。在解决方案中,一个DLL工程中和一个Lib工程,DLL工程调用Lib工程需要添加附加依赖项和附加库目录。
2024-06-05 21:13:09
1061
原创 VS2022,lib调用dll工程的一个函数
lib工程本身是一个静态库工程,没有链接器设置。然而,我们依然可以在lib工程中调用DLL工程中的函数,只需要确保头文件正确导入,并在最终使用lib的可执行文件项目中正确链接DLL的.lib文件。下面是一个详细的步骤说明:假设有以下项目:::2. 在静态库工程中包含DLL工程的头文件并使用函数:3. 在可执行文件工程中配置链接和调用在可执行文件工程中,需要链接DLL的.lib文件以及静态库的.lib文件。:可执行文件工程设置:包含路径:库目录:附加依赖项:假设目录结构如下:ExeProject
2024-06-05 20:50:28
632
原创 tomcat解决Output和Tomcat Localhost Log乱码问题
【代码】Tomcat解决Output和Tomcat Localhost Log乱码问题。
2024-05-26 02:47:20
525
原创 C++函数指针,键值对集合的学习
这段代码使用了来存储作为键(key),而对应的值(value)是一个类型的函数指针。这个结构使得根据字符串键来动态调用不同的函数成为可能。下面,我将详细解释代码中的每个关键部分。这是一个基于哈希表的关联容器,它允许快速的键值对查找。键(key)是唯一的,并且每个键都映射到一个值。在这个例子中,键是类型,而值是一个函数指针,封装在中。是一个函数包装器,它可以存储、调用或引用任何可调用的目标——函数、Lambda 表达式、函数指针、或其他函数对象。这里,它被用来存储接受三个参数的函数:一个,一个。
2024-05-23 20:56:45
737
原创 C语言—窄字符或宽字符
在Windows编程中,API函数通常提供了窄字符版本(以“A”结尾,例如MessageBoxA)和宽字符版本(以“W”结尾,例如MessageBoxW),开发者可以根据需要选择使用窄字符或宽字符版本的函数。在窄字符编码中,一个字节能够表示的字符数量有限,通常包括基本的ASCII字符集(0-127)和一些扩展字符,但不包括特殊字符、非拉丁字符、汉字等。在Windows环境下,宽字符编码通常使用Unicode编码,每个字符占用两个字节(UTF-16编码),用于支持世界上各种语言的字符。
2023-11-07 23:54:40
448
空空如也
微机原理与接口8086存储器扩展
2022-06-21
pyqt5,python
2022-06-17
一道单链表数据结构题
2022-03-19
第十二届蓝桥杯的题,不知道哪里错了
2022-02-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人