GDB_er
码龄6年
关注
提问 私信
  • 博客:80,596
    80,596
    总访问量
  • 37
    原创
  • 1,016,570
    排名
  • 1,461
    粉丝
  • 17
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2018-10-16
博客简介:

GDB_HITsz的博客

博客描述:
全年无休9127
查看详细资料
个人成就
  • 获得68次点赞
  • 内容获得23次评论
  • 获得250次收藏
  • 代码片获得3,487次分享
创作历程
  • 16篇
    2021年
  • 23篇
    2020年
成就勋章
TA的专栏
  • J-计网
    2篇
  • J-知识点
    7篇
  • J-C++
    6篇
  • J-网络编程
    8篇
  • J-STL
    1篇
  • J-刷题
    1篇
  • 视觉
    2篇
  • 笔记
    5篇
  • pcl
    1篇
  • opencv
    1篇
  • kinect-ros
    1篇
  • 柔软体操作之路
    4篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

《网络编程》之——Linux高性能服务器开发小项目的分析记录

Linux高性能服务器开发小项目分析记录参考书籍:《Linux高性能服务器编程》游双基础班:Mywebserver,就是书上的服务器项目进阶版:Tinywebserver目录PartⅠ:mywebserver一、locker.h,locker.cpp (与Tiny相同)互斥锁类locker条件变量类cond信号量类sem二、threadpool.h 线程池创建多个线程将线程设为脱离请求队列(工作队列)工作线程们运行的函数只实现了Proactor模式三、main.cpp网络编程常规步骤循环获取就绪.
原创
发布博客 2021.05.30 ·
434 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

《网络编程》之——服务器编程框架理解

Reactor模式、Proactor模式,半同步/半异步模式,半同步/半反应堆模式,领导者/追随者模式
原创
发布博客 2021.05.29 ·
301 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《网络编程》之——epoll的底层实现原理

从两位大佬的文章中整理而来陈同学: https://mp.weixin.qq.com/s/ioxKBfJeAThgDHFWps8ucw小林coding: https://mp.weixin.qq.com/s/ioxKBfJeAThgDHFWps8ucwepoll_creat:epoll_ctl:向内核事件表中注册事件,会将事件与设备驱动程序简历回调关系ep_poll_callback(),相应事件发生时,会调用这个回调方法,该回调方法会将事件添加到rdllist双链表中。epoll_wai.
原创
发布博客 2021.04.17 ·
333 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《网络编程》之——socket的底层实现原理

借鉴大佬 小林coding 的一篇文章整理而来:https://mp.weixin.qq.com/s/Qpa0qXxuIM8jrBqDaXmVNA下图的三个主要内容:首先是进程的很重要的一个结构体task_struct从中可以知道文件描述符从何而来然后针对socket这种文件描述符,它的底层是如何实现的附:小林coding文章中的sk_buff的讲解图,可以帮忙理解sk_buff的原理...
原创
发布博客 2021.04.17 ·
1510 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

《C++》之——sizeof(struct/class)=?:结构体内存对齐、类的内存占用

环境:vs,64位指针:8字节,char:1字节,int:4字节C++里面结构体和类其实没啥区别(在内存分配方面)。结构体和类的区别见此博客(坑,待填)首先是结构体/类的内存对齐参考:https://blog.csdn.net/abc_xixi111/article/details/80262753内存对齐规则:第一个成员在结构体变量偏移量为0 的地址处。其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。对齐数 = 编译器默认的一个对齐数与该成员大小中的较小值。vs中默认值是8.
原创
发布博客 2021.04.03 ·
296 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

《网络编程》之——select、poll的底层实现原理

参考博客https://my.oschina.net/fileoptions/blog/911091https://mp.weixin.qq.com/s/ioxKBfJeAThgDHFWps8ucw先记录一下源码借鉴了优秀博主的源码#undef __NFDBITS#define __NFDBITS (8 * sizeof(unsigned long))#undef __FD_SETSIZE#define __FD_SETSIZE 1024#undef __FDSET_L.
原创
发布博客 2021.03.20 ·
750 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

《计算机网络》之——计算机网络-知识点整理

