自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (5)
  • 收藏
  • 关注

原创 Linux网络编程---详解TCP

我们知道,在TCP/IP协议中,TCP协议提供可靠的连接服务,是因为它有许多保证可靠连接的机制。可以分为3个方面:1.确认应答机制:指的是不管哪一端发送数据都需要确认回复一下。2.超时重传机制,发送后等待一段时间,不管是发送失败或者是还没有收到回复,那么就认为数据传输失败了;此时将会数据重传。这个超时是递增变化,但次数有限制,超过了重传次数就认为网络断开了。3.序号/确认序号 :序号不一定从0开始,在一开始连接时,两端会协商好,然后根据发送的数据大小按字节进行排序,之后确认序号在序号的基础上加上数据的

2021-04-29 16:43:02 87

原创 c++ namespace和linux namespace

一、c++中的namespace在C++语言中,命名空间使用namespace来声明,并使用{ }来界定命名空间的作用域。命名空间可以是全局的,也可以位于另一命名空间之中;但不能在类和代码块之中。按照是否有名字,可分为有名字的命名空间与无名命名空间。可以多次声明和定义同一命名空间,每次给这一命名空间添加新成员。编译器自动合并这些同名的命名空间。简单示例:二、linux中的namespaces机制:Linux Namespace是Linux提供的一种OS-level virtuali.

2021-04-28 14:07:45 320

原创 unique_lock详解

C++语法学习笔记四十七:unique_lock详解 - osc_t6qz550e的个人空间 - OSCHINA - 中文开源技术交流社区

2021-04-27 11:26:53 348

原创 Linux多线程服务器端编程

Linux多线程服务器端编程 - JavaShuoLinux多线程服务器端编程 线程安全的对象生命期管理 对象的销毁线程比较难 线程同步精要 借shared_ptr实现写时拷贝(copy-on-write) 多线程服务器的适用场合与经常使用编程模型 单线程服务器的经常使用编程模型 多线程服务器的经常使用编程模型 分布式系统中使用TCP长链接通讯 C++多线程系统编程精要 高效的多线程日志 日志功能的需求 多线程异步日志

2021-04-27 09:26:47 384

原创 服务器编程模型

在网络程序里面,通常的来讲都是许多客户机对应一个服务器.为了处理客户机的请求, 对服务端的程序就提出了特殊的要求.咱们学习一下目前最经常使用的服务器模型.循环服务器:循环服务器在同一个时刻只能够响应一个客户端的请求并发服务器:并发服务器在同一个时刻能够响应多个客户端的请求9.1 循环服务器:UDP服务器UDP循环服务器的实现很是简单:UDP服务器每次从套接字上读取一个客户端的请求,处理, 而后将结果返回给客户机.能够用下面的算法来实现. socket(...); bind(.....

2021-04-27 09:16:12 139

原创 多线程服务器模型-one loop per thread

多线程服务器模型-one loop per thread:此种模型下,程序的每个IO线程有一个event loop, 用于处理读写和定时事件。*eventloop 代表线程的主循环,需要让哪个线程干活,就把timer或者IO channel注册到那个线程的loop里。*对实时性有要求的connection可以独占一个线程*对于数据量的可以独占一个线程,并把数据处理任务分到另几个计算线程中(用线程池)优点:* 服务器中线程数目基本固定,可以在程序启动时设置,不会频繁创建与...

2021-04-27 09:03:11 647

原创 leet53

int maxSubArray(vector& nums) {        if (nums.empty()) {        return 0;    }    int dp_i&

2021-04-26 13:10:14 79

原创 Linux环境下段错误的产生原因及调试方法小结

1. 段错误是什么一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。这里贴一个对于“段错误”的准确定义(参考Answers.com):A segmentation fault (often shortened to segfault) is a particular error condition that can occur during the operation of comput

2021-04-24 13:59:05 181

原创 段错误调试神器 - Core Dump详解

一、前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件某一行, 而是没有任何信息, 使得我们的调试变得困难起来.gdb: 有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可行的, 但要让你step一个上万行的代码, 我想你会从此厌恶程序员这个名字, 而把他叫做调试员. 我们还有更好的办法, 这就是core file.ulimit: 如果想让系统在信号中断造成的错误时产生c..

2021-04-24 13:57:32 606

原创 动态规划

动态规划算法的难点在于 从实际问题中抽象出动态规划表dp,dp一般是一个数组,可能是一维的也可能是二维的,也可能是其他的数据结构:整个求解过程就可以用一个最优决策表来描述,最优决策表可以是一个二维表,其中行表示决策的阶段,列表示问题状态,表格需要填写的数据一般对应此问题的在某个阶段某个状态下的最优值(如最短路径,最长公共子序列,最大价值等),填表的过程就是根据递推关系,从1行1列开始,以行或者列优先的顺序,依次填写表格,最后根据整个表格的数据通过简单的取舍或者运算求得问题的最优解:f(n,m)=max{

2021-04-23 10:52:10 85

转载 关于递归三要素的理解

可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了!可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助。为了兼顾初学者,我会从最简单的题讲起!递归的三大要素第一要素:明确你这个函数想要干什么对于递

2021-04-21 16:40:33 644

原创 Nginx 概述

Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7*24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数,最重要的是, Nginx 是免费的并可以商业化,配置使用也比较简单。02Nginx 特点特点如下: 高并发、高性能。 模块化架构使得它的扩展性非常好。 异步非阻...

2021-04-19 22:29:16 108

原创 leet code76

string minWindow(string s, string t) {if(s.empty() || t.empty()) {return std::string();}std::unordered_map<char, int> need, window;for (auto char : t) { need[char]++;}int left=0, right=0;int valid=0;int start =0, len = INT32_MAX;while(ri

2021-04-16 10:48:44 112

原创 2021-04-11面试

多线程之间如何通信/共享数据?不需要通信;共享数据:1,加锁的队列,例如生产者,消费者线程,2,加锁的全局变量。如何排查死锁(锁的使用)调试,用linux下pstack命令,https://blog.csdn.net/suifengpiao_2011/article/details/56288404?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161811699916780271592339%2522%252C%2522scm%

2021-04-11 13:39:11 74

【高性能服务器开发】公众号文章汇总.7z

22

2021-08-12

Smart_Date Log汇总.7z

111

2021-08-12

Smart_Date Log汇总.7z

111

2021-08-12

申请春节期间留杭补贴承诺书.pdf

111

2021-01-27

C++多线程编程视频教程(C++11多线程并发)【122212】多线程API详解(一).rar

《C++面向对象多线程编程》推荐:毫无疑问,这是我见过的最好的、最全面的多线程方面的图书。如果你把自己看作一位程序员,而不是组件装配员,那你就需要了解多线程方面的知识。只要不是刚刚入门的C++程序员都可以从《C++面向对象多线程编程》受益良多;不仅多线程编程的核心内容值得研习,书中的优秀源代码也可供借鉴。

2020-03-13

空空如也

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

TA关注的人

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