自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 三、程序设计语言和语言处理程序【6-7分】

一、考情分析二、程序设计语言概述1、程序设计语言基本概念2、编译程序与解释程序3、常见程序设计语言的特点4、python语言5、函数调用方式三、语言处理程序1、编译过程概述2、文法(词法分析)3、正规式与正规集(词法分析)4、有限自动机(词法分析)5、表达式五、总结

2024-02-20 09:37:02 362

原创 二、操作系统【6分】

P是要资源V是释放资源互斥S初始值非0,一般为1,先p后v同步S初始值一般为0,先V后p(肯定是先阻塞等待,等那边执行完了自己再执行)![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/dc6f6654b5a6480e9bfb70371caa169a.png#pic_center。

2024-02-03 21:25:42 374

原创 一、计算机组成与体系结构【7分】

其他进制转换为十进制十进制转换为其他进制二进制转换为八进制与十六进制这一块目前不是很懂这个公式,计算校验位个数

2024-01-28 16:53:07 391

原创 workflow源码解析:epoll

综上,workflow 通过mpoller_create()创建poller,通过mpoller_start()启动poller。这样就把每个poller放入每个线程运行,线程一直循环监听epoll的变化,如果有消息变化就处理消息。epoll_wait 等待epoll中文件描述符变为可活动的,然后返回结果。epoll_ctl 在epoll中增加、删除文件描述符。epoll_create 创建一个epoll。epoll主要有三个核心函数。

2024-01-26 14:22:29 439

原创 GDB调试

struct_name是结构体名,member_name是成员变量名,array_name是数组名,index是数组下标。variable_name是变量名。

2024-01-24 16:11:07 342

转载 【转载】查看依赖关系 dependency walker(depends)

是一个免费的实用工具,它可以扫描任何32位或64位Windows模块(EXE,DLL,OCX,SYS等),并建立所有相关模块的分层树形图。对于排除加载和执行模块故障错误非常有用。能检测出许多常见应用问题,例如缺少模块,无效的模块,导入/导出不匹配,循环依赖错误,不匹配的机器类型模块和模块初始化失败。所以对于程序员来说,(以下简称Depends)是一项必备技能。

2024-01-23 22:06:28 718

转载 QPS是什么?如何计算?

公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)。QPS即每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。**4.原理:**每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,即为QPS。机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器。问:如果一台机器的QPS是58,需要几台机器来支持?一般需要达到139QPS,因为是峰值。

2024-01-23 21:51:05 26

原创 workflow源码解析:http客户端(一)

这里如何产生的route_result_.request_object,是通过dns去做的,这里先略过,在dns那一节详细阐述。(7)request_idle_conn()为复用连接,没有则创建新的连接 this->request_new_conn。连接池什么的都在target里。(a)如果没有可以复用的连接,我们先去建立连接,然后把connect操作挂到epoll上面监听(异步connect)(5)scheduler是在 WFComplexClientTask的初始化列表中创建,此时传入的是NULL。

2024-01-21 16:04:43 463

转载 【转载】workflow 源码解析 : TimerTask

对比回看下ThreadTask的结构,就大概知道wf的继承架构。

2024-01-19 08:55:19 50

原创 workflow源码解析:GoTask

提供了另一种更简单的使用计算任务的方法,模仿go语言实现的go task。使用go task来实计算任务无需定义输入与输出,所有数据通过函数参数传递。

2024-01-18 22:09:36 450

原创 【Poco库源码解析】Poco库的事件

(1)source.theEvent += Poco::delegate(&target, &Target::onEvent)时, Poco::delegate会创建Delegate<TObj, void, true>(pObj, NotifyMethod);(2) += 会 _strategy.add(aDelegate);将代理保存在_strategy, _strategy默认是 DefaultStrategy。

2024-01-18 15:36:00 1019

原创 【Poco库源码解析】Poco库中的通知

