自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GSX

当知此事要躬行

  • 博客(137)
  • 资源 (2)
  • 收藏
  • 关注

原创 VsCode Inside Remote 远程开发配置

引言:在 PyCon 2019 大会上,微软发布了 VS Code Remote,通过安装Remote Development 扩展包,开发者可以通过VS Code直接在远程机器上进行开发调试,就像在本地开发调试一样,但目前仅在Insider版本中支持该功能。安装OpenSSHwin10:1.下载最新版本:https://github.com/PowerShell/Win3...

2019-09-20 11:38:57 949

原创 (一)DPDK环境搭建及Helloworld

开发环境系统: Ubuntu Server 18.04.3 LTS 版本: dpdk-18.11.2DPDK安装依赖项合集 环境合集更新软件apt updateapt upgradeGNU make一种构建工具,控制应用程序源代码的可执行代码和其他部分代码生成。sudo apt-get install makeCoreutils...

2019-09-19 21:18:19 1928

原创 (一)Linux系统综述

Linux内核overview内核---->外包公司系统调用子系统----->办事大厅----->请求资源的统一入口进程管理子系统----->项目管理系统---->对执行中的项目进行生命周期的管理内存管理子系统----->会议室管理系统---->对执行中的项目会议室管理(隔离,分配,回收)文件子系统----->档案管理系统...

2019-09-19 00:22:57 453

原创 后台开发面试-Linux和OS(转)

原文链接:https://blog.csdn.net/waltonhuang/article/details/52141712#t27目录请你说一下进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的基本概念:区别:进程间通信的方式:管道:2. 系统IPC:3.套接字SOCKET:线程间通信的方式:请你说一说进程状态转换...

2019-07-09 14:16:24 334

原创 (七)服务器安全与完善

一:过往总结、心跳包代码实战前面总结心跳包概念心跳包代码实战二:控制连入数,黑客攻击防范及畸形包应对控制并发连入数量黑客攻击防范超时直接踢出服务器的需求三:超负荷安全处理、综合压力测试输出一些观察信息遗漏的安全问题压力测试准备压力测试四:惊群、性能优化大局观cpu占比与惊群性能优化大局观性能优化实施配置最打允许打...

2019-06-01 16:43:19 126

原创 (六)业务逻辑处理框架

一:业务逻辑之多线程、线程池实战多线程的提出线程池实战代码线程池的使用二:业务逻辑之打通业务处理脉搏线程池实现具体业务之准备代码threadRecvProcFunc()函数整体测试三:预发包,多线程资源回收深度思考业务逻辑细节写法说明连接池中连接回收的深度思考程序退出时线程的安全终止epoll事件处理改造连接延迟回收的具体作用...

2019-06-01 16:36:47 340

原创 (五)网络通讯-收发包

一:ET、LT深释,服务器设计、粘包解决ET、LT深释以及测试服务器设计服务器设计原则总述收发包格式问题提出TCP粘包,缺包TCP粘包,缺包解决二:收包解包收包分析以及包头结构定义收包状态宏定义收包实战代码遗留问题测试服务器...

2019-06-01 16:28:54 930

原创 (四)网络通讯-epoll

一:epoll函数实战一个注意配置文件的修改epoll函数实战ngx_epoll_init函数内容ngx_epoll_init函数调用ngx_epoll_process_events函数调用位置ngx_epoll_process_events函数内容 事件驱动ngx_event_accept函数内容 epoll两种工作模式:L...

2019-06-01 16:24:04 127

原创 (三)网络通讯-基础知识

一:C/S, TCP/IP协议客户端与服务器网络模型最简单的客户端和服务器程序实现代码TCP和UDP的区别二:TCP三次握手详析、telnet,wireshark示范TCP连接的三次握手telnet工具使用介绍wireshark监控数据包三:TCP状态转换,TIME_WAIT详解,SO_REUSEADDRTCP状态转换TIME_WAIT状态...

2019-06-01 16:15:56 251

原创 (二)服务器程序框架初步

