自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (4)
  • 收藏
  • 关注

原创 服务器TCP握手超时的一种情况(服务器不回SYN ACK)

近期遇到一个奇怪的问题,客户端到服务器的连接偶发超时,通过抓包,看到服务端收到了客户端的SYN包,但就是不回复SYN ACK,通过网上查找资料,详细原因如下:服务器同时设置tcp_timestamps=1和tcp_tw_recycle=1,就会缓存每个客户端TCP通信数据包中最新的时间戳,后续请求中如果时间戳小于缓存的时间戳,即视为无效,相应的数据包会被直接丢弃。启用该功能后,60s内同一...

2018-10-23 15:29:49 8845 1

原创 linux下分析Java程序内存汇总

使用pmap查看进程内存运行命令使用pmap可以查看某一个进程(非java的也可以)的内存使用使用情况,命令格式:pmap 进程id示例说明例如运行:pmap 12358显示结果如下图(内容较多, 分成几张图说明):内容开始部分内容结束部分上图中,第一列,内存块起始地址第二列,占用内存大小第三列,内存权限第四列,内存名称,

2015-06-12 16:31:25 25092

原创 Linux使用jstat命令查看jvm的GC情况

命令格式jstat命令命令格式:jstat [Options] vmid [interval] [count]参数说明:Options,选项,我们一般使用 -gcutil 查看gc情况vmid,VM的进程号,即当前运行的java进程号interval,间隔时间,单位为秒或者毫秒count,打印次数,如果缺省则打印无数次示例说明示例通常运行命令如下:

2015-06-12 15:07:19 130576 5

转载 Wireshark抓包常见问题解析

1.   tcp out-of-order(tcp有问题)解答:1)、    应该有很多原因。但是多半是网络拥塞,导致顺序包抵达时间不同,延时太长,或者包丢失,需要重新组合数据单元 因为他们可能是通过不同的路径到达你电脑上面的。2)、    CRM IT 同仁上礼拜来跟我反应一个问题,由他们客服系统藉由邮件主机要寄送给客户的信件,常常会有寄送失败的问题,查看了一下 Log,发现正常的信

2015-03-17 12:03:43 10313

转载 linux shell 字符串操作详解

在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串值表达式含义${var}变量var的值, 与$var相同

2015-01-30 15:32:45 916

原创 Linux命令行json解析工具——jq

jq基本使用可以参考这篇文章:http://blog.chinaunix.net/uid-24774106-id-3830242.htmljq英文文档请参考:http://stedolan.github.io/jq/manual/=================================================================基本格式:jq

2014-08-13 17:04:51 26230 3

转载 CSV标准格式

1. CSV的全称是叫Comma Separated Value 2. CSV的MIME类型是text/csv 3 CSV文件中的每一行数据,作为一行记录,也就是一个条目(99%的情况,排除有些换行数据,下面会提到) 4. CSV文件的每一行数据后面跟着(回车+换行符)即CRLF,但有些资料中也提到了单个CR或者LF均可,但标准rfc文档中用到的是CR+LF 5. 文件第一行可以是

2013-07-03 17:54:35 12923 1

原创 C/C++中调用api设置mysql连接的编码方式

mysql在C/C++中调用api设置连接mysql的编码方式有以下几种方法:1. mysqli_set_charset调用示例:ret = mysql_set_character_set(mysql, "utf8");说明:推荐使用的设置方法,与mysql的连接断开自动重连后仍能保持设置的编码格式,并且影响mysql_real_escape_string函数功能,使mysql_r

2013-04-17 10:51:02 9758

原创 Linux修改各种限制命令ulimit