PocoPocoPoco 中的通知,是消息源通过中间载体将消息发送给观察者,通知可以分为同步通知和异步通知。Poco 中的异步通知是通过 NotificationQueue 类来实现的,同它功能类似还有类PriorityNotificationQueue 和 TimedNotificationQueue。不同的是 PriorityNotificationQueue类中对消息分了优先级,对优先级高的消息优先处理;

2024-01-18 13:55:57 793

转载 【转载】c++错误:C++右值引用出现的问题(cannot bind non-const lvalue reference of type ‘int&‘ to an rvalue of type ‘i

上述代码异常显示:不能将非常量的左值引用绑定到右值,下面我们根据这个报错信息,做如下展开分析。 有名称的,可以获取到存储地址的表达式就是左值,反之为右 💚2、左值引用和右值引用概念 2.1、左值引用 2.1、右值引用 😇😇😇来看一下左值和右值引用的例子 在这里插入图片描述

2024-01-17 17:06:57 86

转载 【转载】c++错误:need ‘typename’ before ‘std::vector::iterator’ because ‘std::vector’ is a dependent scope

这两个关键的区别在于 vector<int> 是实例化之后的一个实在的类型,而 vector<T>还是一个模板类型,它如何实例化还需要取决于外部实际传进来的参数类型 T。所以 :为了防止出现这样的歧义,正如 编译器提示的,需要 在 std::list<T>::iterator的前面添加关键字。那么:std::list<int>::iterator 这个名称就是 一个成员变量,再把它当做类型 就不能在适用了。list<T>::iterator it ------这是不可以编译通过的。

2024-01-17 16:47:25 62

原创 workflow源码解析:ThreadTask

request() 函数把任务扔进线程池队列等待执行,线程池会从队列拿到这个任务,然后执行executor_thread_routine。__WFThreadTask__目前还未用到,暂不清楚。

2024-01-16 22:16:07 824

转载 【转载】workflow 源码解析 : 基础数据结构 list

项目源码 : https://github.com/sogou/workflow更加详细的源码注释可看 : https://github.com/chanchann/workflow_annotation以下的代码源文件 :我们来分析一下workflow中最为基础的数据结构 : list, 是内核链表的写法,如果不熟悉内核list的操作,很多workflow的操作也会一头雾水。

2024-01-12 15:53:30 57

转载 【转载】workflow 源码解析 : 深入分析 workflow 线程池

第15到17行的作用需要特别说明一下,这是在线程池内部线程调用destroy线程池会走到这里,调用destroy的线程将会等待线程池内其他线程退出,等运行到第15-17行时,就需要销毁线程池。结构体的定义中,get_head就是读队列的队头,put_head是放置队列的队头,put_tail是放置队列的队尾。对于线程池而言, msg的类型是__thrdpool_task_entry,其拥有两个参数,第一个参数是link,其类似于一个next指针用于指向下一个task。该方法的实现比较简单,不做过多解析。

2024-01-12 15:27:24 142

原创 至少8位密码,包括大写、小写、数字、特殊字符中的三种即可

至少8位密码,包括大写、小写、数字、特殊字符中的三种即可 正则表达式:^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W_]+$)(?![a-z\\d]+$)(?![a-z\\W_]+$)(?![\\d\\W_]+$)\\S{8,}$拆分解释: (1)^匹配开头    (2)(?![A-Za-z]+$)匹配后面不全是(大写字母或小写字母或大小写组合)的情况,排除了(1)全是大写字母(2)全是小写字母(3)大小写组合的情况三种情况...

2021-01-15 15:13:16 15049 2

20小时快速入门go语言资料.zip

20个小时快速入门go语言 所有课件及其源代码 哔哩哔哩视频网站:https://www.bilibili.com/video/BV17W411W7hm/?spm_id_from=333.788.videocard.0

2020-11-24

去除目标宽度和高度差距比较大的matlab代码

faster rcnn 中自己的数据集 output.txt数据中有可能产生不符合的标记,此程序处理这些不匹配的数据

2018-04-25

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

TA关注的人

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