自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mtAsnow

技术博客

  • 博客(205)
  • 收藏
  • 关注

原创 go get 失败

执行env GIT_TERMINAL_PROMPT=1

2021-08-19 20:56:17 453

原创 glibc下的内存管理

https://www.cnblogs.com/lookof/archive/2013/03/26/2981768.html

2020-06-06 15:09:39 326

原创 ffmpeg入门

http://www.ruanyifeng.com/blog/2020/01/ffmpeg.html

2020-05-26 20:54:46 310

原创 Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

https://blog.csdn.net/yangkuanqaz85988/article/details/52403726?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonec

2020-05-26 15:57:02 172

原创 MT#分布式锁

https://blog.csdn.net/wuzhiwei549/article/details/80692278

2020-05-18 17:34:32 138

原创 MT#断点原理

https://zhuanlan.zhihu.com/p/110793460

2020-05-18 14:54:11 206

原创 epoll 原理 实现

https://zhuanlan.zhihu.com/p/63179839

2020-04-27 11:02:38 164

原创 malloc的底层实现(ptmalloc)

https://blog.csdn.net/z_ryan/article/details/79950737

2020-04-27 10:10:17 136

原创 上下文切换,性能

https://www.cnblogs.com/pheye/p/4830058.html

2020-04-26 15:45:32 133

原创 协程

https://www.jianshu.com/p/6dde7f92951e

2020-04-26 14:44:00 106

原创 MT#证书 ,公钥

http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

2020-04-24 15:31:48 446

原创 MT#进程堆栈大小

进程的堆栈大小:32位Windows,一个进程栈的默认大小是1M,在vs的编译属性可以修改程序运行时进程的栈大小。Linux下进程栈的默认大小是10M,可以通过 ulimit -s查看并修改默认栈大小。默认一个线程要预留1M左右的栈大小,所以进程中有N个线程时,Windows下大概有N*M的栈大小。堆的大小理论上大概等于进程虚拟空间大小-内核虚拟内存大小。windows下,进程的高位2...

2020-04-24 15:13:05 278

原创 DPDK 全面分析

https://www.cnblogs.com/bakari/p/8404650.html

2020-04-20 17:55:05 120

原创 MT#const和 define

const相比#define的优点其实主要就两点,一是const有类型;二是const可以有不同的作用域。此外,宏的主体是语言符号,它对于字符串的观点跟c/c++的字符串字面量是很不一样的,这会在使用中给程序员带来一些意想不到的问题。const不足的地方,是与生俱来的,const不能重定义,而宏可以通过#undef取消某个符号的定义,再重新定义。c89开始已经有const了,但c之所以提倡...

2020-04-17 15:16:18 136

原创 MT#【Linux】Linux的虚拟内存详解(MMU、页表结构)#good

https://blog.csdn.net/qq_38410730/article/details/81036768?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4&utm_source=distribute.pc_relevant.none-task-blog-BlogComm...

2020-04-16 15:19:06 151

原创 Linux内核内存管理算法Buddy和Slab

https://zhuanlan.zhihu.com/p/36140017

2020-04-16 10:56:13 179

转载 MT#buddy算法#good

Buddy算法的优缺点:1)尽管伙伴内存算法在内存碎片问题上已经做的相当出色,但是该算法中,一个很小的块往往会阻碍一个大块的合并,一个系统中,对内存块的分配,大小是随机的,一片内存中仅一个小的内存块没有释放,旁边两个大的就不能合并。2)算法中有一定的浪费现象,伙伴算法是按2的幂次方大小进行分配内存块,当然这样做是有原因的,即为了避免把大的内存块拆的太碎,更重要的是使分配和释放过程迅速。但是他...

2020-04-16 10:40:27 143

原创 linux 内存管理好文

linux内存管理(最透彻的一篇):http://www.kerneltravel.net/journal/v/mem.htm#_ftn2linux内存管理原理:https://www.cnblogs.com/zhaoyl/p/3695517.htm五分钟彻底搞懂你一直没明白的Linux内存管理: https://www.sohu.com/a/216719739_236714腾讯工程师分析:...

2020-04-15 21:01:12 213

原创 MT#TCP-超时与重传

TCP-IP详解:SACK选项(Selective Acknowledgment)https://blog.csdn.net/wdscq1234/article/details/52503315TCP-超时与重传https://blog.csdn.net/u010853261/article/details/82109971

2020-04-14 19:50:33 204

转载 MT#time_wait状态产生的原因,危害,如何避免

