自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 后端开发必须掌握的Linux命令[管道篇]

管道相关命令 cut 功能 主要的用途在于将『同一行里面的数据进行分解!』 处理的讯息是以『行』为单位 以某些字符当作分割的参数,然后来将数据加以切割, 以取得我们所需要的数据。 输入 cut[参数] 实例 grep 功能 刚刚的 cut 是将一行讯息当中,取出某部分我们想要的, ...

2020-02-28 14:49:14

阅读数 10

评论数 0

原创 后端开发必须掌握的Linux命令[变量篇]

变量相关命令 变量的声明赋值 功能 相当于是声明一个变量 同时给变量赋值 输入 声明方法1: 通过 赋值符号 = 声明方法2: 通过read 用read以后 变量赋值是通过终端等待用户的键盘输入 来执行 [dmtsai@study ~]$ read [-pt] variable 选项与参数: ...

2020-02-28 13:33:04

阅读数 8

评论数 0

原创 后端开发必须掌握的Linux命令[bash篇]

bash相关操作 数据流重导向 功能 将命令在终端的标准输出 标准出错 重定向到别的地方比如文件中 或者读取文件的内容来取代标准输入 输入语法 1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << ; 一般和cat配合使用将一个文件的内容输出到另外一个文件 2. 标...

2020-02-28 08:58:40

阅读数 28

评论数 0

原创 一个小时学会Vim

Vim的三种模式 一般模式 进入: vim 一开始打开一个文件就默认进入了一般模式 功能: 在一般模式下你可执行 移动 复制 粘贴 删除字符 删除整行 编辑模式 进入 : vim在一般模式下按 i o a R 四个键之一就进入了编辑模式 在编辑模式下按ESC就返回一般模式 功能: 在编辑模式...

2020-02-27 15:59:04

阅读数 17

评论数 0

原创 后端开发必须掌握的Linux命令[网络篇]

网络相关命令 netstat 功能 显示网络状态。 输入 netstat [参数] -a-显示所有socket -l 显示所有处于监听状态的socket -t 显示所有使用tcp协议的socket -u-显示UDP传输协议的连线状况。 -s 显示所有网络协议的统计信息。 输出 1. 列...

2020-02-26 23:38:48

阅读数 10

评论数 0

原创 后台开发必备的那些linux命令[磁盘篇]

磁盘相关命令 du 功能 显示指定的目录或文件所占用的磁盘空间。 输入语法 du [参数][目录路径或文件路径] 常用参数: -a 显示指定目录下所有单独的文件大小 后面不加文件或者目录路径则表示本目录 -b 以byte为单位显示 -c 除了显示单独的目录或者文件的大小外,同时也显示所有目...

2020-02-26 22:36:09

阅读数 11

评论数 0

原创 后端开发必须掌握的Linux命令[进程篇]

进程相关命令

2020-02-26 14:11:41

阅读数 10

评论数 0

原创 后端开发必须掌握的Linux命令[性能检测篇]

性能监测相关命令 mpstat 功能: 显示CPU的状态信息 这些信息存放在/proc/stat文件中。 在多CPUs系统里, 其不但能查看所有CPU的平均状况信息, 而且能够查看特定CPU的信息。 输入语法: mpstat(选项)(参数) 选项 -A : 此选项等效于# mpst...

2020-02-25 21:48:44

阅读数 65

评论数 0

原创 三张图搞懂线程局部存储TLS技术

2020-02-20 21:56:48

阅读数 22

评论数 0

原创 高并发内存池的实现

第一层:Thread Cache(线程缓存) 1.thread cache是内存池中的第一层缓存, 这一层缓存主要解决的问题就是并发状态下锁竞争的效率问题。 线程在这里申请不需要加锁,每一个线程都有自己独立的cache,这也就是这个项目并发高效的地方。 怎么实现每个线程都拥有自己唯一的线程缓存...

2020-02-18 15:14:26

阅读数 36

评论数 0

原创 浅谈计算机的七层网络模型

引入 本文是计算机网络系列的第一篇文章 学东西得先有个全局观 才不会只见树木不见森林 所以本文将先从计算机网络的网络模型开始 分别介绍各层模型分别是啥, 它包含了啥,它能干啥. 计算机网络的整体结构其实很清晰 就是由几层不同的协议层来组成一套网络模型 层层配合 完成网络传输 搞明白...

2020-02-12 22:29:24

阅读数 48

评论数 0

原创 LeetCode高频算法题汇总--链表篇

题一:链表逆序a Leetcode 206 题二:链表逆序bLeetCode 92 题三: 两个链表的交点 LeetCode 160 题四:链表求环 Leetcode 141 题五 :链表划分 LeetCode 86 题六:两个排序链表合并 Leetcode 21 题七:多个排序链表合...

2020-01-31 20:46:41

阅读数 31

评论数 0

原创 三个小时入门Go语言

基础知识(1h) 引入 变量 类型 运算符 控制语句 作用域 面向对象(1h) 结构体 方法 包 并发编程(1h) Goroutine channel

