摘要: 哈夫曼树(Huffman树)原理分析及实现 1 构造原理 假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为: (1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点); (2) 在森林中选出两个根结点的权值最小的树合 阅读全文
posted @ 2022-01-05 08:25 一叶飘落尽知秋 阅读(1101) 评论(0) 推荐(0) 编辑
摘要: [原文地址] 从事服务端开发,少不了要接触网络编程。Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,Nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。 Epoll 很重要,但是 Epoll 与 Select 的区别是什么呢?Epoll 高效的原因是 阅读全文
posted @ 2021-12-16 23:31 一叶飘落尽知秋 阅读(230) 评论(0) 推荐(0) 编辑
摘要: [原文地址] 全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。 在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。 GUID 的总数达到了21 阅读全文
posted @ 2021-12-15 08:18 一叶飘落尽知秋 阅读(554) 评论(0) 推荐(0) 编辑
摘要: C、C++语言结构体中冒号(位域)用法 位域出现的原因是由于某些信息的存储表示只需要几个bit位就可以表示而不需要一个完整的字节,同时也是为了节省存储空间和方便处理。 typedef struct bit_struct { int bit1:3; int bit2:5; int bit3:7; }d 阅读全文
posted @ 2021-12-15 01:06 一叶飘落尽知秋 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 无状态服务(stateless service) 有状态服务(stateful service) [原文地址] 一、定义 无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库 阅读全文
posted @ 2021-12-15 00:44 一叶飘落尽知秋 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 什么是惊群,如何有效避免惊群? 原文地址 结论 不管还是多进程还是多线程,都存在惊群效应,本篇文章使用多进程分析。 在 Linux2.6 版本之后,已经解决了系统调用 accept 的惊群效应(前提是没有使用 select、poll、epoll 等事件机制)。 目前 Linux 已经部分解决了 ep 阅读全文
posted @ 2021-12-15 00:33 一叶飘落尽知秋 阅读(907) 评论(0) 推荐(0) 编辑
摘要: 概述 stdbind的头文件是 <functional>;,它是一个函数适配器,接受一个可调用对象(callable object),生成一个新的可调用对象来“适应”原对象的参数列表。 函数原型 stdbind函数有两种函数原型,定义如下: template< class F, class... A 阅读全文
posted @ 2021-12-11 16:13 一叶飘落尽知秋 阅读(1170) 评论(0) 推荐(0) 编辑
摘要: std::function介绍 类模版stdfunction是一种通用、多态的函数封装。stdfunction的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作,这些目标实体包括普通函数、Lambda表达式、函数指针、以及其它函数对象等。std::function对象是对C++中现有的可调 阅读全文
posted @ 2021-12-11 16:11 一叶飘落尽知秋 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 01Linux的基础 一、Linux内核的特征 1、linux内核组织形式为整体式结构 2、进程调度方式简单有效 3、支持内核线程(或称为守护进程) 4、支持多种平台的虚拟内存管理 5、虚拟文件系统 6、模块机制(使内核之间相互独立,方便模块的移植) 7、增加了系统调用 1.Linux内核在系统中的 阅读全文
posted @ 2021-11-22 07:46 一叶飘落尽知秋 阅读(131) 评论(0) 推荐(0) 编辑
摘要: ubuntu必要的环境的配置 配置ubuntu的虚拟机,中间碰见很多的问题,在此记录解决方案【ubuntu的版本是18.04】 一、静态IP的设置 因为安装的是虚拟机,首先我将其改为桥接模式 接下来编辑文件: sudo vim /etc/netplan/01-network-manager-all. 阅读全文
posted @ 2021-11-14 21:11 一叶飘落尽知秋 阅读(1221) 评论(0) 推荐(0) 编辑