一:信号高级认识范例,服务器架构初步信号高级认识范例服务器架构初步目录结构规划(make编译)编译工具make的使用概述(编译出可执行文件)二:读配置文件、查泄漏、设置标题基础设施之配置文件读取内存泄漏的检查工具(2.1)memcheck的基本功能,能发现如下的问题;(2.2)内存泄漏检查示范设置可执行程序的标题三:读日志打印实战,优化mai...

2019-06-01 16:09:19 211

原创 (一)通讯实战基础

一:nginx的整体结构(1.1)master进程和worker进程概览(父子关系)(1.2)nginx进程模型(1.3)调整worker进程数量二:nginx进程模型细说(2.1)nginx重载配置文件(2.2)nginx热升级,热回滚(2.3)nginx的关闭(2.4)总结三:终端和进程的关系(3.1)终端与bash进程(3.2)终端上的...

2019-06-01 16:01:58 150

原创 12-排序

快速排序:算法A快速排序:性能分析快速排序:变种选取:众数选取:通用算法希尔排序:Shell序列希尔排序:更佳的序列

2019-06-01 14:07:04 146

原创 11-串

ADT串匹配蛮力匹配KMP算法:从记忆力到预知力KMP算法:查询表KMP算法:理解next[]表KMP算法:分摊分析KMP算法:在改进BM_BC算法:以终为始BM_BC算法:坏字符BM_BC算法:构造bc[]BM_BC算法:性能分析BM_BC算法:好后缀BM_BC算法:构造gs表BM_BC算法:综合性能Karp-Rabin算法...

2019-06-01 14:05:14 152

原创 10-优先级队列

需求与动机基本实现完全二叉堆:结构完全二叉堆:插入与上滤完全二叉堆:插入与下滤完全二叉堆:批量建堆堆排序左式堆:结构左式堆:合并左式堆:插入与删除...

2019-06-01 14:01:15 145

原创 9-词典

散列:原理散列:散列函数散列:排解冲突桶/计数排序

2019-05-21 14:23:33 148

原创 8-高级搜索树

伸展树:逐层伸展伸展树:双层伸展伸展树:算法实现B-树:动机B-树:结构B-树:查找B-树:插入B-树:删除红黑树: 动机红黑树: 结构红黑树: 插入红黑树: 删除...

2019-05-21 14:21:55 180

原创 7-二叉搜索树

概述那么所谓二叉搜索树首先在形式上继承了二叉树也就是列表结构的特点,同时也巧妙地借鉴了有序向量的特点和优势相对而言后一方面的借鉴更为重要,如果此前对列表结构的借鉴,只是外表的形式,那么这种对有序向量特点的借鉴,才是质的提高访问方式:循关键码访问-词条特性顺序性:任一节点均不小于其左后代,均不大于其右后代。单调性:BST的中序遍历序列必然单调非降...

2019-05-21 14:19:46 171

原创 6-图

概述邻接矩阵广度优先搜索深度优先搜索

2019-05-21 14:16:08 139

原创 5-二叉树

目录树树的表示接口父节点表示法孩子节点表示法父节点 + 孩子节点长子 + 兄弟二叉树二叉树实现BinNode模板类BinNode接口实现BinTree模板类高度更新节点插入子树接入子树删除子树分离先序遍历迭代1:思路迭代1:实现迭代1:分析迭代2:思路迭代2:实现迭代2:实例中序遍历观察...

2019-05-21 14:15:03 1156

原创 4-栈与队列

