当前位置: 首页 > news >正文

基础巩固:

发布订阅模式的实现:(基于观察者模式实现)

发布:(观察者)发布者向被观察类中注册感兴趣的事件,以map为结构(key值存储感兴趣的事件,value为该事件的感兴趣对象,链表存储)

订阅:(被观察者上被推送了事件后,轮询遍历该事件map key 对应的对象链表)进行信息通知伴随回调函数进行事件处理

智能指针的unique_ptr,实现机制、=权值转移

unique_ptr不能实现拷贝构造、复制拷贝构造,但可以实现移动赋值的权值传递转移:具体先释放当前智能指针独占资源的内存,再将另一个资源的指针以传递对象的右值转移,最后将参数对象的资源制空

右值引用的作用、右值move()函数

右值:字面常量、临时对象、函数返回值、待消亡成员

move()函数:将一个左值强制转换为右值引用使得对象可以移动赋值(告诉编译器安全对对象践行移动操作资源所有权转移)

大型对象或者资源稠密型对象时可以显著提升性能,避免数据复制(复制构造、赋值运算)

操作系统的功能

处理器、存储器、运算器、控制器

处理器:合理为进程分配处理器的使用时间

存储器:内存、磁盘、移动U盘、缓冲区、随机存储器,管理内存、外存

文件管理、作业管理(程序提交作业的执行顺序)

虚拟地址:(虚拟地址映射到物理地址)是进程中抽象的内存地址空间,每个进程拥有连续的虚拟地址空间,相互隔离

虚拟地址映射关系:

进程访问时通过页号和页内偏移量,再页表中查找到物理地址(物理页号、页内偏移量)

中断:计算机运行过程中,外部设备向CPU发出的请求信号,使得CPU暂停当前执行任务,处理中断请求,完毕后再继续执行中断了的任务

适配器模式:将一个接口转换成另一个接口,使得原本不兼容的类可以实现一起工作当现有类的接口不符合系统要求时,在新系统中使用适配器模式转换

装饰器模式:不改变原来对象的结构和功能前提下,动态的给对象添加一些额外的功能

析构函数设置为虚函数,在析构对象的时候,通过基类指针删除派生类对象,在调用基类的析构函数,避免资源泄漏未释放

深度优先:

解决迷宫逃离问题,沿一条执行路径尽可能探索、否则回溯尝试其他结点

拓扑排序:有向无环图,任务调度确定执行顺序

生成树问题:最小生成树

广度优先:

最短路径:最少步数

网络爬虫爬取页面

洪水填充算法:图像处理中填充封闭区域的颜色,一层层向外扩充

饱汉单例模式实现双重判空验证加锁实现多线程下的线程安全创建


http://www.mrgr.cn/news/58684.html

相关文章:

  • go 内存分配管理
  • 网络安全领域推荐职位
  • 鸿蒙原生开发问题汇总 Api12
  • 学习--四元数介绍
  • 分页列表缓存
  • Adobe Acrobat DC 打印PDF文件,没有打印出注释的解决方法
  • ML2021Spring-hw1(COVID-19 Cases Prediction)
  • MacOS 使用ssh2-python报错ImportError: dlopen ... Library not loaded
  • 视频AI系统工具:强大的图像识别和分析工具Google Cloud Vision API介绍
  • java高性能处理10G大文件
  • 7、哈希表
  • C#从零开始学习(用户界面)(unity Lab4)
  • 软考:缓存击穿和缓存穿透
  • Vue 自定义指令 Directive 的高级使用与最佳实践
  • 线程池——Java
  • Redis和MySQL如何保证数据一致性
  • 洛谷 P1130 红牌
  • 鸿蒙UI系统组件17——富文本展示(RichText)
  • 批量归一化(Batch Normalization)
  • Python爬虫教程:从入门到精通
  • 考研要求掌握的C语言程度(堆排序)1
  • 【数据结构初阶】二叉树---堆
  • 总结性标题:高效导入文本数据,探索 MySQL 与 Java 的最佳实践
  • kaggle在线训练深度学习模型
  • moment.js 获取相关时间节点(今天、本周、本月、本季度、本年)
  • 安全见闻---清风