自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 线程池的原理与实现

当遇到特别耗时的任务,影响其它线程的执行,需要在其他线程异步执行耗时的任务,进而平衡线程资源的开销与cpu核心,做到既能减少线程创建和销毁的开销,又能最大限度的提高 cpu 利用率。

2023-06-11 14:37:29 259

原创 数据库连接池的实现与原理

创建数据库连接是一个很耗时的操作,也容易对数据库造成安全隐患。所以,在程序初始化的时候,集中创建多个数据库连接,并把他们集中管理,供程序使用,可以保证较快的数据库读写速度,还更加安全可靠。

2023-06-07 11:09:07 277 1

原创 redis主从同步与对象模型

当对key设置了过期时间,redis会把key带上过期时间存储到一个过期字典中,过期字典存储在residDB结构中,当我们查询一个 key 时,Redis 首先检查该 key 是否存在于过期字典中,是,则判断系统时间小于查询key的过期时间,如果小于则正常读。*优点:*由事件处理器自动执行 key 的删除操作。可以保证过期 key 会被尽快删除,定时删除对内存是最友好的。

2023-06-07 11:03:24 84 1

原创 网络编程中io职责及Redis、memcached、Nginx、如何处理reactor

在网络编程中,不论使用什么框架,我们都需要关注以下四个问题:连接建立、连接断开、消息到达、消息发送。网络io职责有操作io和检测io,我们将通过操作io这个过程去解答网络编程需要关注的问题。io的操作方式可见。

2022-10-23 22:05:13 611

原创 TCP三次握手与四次挥手

2.bind();3.listen();4.accept();5.recv();6.send();7.close();4.send();5.recv();6.close();在服务端各个API的作用:socket() 是文件系统分配的一个fd,并且置为tcb;bind()是为tcb绑定本地的ip和port;listen()是把tcb置为一个listen的状态;accpet()是从全连接队列取出一个节点分配一个fd;recv()就是从对应的fd拷贝出recvbuffer;

2022-10-23 22:04:40 474

原创 Ubuntu虚拟机编译netmap环境搭建

Netmap 是一个高性能收发原始数据包的框架,由 Luigi Rizzo 等人开发完成,其包含了内核模块以及用户态库函数。其目标是,不修改现有操作系统软件以及不需要特殊硬件支持,实现用户态和网卡之间数据包的高性能传递。其原理图如下,数据包不经过操作系统内核进行处理,用户空间程序收发数据包时,直接与网卡进行通信。

2022-10-23 22:03:44 713

原创 网络编程中网络IO与select、poll、epoll原理及使用

网络IO就是数据到达网卡后,网卡不能直接将数据送到程序内存,需要经过操作系统(kernel)中转保存到一个buffer中,应用程序调用操作系统的函数,从对应的buffer取出数据。

2022-09-11 18:53:04 276

原创 C语言实现红黑树,详解红黑树旋转,插入删除问题

c语言实现红黑树,对于红黑树旋转,插入删除问题进行梳理

2022-09-09 21:04:19 317

原创 从通讯录管理程序思考分层编程

代码分层思想是应用系统常见的一种架构模式,规范软件系统的逻辑结构,方便应用的可扩展性和可维护性。

2022-09-04 15:01:27 239

原创 DNS请求流程和报文解析

域名系统(英文: Domain Name System, 缩写: DNS)是互联网的一项服务,它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS)的作用是将人类可读的域名(如,www.example.com) 转换为机器可读的 IP 地址 (如,192.0.2.44)。

2022-09-04 13:36:47 4738

原创 从0搭建分布式管理之git

本文适合刚接触到git的朋友,在本地仓库(电脑磁盘)和远端仓库(Ubuntu虚拟机)进行学习理解分布式管理。

2022-09-03 14:38:04 211

空空如也

空空如也

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

TA关注的人

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