栈的接口与实现操作与接口实现template <typename T> class Stack: public Vector<T> { //将向量的首/末端作为栈底/顶public: //size()、empty()以及其它开放接口,均可直接沿用 void push ( T const& e ) { insert ( size(),...

2019-05-21 14:13:37 211

原创 3-列表

目录接口与实现列表节点:ADT接口列表节点:ListNode模板类列表:ADT接口列表:List模板类无序列表构造查找插入拷贝复制构造删除析构唯一化遍历有序列表唯一化查找选择排序构思实例实现:selectionSort性能插入排序构思实例实现性能​归并排序实现二路归并接...

2019-05-21 14:11:11 823

原创 2-向量

目录接口与实现ADT接口操作实例Vector模板类可扩充向量动态空间管理扩容算法expand()无序向量有序向量:唯一化有序向量:二分查找接口版本A:实现有序向量:Fibonacci查找(仅使用加法减法实现二分查找)思路和原理实现有序向量:二分查找(改进)版本B:改进思路版本B:实现版本C:实...

2019-05-21 14:10:07 591

原创 1-绪论

目录计算计算模型大O记号:最差时间复杂度(1)渐进分析:大O记号(2)大Ω记号(最好时间复杂度)和大theta记号(平均时间复杂度)(3)常数时间复杂度:O(1)(4)对数复杂度:O(logn)(5)多项式复杂度与线性复杂度O(n)(6)指数复杂度(7)各个类型复杂度层次对比算法分析(1)算法分析:复杂度分析的常用方法(2)常用的级数求和公式...

2019-05-21 14:07:20 351

原创 (六)STL周边浅谈

目录一个万用的hash_functionTuple用例type traitscoutmovable元素对于deque速度现的影响测试函数一个万用的hash_function将hash函数封装成类对象hash_val进行拆解传入参数,进行循环 每次拆解一个参数,都需要更新种子 TR1的工具,)0x9e3779b9是黄金比例数字0.618测...

2019-05-16 21:04:22 330

原创 (五)仿函数和适配器分析

目录仿函数和函数对象存在多种适配器Adapter函数适配器:Binder2nd函数适配器not1新型适配器bind迭代器适配器reverse_iteratorinserter适配器X适配器:ostream_iteratoristream_iterator仿函数和函数对象仿函数只为算法服务GNU C++独有的,非标准;identity在s...

2019-05-16 21:01:26 373

原创 (四)算法与迭代器分析

目录算法的形式迭代器的分类迭代器的分类对算法的影响算法源码剖析(11个例子)sort算法,区分C函数和STL库函数算法accumulate算法for_each算法replace,replace_if,replace_copy算法count,count_if算法find,find_ifreverse iterator:rbegin(),rend()算法...

2019-05-16 20:56:53 233

原创 (三)分配器和容器分析

目录分配器容器直接的关系与分类深度探索list迭代器设计原则和Iterator Trails的作用和设计vector深度探索array,foward_list深度探索容器array容器forward-listdeque,queue和stac深度探索dequequeue,stack的实现RB-tree深度探索set,multiset深度探索ma...

2019-05-16 20:53:58 632

原创 (三)线程通信(三)-POSIX信号量/互斥锁/条件变量

目录39POSIX信号量与互斥锁POSIX信号量相关函数POSIX互斥锁相关函数生产者消费者问题自旋锁与读写锁介绍40POSIX条件变量条件变量条件变量函数条件变量使用规范使用条件变量解决生产者消费者问题39POSIX信号量与互斥锁POSIX信号量相关函数system v 信号量只能用于进程间同步,而posix 信号量除了可以进程间同步,还可以线...

2019-05-15 15:15:43 550

原创 (三)线程通信(二)-POSIX线程

目录37POSIX线程(一)POSIX线程库相关函数用线程实现回射客户/服务器38POSIX线程(二)线程属性线程特定数据37POSIX线程(一)由于同一进程的多个线程共享同一地址空间,因此Text Segment、Data Segment都是共享的,如果定义一个函数,在各线程中都可以调用,如果定义一个全局变量,在各线程中都可以访问到,除此之外,各线程还共享以...

2019-05-15 15:14:28 711

原创 (三)线程通信(一)-线程介绍

目录36线程介绍什么是线程进程与线程线程优缺点线程模型N:1用户线程模型1:1核心线程模型pthread线程库--NPTL(Native POSIX Threading Library)N:M混合线程模型NGPT(Next Generation POSIX Threads)36线程介绍什么是线程现代操作系统调度的最小单元是线程,也叫轻量级进程,在一个...

2019-05-15 15:13:27 353

原创 (三)进程通信(五)-POSIX消息队列/共享内存

目录34POSIX消息队列POSIX消息队列相关函数POSIX消息队列示例35POSIX共享内存POSIX共享内存相关函数POSIX共享内存示例34POSIX消息队列posix消息队列的一个可能实现如下图:POSIX消息队列相关函数编译时候加上 -lrt 选项,即连接librt 库 (实时库)#include <fcntl.h&g...

