上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 七、工厂模式 定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例 化延迟到子类。 ——《设计模式》GoF 背景 实现一个导出数据的接口,让客户选择数据的导出方式; 要点 解决对象创建过程比较复杂,希望对外隐藏这些细节的场景;工厂封装了对象创建过程 阅读全文
posted @ 2022-03-03 01:26 幻cat 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 六、单例模式 定义 保证一个类仅有一个实例,并提供一个该实例的全局访问点。 ——《设计模式》GoF 版本一 1 class Singleton { 2 public: 3 static Singleton * GetInstance() { 4 if (_instance == nullptr) { 阅读全文
posted @ 2022-03-03 01:00 幻cat 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 一、背景 使用 word 文档时,word 如何判断某个单词是否拼写正确? 网络爬虫程序,怎么让它不去爬相同的 url 页面? 垃圾邮件过滤算法如何设计? 公安办案时,如何判断某嫌疑人是否在网逃名单中? 缓存穿透问题如何解决? 需求 上面的需求都是从海量数据中查询某个字符串是否存在? 二、平衡二叉树 阅读全文
posted @ 2022-03-02 00:08 幻cat 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 一、红黑树的原理 红黑树和2-3-4树是等价的,由于绝大多数编程语言直接实现2-3-4树会非常繁琐,所以一般是通过实现红黑树来实现替代2-3-4树,而红黑树本也同样保证在O(lgn)的时间内完成查找、插入和删除操作。 红黑树可以看作是一颗节点带颜色的二叉树搜索树。节点只有两种颜色,即红色和黑色。(红 阅读全文
posted @ 2022-03-01 01:56 幻cat 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 一、前置知识 1. 三级存储结构 计算机存储结构简单的描述有cpu上的寄存器、内存、磁盘。读取速度从磁盘到寄存器依次增快,存储容量从磁盘到寄存器依次减少。 2. 磁盘的物理结构与读取方式 磁盘按扇区存储,每次存取则去寻找对应扇区,而每一次寻址的速度都是较慢的。 3. Btree Btree的出现是为 阅读全文
posted @ 2022-02-25 15:28 幻cat 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 一、Ubuntu安装 Ubuntu安装可以直接使用apt工具 sudo apt-get install mysql-server //服务端 sudo apt-get install mysql-client //客户端 sudo apt-get install libmysqlclient-dev 阅读全文
posted @ 2022-01-04 21:02 幻cat 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 一、线程池的功能 减少线程的创建和销毁的内存资源消耗。 二、线程池基础结构 消息队列 任务执行队列 管理组件 2.1 简易数据结构 2.1.1 消息队列 使用双向链表实现队列结构,节点消息包括执行的消息函数以及函数参数数据。 1 struct nTask { 2 void (*task_func)( 阅读全文
posted @ 2021-12-31 21:19 幻cat 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 一、锁 1. 互斥锁(mutex_lock) 最常使用于线程同步的锁;标记用来保证在任一时刻,只能有一个线程访问该对象,临界区和互斥量都可用来实现此锁,通常情况下锁操作失败会将该线程睡眠等待锁释放时被唤醒。此时有线程切换的消耗。 ① 原子性:互斥锁加锁操作是一个原子操作,这保证了如果一个线程锁定了一 阅读全文
posted @ 2021-12-19 16:56 幻cat 阅读(50) 评论(0) 推荐(0) 编辑
摘要: git config git config --list git config --local --list git config --global --list github 上传只支持ssh ssh申请密钥 ssh-keygen -t rsa -C “your.email” 参数说明:-t是指定 阅读全文
posted @ 2021-12-05 15:51 幻cat 阅读(20) 评论(0) 推荐(0) 编辑
摘要: Shell精讲 Shell即是命令语言,有啥一种程序设计语言。Linux中的shell有很多种类,本文使用的是Bourne Again Shell(/bin/bash),这也是大多数Linux系统默认的Shell。 第一个Shell脚本 打开文本编辑器,新建一个文件first.sh,扩展名为sh(代 阅读全文
posted @ 2021-12-04 00:56 幻cat 阅读(39) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页