logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

操作系统面试题

虚拟内存是OS利用物理内存 + 磁盘交换分区(swap)实现的内存抽象机制。给每个进程提供独立、连续的虚拟地址空间,程序不用关心物理内存碎片化。内存不够的时候,把暂时不用的内存页写到磁盘swap;需要的时候再换回物理内存(缺页中断)。好处:进程隔离、内存复用、让程序可用内存大于实际物理内存。

#java#linux#服务器
字节火山AI网关一面凉经

UI 和业务代码都能在 common 模块中复用,一套代码同时覆盖 Android 和 iOS 两端,开发人员只需掌握 Kotlin 一门语言即可完成跨端业务开发,既节省了人力成本,也降低了团队的学习门槛。保留原生平台能力:系统 SDK、原生第三方库都可以在 KMP 中直接调用,无需像其他跨端方案那样通过桥接层中转,既减少了性能损耗,也降低了接入复杂度。KMP 的核心是一套 Kotlin 公共业务

#面试
字节火山AI网关一面凉经

UI 和业务代码都能在 common 模块中复用,一套代码同时覆盖 Android 和 iOS 两端,开发人员只需掌握 Kotlin 一门语言即可完成跨端业务开发,既节省了人力成本,也降低了团队的学习门槛。保留原生平台能力:系统 SDK、原生第三方库都可以在 KMP 中直接调用,无需像其他跨端方案那样通过桥接层中转,既减少了性能损耗,也降低了接入复杂度。KMP 的核心是一套 Kotlin 公共业务

#面试
C++ 文件的定位和大小

C++文件定位操作摘要: C++通过seekg()和seekp()分别定位文件的读/写位置,参数包括偏移量和基准位置(beg/cur/end)。文件大小可通过指针定位和位置查询组合实现:先将指针移至文件末尾(seekg(0,ios::end)),再用tellg()获取字节数。示例代码演示了打开文件后,通过比较起始和结束位置差值计算文件大小的完整流程。这些函数需包含<fstream>头文

#c++#开发语言
C++ STL:array容器常见用法

摘要:std::array是C++11引入的固定大小数组容器,具有编译时确定大小、栈上分配、性能高效等特点。它支持多种初始化方式(包括C++17的类型推导)、多种元素访问方法(下标、at()、迭代器等),并能与STL算法无缝配合。与原始数组相比,std::array提供了更安全的边界检查、容器接口和便利的操作方法,同时保持相同性能。适用于需要固定大小数组且注重性能的场景,动态大小需求则应使用std

#c++#开发语言
VS Code 调试 Linux C++(CMake 工程)全流程

本文介绍了在VSCode中远程调试Linux服务器C++项目的完整配置流程。首先确保安装必要的开发工具和VSCode插件(C/C++、CMakeTools等)。重点说明多文件项目需要CMake构建,给出了标准项目结构和关键配置文件(.vscode/launch.json)的写法。详细分四个步骤:1)选择GCC编译器;2)CMake配置生成构建系统;3)编译项目;4)启动调试。通过CMakeTool

#linux#c++#开发语言
C++11之move移动语义

这篇文章用通俗易懂的方式解释了C++中的move语义。通过"借书"的比喻,说明了move操作通过所有权转移避免不必要的拷贝,提升性能。文章给出了move的四个典型应用场景:1)在容器操作中高效移动元素;2)拷贝对象时避免深复制;3)实现高性能的swap函数;4)在构造函数初始化列表中使用。每个场景都配有代码示例和输出结果,直观展示了move的效果。需要注意的是,move后的原始

#c++#开发语言
C++11 多线程的实现

本文介绍了C++11多线程编程的核心操作:1.线程创建支持多种线程体形式(全局函数、成员函数、仿函数、Lambda表达式),并演示了线程创建、线程ID获取及两种回收方式(join/detach)。2.互斥锁部分说明如何使用mutex保护临界资源,通过lock/unlock解决竞态问题。3.条件变量章节展示了生产者-消费者模型实现,重点讲解wait/notify机制,包括notify_one和not

#开发语言#c++#linux
到底了