2019-05-08 00:12:26 359

原创 (三)进程通信(四)-System V信号量

目录30System V信号量(一)信号量信号量集结构信号量集函数信号量示例31System V信号量(二)用信号集解决哲学家就餐问题33System V共享内存与信号量综合基于生产者-消费者模型实现先进先出的共享内存段30System V信号量(一)信号量●二值信号量:其值或为0或为1的信号量。这与互斥锁类似。若资源被锁住则信号量为0,若资源可...

2019-05-08 00:10:56 402

原创 (三)进程通信(三)-共享内存

目录28共享内存介绍共享内存示意图管道、消息队列与共享内存传递数据对比mmap函数munmap函数msync函数29System V共享内存共享内存数据结构共享内存函数shmgeshmatshmdtshmctl共享内存示例28共享内存介绍共享内存示意图共享内存区是最快的IPC形式,这些进程间数据传递不再涉及到内核,换句话说是...

2019-05-08 00:05:42 265

原创 (三)进程通信(二)-System V消息队列

目录25System V消息队列(一)消息队列IPC对象数据结构消息队列结构消息队列在内核中的表示​消息队列函数msgsnd函数msgrcv函数26System V消息队列(二)msgsnd函数msgrcv函数27System V消息队列(三)消息队列实现回射客户/服务器25System V消息队列(一)消息队列1、消息队列提供了一...

2019-05-07 22:32:25 373

原创 (二)容器和分配器各种测试

目录容器分类与各种测试1.容器的结构与分类2.测试程序的辅助函数3. 使用容器array4. 使用vector5. 使用容器list6. 使用容器forward_list7. 使用容器deque8. 使用容器multiset9. 使用容器multimap10.使用容器unordered_multiset11.使用容器unordere...

2019-05-07 20:27:24 674

原创 (一)STL体系结构基础介绍

一、六大部件STL6大部件之间的关系:container(容器)通过allocator(配置器)取得数据储存空间, algorithm(算法)通过iterator(迭代器)存取container(容器)内容, functor(仿函数)可以协助algorithm(算法)完成不同的策略变化, adapter(配接器)可以修饰或套接functor(仿函数)代码 ------- ...

2019-05-07 15:11:50 411

原创 (6)对象模型-浅谈

关于vptr和vtbl虚指针和虚表,一个类的对象内存占用什么样的内存?当一个类有虚函数的时候,对象里面就会多一个指针。一个虚函数和一万个虚函数是一样的。 继承会把成员变量继承也会把函数调用权继承下来。一般的函数和虚函数区别。虚拟表中存放的都是指针,虚函数指针。 编译器看见调用虚函数时,采用动态绑定。通过虚指针,查看虚表,再看调用的是哪一个函数。(普通函数调用采用动态绑定)(*...

2019-05-07 00:27:01 257

原创 (5)泛型编程基础和一些语法特性

目录导读转换函数转换函数 conversion functionnon-explicit-one-argument constructorlike classespointer-like classes 智能指针function-like classes 仿函数template模板class模板function模板成员模板 member templat...

2019-05-06 21:44:48 740

原创 (三)进程通信(一)-介绍

目录进程间通信介绍(一)进程同步与进程互斥一些概念:顺序程序与并发程序特征进程互斥进程同步进程间通信目的进程间通信发展进程间通信分类进程间共享信息的三种方式IPC对象的持续性进程间通信介绍(二)死锁(1)概念(2)死锁产生的必要条件:(3)防止死锁的办法(4)死锁避免(5)银行家算法(6)哲学家就餐问题信号量和PV原...

2019-04-23 15:42:20 560

原创 (六)内存分配器

内存分配器(allocator类)C++的STL中定义了很多容器,容器的第二个模板参数通常为allocator类型。标准库中allocator类定义在头文件memory中,用于帮助将内存分配和对象的构造分离开来。它分配的内存是原始的、未构造的。allocator<string> alloc; 定义了一个可以分配string的allocator对象auto const p...

2019-04-23 12:37:40 116

博览网-系统设计与实践课件

博览网-系统设计与实践课件

2019-04-06

极客班C++ 样本项目课件

极客班C++ 样本项目

2019-04-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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