ulimit命令用于修改当前shell启动进程所占用的资源限制。注意:修改仅在当前shell生效。ulimit 命令格式如下:ulimit [-acdfHlmnpsStvw] [size]参数可以为:-H 设置硬件资源限制.-S 设置软件资源限制.-a 显示当前所有的资源限制.-c size:设置core文件的最大值.单位:blocks(1block=512byte

2013-03-15 17:33:45 3420

原创 sed删除多行

sed删除以某标记开始,某标记截止的多行内容:sed '//, //d' filename

2013-01-18 12:21:25 6662

原创 thrift异步调用

关于异步,我找了很多资料,java方面的比较多,可c的少之又少,很多就是简单提一下,也么说怎么用,最后终于还是自己研究出来了异步分为服务端异步与客户端异步两部分,理论上他们两者是无关的,不论服务端同步与否,客服端都可以做成异步的。客户端异步客户端异步比较简单,服务端可以使用任何server,TThreadPoolServer或TNonblockingServer等随意,客户端不调用自动

2013-01-14 11:27:42 19104 8

原创 RPC工具:Thrift与ProtocolBuffer

RPC(Remote Procedure Call——远程过程调用)两大工具:Thrift与ProtocolBuffer关于这两个的概念与用法,我也就不自己多说了,列出个人认为比较好的资料如下Thrift:Thrift框架介绍  http://dongxicheng.org/search-engine/thrift-framework-intro/Thrift使用指南 http

2013-01-10 15:30:28 5575

原创 继承下构造函数与析构函数顺序及虚函数

经测试,继承下构造函数与析构函数顺序(包括虚析构函数),结果如下:普通继承或虚函数继承,子类指针指向子类实例:父类构造函数>>>子类构造函数子类析构函数>>>父类析构函数普通继承,父类指针指向子类实例:父类构造函数>>>子类构造函数父类析构函数虚函数继承,父类指针指向子类实例:父类构造函数>>>子类构造函数子类析构函数>>>父类析构函数由以上结果及测试情况得

2013-01-07 18:09:43 3194

原创 apt-get及yum使用简介

搜索包apt-cache search ***yum使用资料:http://blog.cnr.cn/18/viewspace-8099.html

2013-01-07 16:26:20 589

转载 typename和class的区别

typename用来说明一个qualified name是一个类型。比如: template void f(C& rc){         Typename C::iterator i = rc.begin();         //   ... } 编译器不知道C的定义,所以不知道C::iterator是什么东西。因此必须有typename来告诉编译器。   te

2012-12-07 18:18:08 836

原创 计算机变量命名常用词汇(包括对仗词)

对仗词add/remove,添加/移除add/delete,添加/删除insert/delete,插入/删除start/stop,开始/停止begin/end,开始/结束send/receive,发送/接收get/set,取出/设置get/release,获取/释放put/get,放入/取出up/down,向上/向下show/hide,显示/隐藏op

2012-08-24 16:13:05 5181

转载 Linux内存调试工具-Valgrind使用方法

一. Valgrind是什么?Valgrind是一个提供程序调试及性能分析的工具集。其包含的工具主要有Memcheck,Cachegrind,Callgrind,Massif等。其中,最为常用的是Memcheck,其主要用来检查程序heap上的内存使用情况。本文档主要介绍Memcheck的用法和一些使用技巧。其官方网站是:      http://valgrind.org/ 二. Va

2012-08-17 17:48:28 10476 1

转载 c.vim插件使用方法

c.vim插件可以自动插入注释与代码,详细使用方法为:1.在~/.vim/c-support/templates/Templates可以设置版权信息,如作者、信箱、版权归属等,新建.c或.cpp文件是可以看到,并且列出了使用模板文件位置,可以自己编辑2.\if 插入一般函数3.\im 插入主函数4.\cfu 插入函数头,即函数说明5.\cfr 插入一个frame comme

2012-08-13 15:32:44 4495

原创 Windows下搭建本机Ubuntu虚拟机开发环境(c/c++)

由于没有服务器供开发使用,所以需要在自己本机搭建开发环境,本人喜欢日常工作在windows下,而开发在linux下,所以决定不把系统换成linux,而是在windows环境下安装虚拟机,在虚拟机上安装ubuntu。===================================================================下面是各需要的软件下载地址我安装的是ub

2012-08-10 17:38:27 4667

转载 Memory Hierarchy-计算机各级存储器速度对比

这篇文章是抄自亚嵌的教材,觉得不错,分享一下。由于硬件技术的限制,我们可以制造出容量很小但很快的存储器,也可以制造出容量很大但很慢的存储器,但不可能两边的好处都占着,不可能制造出访问速度又快容量又大的存储器。因此,现代计算机都把存储器分成若干级,称为Memory Hierarchy,按照离CPU由近到远的顺序依次是CPU寄存器、Cache、内存、硬盘,越靠近CPU的存储器容量越小但访问速度越快

2012-07-30 10:20:59 9731

转载 gcc 的 -g 和 -ggdb 选项

gcc 的 -g 和 -ggdb 选项-g 和 -ggdb 都是令 gcc 生成调试信息,但是它们也是有区别的-g该选项可以利用操作系统的“原生格式(native format)”生成调试信息。GDB 可以直接利用这个信息,其它调试器也可以使用这个调试信息-ggdb使 GCC 为 GDB 生成专用的更为丰富的调试信息,但是,此时就不能用其他的调试器来进行调试

2012-07-24 17:52:59 13850

原创 svn命令使用手册

在网上找了一份比较好的手册供下载,大家自己下载来看吧,下面是下载地址:http://download.csdn.net/detail/zlzlei/4441712我这里会补充自己在使用过程中比较有用的经验===========================================================================1. 比较不同版本间变

2012-07-20 18:17:16 899

转载 Linux定时器工具-crontab 各参数详解及如何查看日志记录

要使用crontab定时器工具,必须要启动cron服务:service cron startcrontab的语法,以备日后救急。先上张超给力的图:crontab各参数说明:-e : 执行文字编辑器来编辑crontab,内定的文字编辑器是VI-r : 删除目前的crontab-l : 列出目前的crontab(查看专用)-i : 会和-

2012-07-20 15:16:41 40640 3

转载 Linux抓包工具-Tcpdump命令简介

tcpdump的命令格式为:  tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]          [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]          [ -T 类型 ] [ -w 文件名 ] [表达式 ](1). tcpdump的选项介绍   -a    将网络地址和广播地址转变成名字

2012-07-11 17:02:39 2653

转载 Mysql命令大全

Mysql官方指导手册(包括sql语法):http://dev.mysql.com/doc/refman/5.1/zh/index.htmlMysql常用经典语句:http://www.cnblogs.com/see7di/archive/2010/04/27/2239909.html下面是常用的一些命令第一招、mysql服务的启动和停止net stop mysqlne

2012-07-11 14:21:46 756

转载 Linux查看进程打开多少文件描述符命令-lsof

lsof简介lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口

2012-07-09 18:17:47 46380

转载 grep用法详解:grep与正则表达式

首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大;在以前上班的公司里,由于公司是基于web的服务型网站(nginx),对正则的需求比 较大,所以也花了点时间研究正则,特与大家分享下:

2012-07-09 14:21:37 1644

转载 Linux流量监控工具 - iftop

在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。一、iftop是什么?iftop是类似于top的实时流量监控工具。官方网站:http://www.ex-parrot.com/~pdw/iftop/二、iftop有什么用?iftop可以用来

2012-07-04 14:07:49 873

转载 系统性能统计(CPU占用率,内存占用率,系统平均负载)

1、获取cpu占用情况[root@localhost utx86]# top -n 1 |grep CpuCpu(s): 1.9%us, 1.3%sy, 0.0%ni, 95.9%id, 0.6%wa, 0.1%hi, 0.2%si, 0.0%st解释:1.9%us是用户占用cpu情况1.3%sy,是系统占用cpu情况2、获得内存占用情况[root@

2012-07-04 12:19:14 14505

转载 系统平均负载

什么是系统平均负载(Load average)?(What Does "Load Average" Mean?) 在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢?系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中:- 它没有在等待I/O操作的结果

2012-07-04 12:15:47 1007

转载 linux top命令详解

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 z

2012-07-04 12:13:50 601

原创 我的vim(配置+插件)

======================================================下载安装配置文件与插件目录已打包上传,下载地址http://download.csdn.net/detail/zlzlei/4570644或http://f.xunlei.com/9343823/file/3d9ccc16-294d-42f7-a7df-70d669267

2012-07-03 11:06:22 2098

转载 epoll使用详解(精髓)

epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且

2012-07-02 17:15:29 907

原创 vim使用技巧

说明:以下的例子中 xxx 表示在命令模式下输入 xxx 并回车以下的例子中 :xxx 表示在扩展模式下输入 xxx 并回车小括号中的命令表示相关命令.在编辑模式或可视模式下输入的命令会另外注明.=====================================================================================1. 查找

2012-07-02 14:50:35 1003

原创 linux下find命令使用实例

find命令用于查找文件和目录,任何位于参数之前的字符串都将被视为欲查找的目录。find 可以指定查找条件如名称,类型,时间,文件大小,权限和所有者查找,针对多个条件进行与或非的逻辑运算。我们可以控制find的查找的行为,还可以和其他命令组合使用。find find .find . -print三者等效, 查找当前目录下所有的文件和目录(递归子目录),以每行一个文件或者目录的形

2012-06-29 16:19:34 2828

转载 交换机 路由器和集线器的区别

集线器-------集线器也叫Hub,工作在物理层(最底层),没有相匹配的软件系统,是纯硬件设备。集线器主要用来连接计算机等网络终端。集线器为共享式带宽,连接在集线器上的任何一个设备发送数据时,其他所有设备必须等待,此设备享有全部带宽,通讯完毕,再由其他设备使用带宽。正因此,集线器连接了一个冲突域的网络。所有设备相互交替使用,就好象大家一起过一根独木桥一样。集线器不能判断数据包的目

2012-06-28 17:59:41 1640

转载 DLNA认证过程

欲取得认证的厂商须先成为DLNA协会会员并至协会网页注册,先利用Conformance Test Tool (CTT)测试工具完成自行测试后再将产品送往DLNA认证机构进行认证,目前全球共有分布在欧洲、美洲、亚洲的四家测试实验室,而其中之ㄧ就是位於台湾的测试实验室-百佳泰(Allion)。在注册测试的过程中,DLNA协会根据送测的产品类型及支援无线网路来额外要求厂商提供通过UPnP及Wi-Fi

2012-06-27 10:55:58 3025

原创 多播,组播

多播(multicast),也被称为组播,那些理论的概念就不解释了,自己看百度百科吧:多播:http://baike.baidu.com/view/378050.htm组播:http://baike.baidu.com/view/492256.htmMD,这帮坑爹的,明明一个东西非要分开说,我最开始先看的组播,最让人郁闷的是一说组播,到处都说“加入一个组”“组成员管理”什么的,可从来没

2012-06-26 15:40:28 3279 1

原创 Linux下tcp协议socket的recv函数返回时机分析(粘包)

以前老在网上找别人说recv什么时候返回,要么说的很笼统,要么完全觉得不靠谱,最近还是自己做个试验分析一下吧:测试1. 每次发送大小:1024每次接收大小:32结果:pack1每send发送一个包,包中数据大小1024,带PUSH标志每次接收满32后recv函数返回。测试2.每次发送大小:1024每次接收大小:2048结果:pack2每send发

2012-06-25 14:10:01 11179 3

原创 Ubuntu通过Samba共享Windows目录方法

1. 手动挂载,直接mount:mount -t cifs -o username=zhanglei,password=123456,iocharset=utf8 //192.168.71.1/Develop /share2. 自动挂载,配置fstab修改配置文件:vi /etc/fstab添加以下内容://192.168.71.1/Develop /sha

2012-06-25 12:17:57 728

我的vim配置与插件

我的vim配置与插件,使用说明见: http://blog.csdn.net/zlzlei/article/details/7711067

2012-09-14

SVN命令使用手册

SVN命令使用手册,个人觉得讲的比较好的一本手册。

2012-07-20

VIM配置与插件

包括taglist插件与omnicppcomplete以及相关的配置

2012-07-03

我的vim(配置+插件)

我的vim(配置+插件) 包括taglist插件与omnicppcomplete以及相关的配置

2012-07-03

空空如也

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

TA关注的人

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