自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iptable操作防火墙

dropPortOutputiptables -A OUTPUT -p tcp --dport 2181 -j DROPiptables -A INPUT -p tcp --sport 2181 -j DROPcancelDropPortOutputiptables -D OUTPUT -p tcp --dport 2181 -j DROPiptables -D INPUT -p tcp --sport 2181 -j DROPdropIPiptables -I INPUT -.

2022-03-09 16:55:37 2504

原创 perf生成火焰图

参考:https://www.cnblogs.com/happyliu/p/6142929.html

2021-01-03 14:55:37 284

原创 linux命令--yum

介绍:yum,全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上可以通过 360 软件管家实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yum。可以这么说,yum 是改进型的 RPM 软件管理器,它很好的解决了 RPM 所面临的软件包依赖问题。yum 在服务器端存有所有的 RPM 包,并将各个包之间的依赖关系记录在文件中,当管理员使用 yum 安装 RPM 包时,yum 会先从

2020-11-18 22:53:03 159

转载 zstd压缩

转载:https://www.jianshu.com/p/71eb3071d3e0

2020-11-04 16:35:13 674

转载 google protocol buffers学习

转载:https://www.cnblogs.com/royenhome/archive/2010/10/29/1864860.html

2020-09-24 21:05:25 60

转载 Linux top日志输出

转载:http://www.51testing.com/html/14/188314-814905.html

2020-09-11 11:40:17 739

原创 gdb调试死锁

gdb -p pid列出所有线程thread info针对某个线程的堆栈进行分析info thread_idbt

2020-08-16 22:37:05 225

原创 深入编译链接-让我们来探索一个程序诞生的过程

本文是以Linux32位Intel x86下的编译链接过程为讲解。***********************************目标文件里面有什么? 编译器编译源代码后生成的文件叫做目标文件(也就是.o/.obj 二进制可重定位文件),那么目标文件里面到底存放的是什么?它是怎么来存储的?接下来我们剥开目标文件的层层外壳,去

2020-08-16 20:03:02 75

原创 Linux如何查看oom

方法1grep “Out of memory” /var/log/messages方法2dmesg -T | grep -i ‘memory’

2020-08-16 19:48:57 5437

原创 用端口复用技术解决tcp连接下服务器主动关闭连接后不能立即重启的问题

本例中端口复用可以让服务器中多个socket共同使用同一个端口号。问题描述:在tcp连接下,如果服务器主动关闭连接(比如ctrl+c结束服务器进程),那么由于服务器这边会出现time_wait状态,所以不能立即重新启动服务器进程。解决这个问题就可以用端口复用,让多个socket可以同时绑定在一个ip和端口上,这样,就算是上一个socket处于time_wait状态占用着该端

2017-12-05 15:23:52 5082

原创 c++中自定义类型和内置类型,变量自增自减的差异

在c++中,对于内置类型变量的自增自减规律:前置++/--,先+/-再使用。后置++/--,先使用(什么时候使用完了;,?),再+/-。例如如下代码:int main(){ int i = 0; i = i++ +1; cout<<"i = "<<i<<endl;}输出结果为   i = 2;其中  i = i++ +1 ;  语句的汇编指令为:00D27FA5 m

2017-11-28 20:36:11 802 1

原创 Tcp的拥塞控制

首先介绍一下,什么是网络拥塞:简单点说,就是网络中的Tcp连接太多,此时对于网络中资源的需求量很大,大于了网络中的可用资源,比如网络中的链路容量、路由器的缓存等等。对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做拥塞。     若网络中有许多组员同时呈现供应不足,网络的性能就要明显变坏,整个网络的吞吐量将随着输入负荷的增大而下降。引起网络拥塞的条

2017-11-14 15:10:08 598

原创 Linux下如何创建线程池

线程池,就是在服务器启动的时候就已经创建好。在服务器中采用多线程并发处理客户端请求的时候,当客户端连接服务器发送请求的时候,这时如果服务器已经创建好了几个线程,那么就不需要在要使用线程的时候才去动态创建,这时只需要让线程池中的某一个空闲着的线程来处理该客户端请求即可。直接上代码。。。。。。服务器端:ser.c#include #include #include #incl

2017-10-28 00:34:55 476 1

原创 printf("%d,%d,%d,%d\n",i++,--i,++i,i++);编译器是如何处理的。

直接上代码:#include int main(){ int i=0; printf("%d,%d,%d,%d\n",i++,--i,++i,i++); return 0;}你觉得上述打印结果会是什么呢?按照变量自增自减的处理方式,后置自增或自减的返回值是通过寄存器得到的,在还没有对变量进行自增或自减时就已经将变量的值保存到了寄存器中,再结合函数自右向左的压参方式,我第一遍

2017-10-27 16:17:47 13003 3

空空如也

空空如也

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

TA关注的人

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