time_wait状态如何产生?由上面的变迁图,首先调用close()发起主动关闭的一方,在发送最后一个ACK之后会进入time_wait的状态,也就说该发送方会保持2MSL时间之后才会回到初始状态。MSL值得是数据包在网络中的最大生存时间。产生这种结果使得这个TCP连接在2MSL连接等待期间,定义这个连接的四元组(客户端IP地址和端口,服务端IP地址和端口号)不能被使用。2.time_w...

2020-04-14 16:13:21 135

转载 zjMT几个常用的操作系统进程调度算法

一、先来先服务和短作业(进程)优先调度算法1.先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程...

2020-04-14 15:40:06 263

转载 zjtdTM页面分配策略:驻留集大小、调入页面的时机以及从何处调入页面

驻留集大小对于分页式的虚拟内存,在准备执行时,不需要也不可能把一个进程的所有页都读取到主存,因此,操作系统必须决定读取多少页。也就是说,给特定的进程分配多大的主存空间,这需要考虑以下几点:分配给一个进程的存储量越小,在任何时候驻留在主存中的进程数就越多,从而可以提高处理机的时间利用效率。如果一个进程在主存中的页数过少,尽管有局部性原理,页错误率仍然会相对较高。如桌页数过多,由于局部性原理,...

2020-04-14 15:14:46 452

转载 mac pdf分割方法,及其方便!!

不需要adobe,用我们mac强大的自带软件“预览”就可以实现~只需要三步~~首先,打开一个pdf文件,将视图模式切换到第二个“缩略图”或者第四个“名片纸”,这样方便选择页面。loading…接着,同时选中你所需要的页面后,将其拖曳到桌面。此时当鼠标移到桌面时,会看到一个绿色的加号。之后,桌面上就会自动生成一个新的pdf了。大功告成啦~~新pdf文件名后面多了一个“(被拖移)”。打开看看,...

2020-03-26 23:48:12 5233 1

转载 NAT4种类型

NAT(Network Address Translation,网络地址转换)当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在...

2020-03-07 17:10:06 8860

转载 网络地址转换NAT原理(易于理解)

这是做路由器的时候,学习网络地址转换Network Address Translation后的一些理解整理,主要通过实例和图表的方式展示了NAT的工作原理和每个阶段的状态。本文的NAT是基本于Linux下的iptables命令实现。1 概述1.1 简介NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet E...

2020-03-07 15:07:16 389

转载 NAT(地址转换技术)详解

NAT产生背景今天,无数快乐的互联网用户在尽情享受Internet带来的乐趣。他们浏览新闻,搜索资料,下载软件,广交新朋,分享信息,甚至于足不出户获取一切日用所需。企业利用互联网发布信息,传递资料和订单,提供技术支持,完成日常办公。然而,Internet在给亿万用户带来便利的同时,自身却面临一个致命的问题:构建这个无所不能的Internet的基础IPv4协议已经不能再提供新的网络地址了。201...

2020-03-07 14:44:14 852

转载 TCP之Nagle算法&&延迟ACK

Nagle算法:是为了减少广域网的小分组数目,从而减小网络拥塞的出现;该算法要求一个tcp连接上最多只能有一个未被确认的未完成的小分组,在该分组ack到达之前不能发送其他的小分组,tcp需要收集这些少量的分组,并在ack到来时以一个分组的方式发送出去;其中小分组的定义是小于MSS的任何分组;该算法的优越之处在于它是自适应的,确认到达的越快,数据也就发哦送的越快;而在希望减少微小分组数目的...

2020-01-09 15:25:20 102

转载 TCP-IP详解: RTT和RTO的计算方法

基本概念RTT: 发送一个数据包到收到对应的ACK,所花费的时间RTO: 发送数据包,启动重传定时器,重传定时器到期所花费的时间,称为RTO对于segment的重传,重传的时间RTO设定是非常重要的,如果设置太短,可能会导致并没有丢包而重传,如果设置太长了,可能因为等待ACK而浪费掉很多时间,牺牲传输的效率。从思想上来讲,其实我们还是希望重传的时间需要稍稍的大于RTT就可以了。但是这个RTT...

2020-01-09 15:17:20 2462

转载 TCP:SYN ACK FIN RST PSH URG简析