《计算机网络面经》网络整理而来TCP相关TCP的整个流程(状态转换过程)要求:不是简单的描述,而是将整个状态转换过程描述清楚…服务器端的典型状态转移:客户端的典型状态转移:TCP状态转移总图:(粗实线:客户端典型状态转移,粗虚线:服务端典型状态转移,细实线:非典型状态转移)TCP三次握手过程三次握手(我要和你建立链接,你真的要和我建立链接么,我真的要和你建立链接,成功):第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Cl.
原创
发布博客 2021.03.15 ·
354 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

LC刷题记录

刷题记录慢慢往这里整理吧~237.删除链表中的节点原题函数没有传入head,只有要删除的节点node,无法获得node前一个节点:用后一个节点的值替换node节点的值,然后删除node后一个节点(该题条件限制足够,所以能这样做)class Solution {public: void deleteNode(ListNode* node) {//没有给head,无法找到node的前一个节点,怎么解决 node->val=node->next->va.
原创
发布博客 2021.03.13 ·
258 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《STL》之——vector的resize()和reserve()

记一次面试中遇到的问题:vector的resize()和reserve()有啥区别首先看这俩单词:resize:v.改变大小reserve:v.预定、保留好啦,搞定!????开个玩笑,不过确实很明了:resize是改变该容器存储的数据数量(有效空间大小)reserve是改变该容器预留的总空间大小但是首先要知道vector的实现,才会觉得明了。简单理解就是:内存2倍增长的动态数组;维护三个迭代器start、finish、end_of_storage;增加新元素时,如果超过
原创
发布博客 2021.03.13 ·
544 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

《网络编程》之——epoll的LT和ET模式

参考书目:《Linux高性能服务器编程》-游双著LT:电平触发ET:边沿触发将一个事件的发生理解为状态的转变,理解为从0到1的转变。例如:EPOLLIN读就绪事件的发生条件:内核接收缓存区中的字节数 >= 低水位标记SO_RCVLOWAT。故将(内核接收缓存区中的字节数 < 低水位标记SO_RCVLOWAT)视为0将(内核接收缓存区中的字节数 >= 低水位标记SO_RCVLOWAT)视为1则,LT的触发方式为:只要处于1就触发,ET的触发方式为:0-1的一.
原创
发布博客 2021.01.23 ·
309 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《网络编程》之——accept:叫它“接受”合适吗?它“接受”了什么?

accept——取出从监听队列取出:队列,顾名思义就是FIFO的方式我认为accept叫做取出更合适一点:从listen监听队列中取出一个连接accept不影响三次挥手连接的过程,也不关心监听队列中连接的状态,不管是ESTABLISHED还是SYN_RECV还是CLOSE_WAIT,它就只管取accept函数的用法见博客socket基础API。accept默认是阻塞的,当listen监听队列中没有连接时,accept将会等待,直到监听队列中有连接可以取出。(socket基础API中可能被阻塞的包
原创
发布博客 2021.01.23 ·
327 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《网络编程》之——socket基础API

socket地址API首先要了解:大端字节序(网络字节序)小端字节序(主机字节序)(发送端总要把数据转化成大端字节序数据后再发送)四个函数完成网络字节序<->主机字节序之间的转换#include<netinet/in.h>//长整型通常用来转换IP地址unsigned long int htonl( usigned long int hostlong );// host to network long , 下面的类似unsigned long int ntohl
原创
发布博客 2021.01.23 ·
145 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

《计算机网络》之——服务器主动关闭TCP连接,会发生什么?

TCP四次挥手TCP关闭过程中状态转移(主动关闭方、被动关闭方)客户端主动关闭TCP连接——发生正常的流程服务器主动关闭TCP连接——异常终止
原创
发布博客 2021.01.15 ·
2716 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

《计算机网络》之——一定是四次挥手嘛?

不一定哦,《Linux高性能服务器编程》P38+P47
原创
发布博客 2021.01.15 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《C++Primer》之——拷贝控制(一):基础知识

1. 拷贝控制成员五个用来控制拷贝控制操作的类的成员函数:析构函数、拷贝构造函数/拷贝赋值运算符、移动构造函数/移动赋值运算符{挨个介绍:形式完成的操作定义时注意事项在用户代码中,何时调用哪个}2. 合成版本的拷贝控制成员五个拷贝控制成员,一定情况下,编译器会自动合成默认的版本:合成析构函数、合成拷贝构造函数/合成拷贝赋值运算符、合成移动构造函数/合成移动赋值运算符{挨个介绍:默认的操作语义何时会提供合成的版本怎样强制让他合成怎样强制让他不合成}3. swap与赋值运
原创
发布博客 2021.01.06 ·
372 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

《C++Primer》之——拷贝控制(二):拷贝?移动?为何而存在?我们敲代码的时候需要注意这俩东西吗?啥时候需要注意呢?

前言《C++Primer》第13章。章名为“拷贝控制”。首先需要明确一些事情,以便能更顺畅的理解:1️⃣. 前序章节:第7章需要先学一遍,类的基本知识。第6章需要放到自己的潜意识里,函数的传参与返回。2️⃣. 正如这一章所属的第Ⅲ部分的名字:类设计者的工具。这一章的都是针对类的设计来说的:某些具备一定特征的类,是需要我们自己来定义其拷贝操作的。3️⃣. C++中的“类型”:包括内置类型、类类型(标准库提供的类,和我们自己设计的类)都是类型,通常我们可以将他们统一起来。4️⃣. 拷贝与移动、拷贝
原创
发布博客 2021.01.06 ·
275 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

《C++Primer》之——智能指针与动态内存全纪录

前言:先来个素质三连问:什么是智能指针?为什么要用智能指针?智能指针能干啥?什么是智能指针呢?  首先要知道,智能指针是针对动态内存用的,那什么是动态内存呢?:动态内存中的对象的生存期与它们在哪里创建时无关的,只有当显式地被释放时,这些对象才被销毁。程序用堆(或叫自由空间,关于堆与自由空间的讨论可以参考这里)来储存动态分配的对象。其实C++里,动态内存就是new/delet这一对带恶人使用的内存。(其实动态内存我还没摸透,mark一下,等摸透了再回来填坑)  为什么要用动态内存呢?书
原创
发布博客 2020.12.31 ·
246 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏

《C++Primer》之——引用,及引用的应用场景

1. 引用不能拷贝,引用不可变引用不能拷贝,也没得拷贝:因为“赋值运算符=”的拷贝操作,对于引用来说,是绑定操作。引用不可变,也没得变:因为“赋值运算符=”的赋值功能,对于引用来说,是对被引对象的赋值通过下面的代码来理解:与指针对比一下,能更好的理解上面的两句话/* 指针部分 */ int i=1,j=2; int* ptri=&i;//ptri是一个指针 /*对指针的赋值是真的赋值*/ ptri=0;//将指针ptri修改为了空指针(这里只是测试直观性需要,平常最好用null
原创
发布博客 2020.12.28 ·
214 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

《C++Primer》之——引用、指针,以及它们与const的爱恨纠葛

前言C++入门路上的第一个纠结:引用和指针,两个好好的东西,跟const混上之后,就开始在你脑子里打架了。。。对常量的引用、常量引用;指向常量的指针、常量指针(底层const、顶层const)。如果单看名字的话,这些概念很清晰,似乎没什么奇怪的呀。本文就来 扣扣他们的概念,捋一捋他们的关系,不过这都不重要,这个过程只是让它们在你的脑子里先扭打在一起,再分帮结派的站在两边,从而深刻明了的将它们区分开,并了解它们的特性。最终,最重要的还是搞清楚:在代码使用中时,它们能干啥、不能干啥先定义几个全局变量
原创
发布博客 2020.12.27 ·
206 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

实验室Alienware-Area 51m拯救计划:Ubuntu下载更换内核,Ubuntu有线无线网卡驱动安装

目录事件起因:一、换内核二、装网卡驱动三、无线网卡驱动导致开机登录卡死事件起因:详见另一篇博客:realsense环境配置配置realsense的环境时,想走捷径自己下了kernel源码,然后编译了内核,结果内核崩了。表现为:usb口都不能用了,过了两天自己好了。主要问题是无法关机,会卡在这里:一、换内核查看内核查看当前使用的内核:uname -a查看目前系统中存在的内核版本:dpkg --get-selections | grep...
原创
发布博客 2020.12.13 ·
1043 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多