2020-01-26 13:35:11

阅读数 63

评论数 0

原创 Golang 学习笔记-----包

包介绍 包定义 包的可见性 包的导入 包的初始化 常用包 os包 time包 bytes包 fmt包 path/filepath包 encoding/json 包 bufio包 os/exec包 protobuf 包 strconv 包 context包 data...

2020-01-26 13:27:17

阅读数 32

评论数 0

原创 Golang 学习笔记-----方法

概念 使用 (1)当使用值接收者声明方法,调用时会使用这个值的一个副本来执行。此时该类型的值不会被改变,例: type user struct { name string email string } func (u user) changeEmail0(email strin...

2020-01-26 13:00:21

阅读数 26

评论数 0

原创 Golang 学习笔记-----channel

概念 声明 初始化 操作 发送 接收 关闭 判断关闭 分类 有缓冲通道 无缓冲通道 单向通道 异常 概念 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换,但是共享内存在不同...

2020-01-26 11:19:55

阅读数 29

评论数 0

原创 Golang 学习笔记-----Goroutine

引入 关于并发与并行 关于协程 关于goroutine 使用 单个 多个 池 同步 介绍 互斥锁 读写锁 原子操作 执行 可增长的栈 goroutine调度 GOMAXPROCS 回收 sync.WaitGroup sync....

2020-01-26 11:06:39

阅读数 111

评论数 0

原创 Golang 学习笔记-----基础数据类型

整型 一般整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64 其中,uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型。 ...

2020-01-26 01:14:15

阅读数 25

评论数 0

原创 Golang 学习笔记----作用域

2020-01-25 21:03:27

阅读数 28

评论数 0

原创 Golang 学习笔记-----控制语句

一、if else语句 1.1 基本语法 1.2 示例 二、switch语句 2.1 基本语法 2.2 示例 三、for 语句 3.1for结构简介 3.2基于计数器的for循环 3.3基于条件判断的for循环 3.4for-range结构 3.5无限循环 四、Break ...

2020-01-25 21:02:16

阅读数 35

评论数 0

原创 Golang 学习笔记-----运算符

一、算数运算符二、关系运算符 三、逻辑运算符 四、位运算符 五、赋值运算符 六、其他运算符 七、运算符优先级 一、算数运算符 下表列出了所有Go语言的算术运算符。假定 A 值为 10,B 值为 20。 运算符 描述 实例 ...

2020-01-25 20:58:38

阅读数 33

评论数 0

原创 Golang 学习笔记-----类型

概念 类型声明 概念 使用 作用 区别 类型转换 类型分类 基础数据类型 数值类型 布尔类型 字符类型 字符串类型 复合数据类型 array数组 slice切片 pointer指针 map字典 stru...

2020-01-25 20:43:43

阅读数 38

评论数 0

原创 Golang 学习笔记-----变量

命名 命名规则 关键字重复 访问范围 命名风格 声明 初始化 一般变量初始化 默认变量初始化 简短变量初始化 new变量初始化使用原理make变量初始化使用原理 作用范围 生命周期 垃圾回收机制 赋值 基本赋值操作元组赋值操作 命名 命名规则 一个名字...

2020-01-25 18:53:54

阅读数 41

评论数 0

原创 Golang 学习笔记-----引入

语言特性 程序结构 编译执行 语言特性 1、语法规范。Go语言实现了语法规范的高度统一,例如Go语言规定大写字母开头是公开类型,而小写字母开头是私有类型,真正做到了语言规范的最高境界之“望文知义”。而在C++开发代码里没有这样的规定,因此看到一个类的成员变量名称,还需要跳转到类的定义...

2020-01-25 16:19:27

阅读数 70

评论数 0

原创 两种并发模式:半同步半异步 领导者追随者

介绍 半同步半异步 介绍 变体 半同步半反应堆 高效的半同步半反应堆领导者追随者 介绍 实现 组成 过程 优缺点 介绍 并发模式是指IO处理单元和多个逻辑单元之间协调完成任务的方法 主要有半同步半异步领导者追随者两种模式。 半同步半异步 介绍 同步线程是指...

2020-01-13 13:58:08

阅读数 104

评论数 0

原创 Reactor模式和Proactor模式

Reactor模式 原理讲解 实现方案 优点缺点 Proactor模式 原理讲解 实现方案 异步IO实现 同步IO实现 两者对比 Reactor模式 原理讲解 实现方案 优点缺点 Proactor模式 原理讲解 实现方案 ...

2020-01-13 11:14:08

阅读数 102

评论数 0

原创 有限状态机

有限状态机的概念: 有限状态机的应用: 有限状态机的概念: 什么叫有限状态机呢? 举个例子 state_machine(Package _pack) { PackageType _type=_pack.getType(); switch...

2020-01-12 17:53:30

阅读数 141

评论数 0

原创 从零开始实现Web服务器(二)----服务器程序的程序结构

服务器程序的程序结构 知识脉络 概览 模块划分 I/O处理单元 逻辑单元 网络存储单元 请求队列 模块配合模式 事件处理模式 并发模式 模块实现基础 多进程技术 多线程技术 优化方向 池化技术 数据复制 上下文切换和锁 ...

2020-01-12 12:27:38

阅读数 114

评论数 0

原创 从零开始实现Web服务器(一)----服务器程序的关系模型

本系列的整体结构划如下 可以关注我的微信公众号Geek极客星球 获取完整的思维导图整理+代码实现 服务器程序的关系模型 c/s模型 概念:全称 Client/Server模型 即客户端访问服务器来获取所需的资源,因为资源被数据提供者垄断 适合资源集中的场合 优点: 实现...

2020-01-12 11:17:25

阅读数 143

评论数 0

原创 关系型和非关系型数据库的区别

区别一:存储方式 关系型数据库以数据库表形式存储数据 结构比较规整固定 非关系型以JSON文档、哈希表或者其他方式 结构更加灵活和可扩展 区别二:表和数据的关系 关系型数据库中,必须定义好表和字段结构后才能添加数据, 非关系型数据库中,数据可以在任何时候任何地方添加,不需要先定义表,...

2019-12-22 23:44:48

阅读数 90

评论数 0

原创 数据库的数据模型

数据模型按不同的应用层次分成三种类型:分别是概念数据模型、物理数据模型、逻辑数据模型。 概念数据模型 物理数据模型 逻辑数据模型 层次模型 设计思想: ​优点: 缺点: 网状模型 设计思想: 优点: 缺点: 关系模型 设计思想: 优点: 缺点: 数据结构:​ 约束...

2019-12-22 22:42:39

阅读数 87

评论数 0

原创 数据库的哈希索引

哈希索引也叫散列索引,本文将按照一下结构进行讲解 占坑 后面写~ 有需要数据库思维导图资料的 可加我微信ccc1786270790 或者关注微信公众号 Geek极客星球 ...

2019-12-20 17:25:24

阅读数 84

评论数 0

原创 数据库学习笔记 ----什么是事务

事务的必要性 事务的概念 事务的ACID特性 事务的必要性 A给B转账100元 在数据库系统里面会分两步 第一步A减少100元 第二步B增加100元 可能会出现以下幺蛾子1.上面第二步执行失败或者第二步执行中系统发生崩溃或者第二步刚执行完成系统发生崩溃(故障异常) A减少了10...

2019-12-15 19:06:40

阅读数 94

评论数 0

原创 数据库学习笔记 -----DBMS体系结构介绍

概要 查询处理器 DDL解释器 DML编译器 查询执行引擎 执行过程 存储处理器 事务管理器 文件管理器 缓冲区管理器 权限和完整性管理器 执行过程 物理部分 数据文件和索引 统计数据 数据字典 概要 数据库管理系统的结构由上面一张图就可以表示清楚了 两幅图...

2019-12-15 14:05:40

阅读数 94

评论数 0

原创 数据库学习笔记----数据库知识体系思维导图

从基本概念 ,sql语言 到 事务 innodb redis这里都有 有需要更多更详细的思维导图(操作系统 计算机网络 等等)可以联系我微信 ccc17862701790 ...

2019-11-30 16:41:25

阅读数 107

评论数 0

原创 "undefined reference to" 类型问题出现原因和解决方式

原因一:链接时缺失了相关目标文件(.o) 比如说在main函数里面调用了test()函数 但是你没有给出test函数的函数体实现 或者你实现了test函数体但是没有把头文件包括进来main文件 导致链接阶段编译器找不到函数体实现 以上面的两个文件为例子 main.c test.c 如果...

2019-10-16 10:15:44

阅读数 88

评论数 0

原创 和我一起Leetcode: 96 不同的二叉搜索树

动态规划法 class Solution { public: int numTrees(int n) { vector<int> dp; dp.push_back(1); dp.push_back(1); ...

2019-10-10 18:10:43

阅读数 84

评论数 0

原创 单例模式原理及C++实现

单例模式的应用场景 单例模式的设计思路 单例模式的代码实现 介绍 饿汉式 懒汉式 懒汉式改进----用嵌套类解决内存泄漏 懒汉式的改进-----用双重检测锁DLC解决线程安全 懒汉式的改进-----用内部静态变量解决线程安全 后记 单例模式的应用...

2019-09-26 13:14:05

阅读数 98

评论数 0

原创 关于select poll epoll的一切 ,看这一篇就够了

select poll epoll

2019-09-18 17:20:15

阅读数 125

评论数 0

原创 (应该是讲的最易懂的一篇)关于epoll的一切 ,看完这篇你就彻底懂了

欢迎交流 QQ :2431173627 Wechat: ccc17862701790 引入原因 工作原理 epoll_create(), epoll_ctl() epoll_wait() ET LT 总结 特点分析 特点分析 引入原因 先可以回顾一...

2019-09-18 17:15:35

阅读数 118

评论数 0

提示
确定要删除当前文章?
取消 删除