TCP:SYN ACK FIN RST PSH URG简析三次握手Three-way Handshake一个虚拟连接的建立是通过三次握手来实现的(B) --> [SYN] --> (A)假如服务器A和客户机B通讯. 当A要和B通信时,B首先向A发一个SYN (Synchronize) 标记的包,告诉A请求建立连接.注意: 一个 SYN包就是仅SYN标记设为1的TCP包(参...

2020-01-09 10:57:06 253

转载 RST标志位详解

5、RST标志位RST表示复位,用来异常的关闭连接,在TCP的设计中它是不可或缺的。就像上面说的一样,发送RST包关闭连接时,不必等缓冲区的包都发出去(不像上面的FIN包),直接就丢弃缓存区的包发送RST包。而接收端收到RST包后,也不必发送ACK包来确认。TCP处理程序会在自己认为的异常时刻发送RST包。例如,A向B发起连接,但B之上并未监听相应的端口,这时B操作系统上的TCP处理程序会发R...

2020-01-09 10:43:57 2064

转载 分布式架构如何设计

本次分享大纲如下大型网站的特点大型网站架构目标大型网站架构模式高性能架构高可用架构可伸缩架构可扩展架构安全架构敏捷架构大型架构举例一、大型网站的特点用户多,分布广泛大流量,高并发海量数据,服务高可用安全环境恶劣,易受网络攻击功能多,变更快,频繁发布从小到大,渐进发展以用户为中心免费服务,付费体验二、大型网站架构目标高性能:提供快速的访问体验。高可用:网站...

2019-12-23 20:54:35 84

转载 负载均衡算法

负载均衡算法可以分为下面几类:任务平分类:可以按照平均分配或者加权平均分配的算法。负载均衡类:按照服务器的负载,比如CPU负载,IO负载等进行分配(站在服务器的角度)。性能最优类:客户端按照服务器的响应时间来分配请求(站在客户端的角度)。Hash类:按照特定的信息进行hash值,然后分配给特定的服务器,比如按照IP hash算法,Session ID Hash算法,或者按照用户的ID ha...

2019-12-23 20:29:19 182

原创 gdb调试技巧

ptype 变量名 显示类型p (类型名) 地址 打印结构体info locals 打印局部变量info sharelibrary 显示加载的动态库disassemble 函数名/地址 显示函数的汇编...

2019-12-23 19:48:17 65

转载 LDAP快速入门

LDAP简介LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则...

2019-12-23 17:44:10 205

转载 upnp 端口映射

一般讲upnp的用途,就是用来NAT后的设备,到NAT申请一个端口,让NAT外的可以访问,说白了就是你的设备用upnp协议去注册一下这么个过程。外面访问你不用再端口映射了。p2p是个概念,就是不过服务器,点对点(peer 2 peer)传数据,和upnp本质上没联系。而且p2p也没有规定协议,你随便自己定义协议就可以。关于upnp你理解的没错,就是抢个端口,只不过这个过程对用户来讲是“自动的”...

2019-12-23 14:47:34 1609

原创 blog for interviews

https://github.com/ZhongFuCheng3y/3y

2019-12-21 16:52:08 74

转载 cap及acid理解

CAP理解:Consistency:强一致性就是在客户端任何时候看到各节点的数据都是一致的(All nodes see the same data at the same time)。Availability:高可用性就是在任何时候都可以读写(Reads and writes always succeed)。Partition Tolerance:分区容错性是在网络故障、某些节点不能通信的时...

2019-12-21 15:57:01 269

转载 linux core文件位置

1.core文件的生成开关和大小限制1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。2)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。若ulimit -c unlimited,则表示core文件的大小不受限制。如果生成的信息超过此大小,将会被裁剪,最终生成一个不完...

2019-12-20 11:21:43 1113

转载 如何用WINDBG分析64位机上32位程序的DUMP文件

将dump拖入到windbg中后,在command输入栏输入 .load wow64exts 回车 !sw 回车,就将windbg的dump,从64位模式切换到了32位模式,否则看到的call stack 对我们分析dump是没有帮助的。然后就可以使用其它的命令来分析了。比如:使用kb命令,查看所有线程的调用堆栈,找出出错的线程,~*kb,就是查看所有线程的调用堆栈。...

2019-12-19 15:39:24 311

转载 mDNS和LLMNR

LLMNR定义在DNS 服务器不可用时,DNS 客户端计算机可以使用本地链路多播名称解析 (LLMNR—Link-Local Multicast Name Resolution)(也称为多播 DNS 或 mDNS)来解析本地网段上的名称。例如,如果路由器出现故障,从网络上的所有 DNS 服务器切断了子网,则支持 LLMNR 的子网上的客户端可以继续在对等基础上解析名称,直到网络连接还原为止。除...

2019-12-17 15:18:37 1240

空空如也

空空如也

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

TA关注的人

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