- 浏览: 252833 次
- 性别:
-
最新评论
文章列表
结构
//结构变量的声明
struct {
int number;
char name[NAME_LEN+1];
int on_hand;
} part1, part2;
//初始化
struct {
int number;
char name[NAME_LEN+1];
int on_hand;
} part1 = { 528, "Disk driver", 10 };
part2 = { 914, "Printer cable", 5};
//C99的指定 ...
数组
#define N 10
int a[N];
for(int i=0;i<N;i++) {
a[i] = 0;
}
//初始化,没有被初始化到的数组下标就被设置为0
int a[10] = {1,2,3,4,5};
//等价于
int a[10] = {1,2,3,4,5,0,0,0,0,0};
//也可以写成入如下形式相当于把整个数组全部赋值为0
int a[10]={0};
//C99中可以指定对某个元素下标赋值,剩余的就被赋值为0
int a[15] = {[2]=11, [9]=33, [14]= 99};
//对数组 ...
预处理器可以在编译前处理C程序
//include 指令告诉预处理器打开一个特定的文件
#include <stdio.h>
//用define 指令定义了一个宏,用来代表其他东西的名字
#define PI 3.14
//可以用 / 符号换行
#define DISK_CAPACITY (SIDES * \
TRACKS_PER_SIDE * \
...
实例分析Java Class的文件结构 http://coolshell.cn/articles/9229.html JVM指令详解(上) http://blog.csdn.net/hudashi/article/details/7062675 JVM指令详解(下) http://blog.csdn.net/hudashi/article/details/7062781 JVM指令助记符 http://blog.csdn.net/hudashi/article/details/7062791
实例分析Java Class的文件结构 http://coolshell.cn/articles/9229.html JVM指令详解(上) http://blog.csdn.net/hudashi/article/details/7062675 JVM指令详解(下) http://blog.csdn.net/hudashi/article/details/7062781 JVM指令助记符 http://blog.csdn.net/hudashi/article/details/7062791
java -XX:+PrintFlagsFinal
可以打印出所有的JVM参数信息
-XX:+CMSIncrementalMode启用垃圾回收增量模式,该模式可降低因垃圾回收导致的暂停时间false
-XX:+CMSIncrementalPacing与上一个参数配合使用,根据应用程序的行为自动调整每次执行的垃圾回收任务的幅度
-XX:CMSIncrementalDutyCycleMin=<N>与CMSIncrementalPacing参数配合使用,每次增量回收垃圾的占总垃圾回收任务的最小比例-XX:CMSIncrementalDutyC ...
appletviewer idlj java javah jdb jmap jsadebugd jstatd orbd rmic schemagen tnameserv wsimport
apt jar javac javap jhat jps jstack keytool pack200 rmid serialver unpack200 xjc
extcheck ...
JPS(虚拟机进程状态工具)
参数
含义
-m
传递给main函数的参数
-l
输出的类名为完整的包名
如果是运行的是jar,则初始化jar名称
-v
传递给JVM的-D参数
-V
通过.hotspotrc文件传递给JVM的参数
-q
只输出进程id
jinfo(虚拟机配置信息工具)
参数
含义
-sysprops
类似getProperties()打出的内容
-flag
打印指定的参数,也可以增加和删除
或者设置指定的参数
-flags
打印所有的JVM参数
...
路径MTU发现
TCP的路径MTU发现按照如下方式进行:
在建立连接时,TCP使用输出接口或对端声明的MSS中的最小MTU作为起始的报文段大小。路径MTU发现不 允许TCP超过对端声明的MSS,如果对端没有指定一个MSS,默认为536。
所有的TCP发送的IP数据报都被设置了DF比特,不可分片,如果中间路径的MTU小于这个值就会发送一个
ICMP差错报文,表示“不可分片”。发送端收到这个差错报文后减小MTU的大小后重新发送。
默认情况下每10分钟后会尝试使用一个较大的MTU值发送数据。
分组并不是越大越好,大的分组每经过一个路由的时间都会增加,但是传输量会 ...
对于每连接,TCP管理4个不同的定时器:
1.重传定时器适用于当希望收到另一端的确认
2.坚持(persist)定时器使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口
3.keepalive定时器可检测到一个空闲连接的另一端何时崩溃或重启
4.2ML定时器测量一个连接处于TIME_WAIT状态的时间
当TCL发送端检查到一段时间没有收到ACK,就会重新发送这个报文段。
RTT测量
RTT(Round Trip Time)是指一个数据包从发送到确认的时间,也就是发送的时间t1,接收到ACK的时间t2,然后t2-t1就得到了RTT时间
之后TC ...
TCP的keepalive
- 博客分类:
- 网络协议
TCP的keepalive
一般是服务端开启这个功能,当然双方都可以使用。对于客户端来说会处于以下四种状态之一:
1.客户主机依然正常运行,并从服务器可达。客户端的TCP响应正常,而服务端也知道对方是正常工作的,服务器再两小时以后将keepalive定时器复位。如果在两个小时定时器时间达到之前有应用程序的通信量通过此连接,则定时器在交换数据后的未来2小时再复位。
2.客户端主机已崩溃,并且关闭或者正在重启。在任何一种情况下,客户端的TCP都没有响应。服务器将不能够收到对探查的响应,并在75秒后超时。服务器总共发送10个这样的探查,每个间隔75秒,如果服务器没有收到一个响应, ...
小包的交互
如果我们像telnet那样输入字符,则每次都会触发一个小包的传输,可能只有一个字节的数据内容(数据包是20字节的ip头+20字节的tcp头为41字节)。
当三次握手建立后,客户端像服务端发送数据,分别发送G,E,T。
...
TCP连接的建立和终止
- 博客分类:
- 网络协议
TCP数据包格式:
TCP数据包中没有标识数据大小的字段,这个字段定义在IP首部中了。
TCP首部长度最小是20字节,最大是60字节,首部长度就定了偏移量,标识了TCP首部的大小
TCP流量控制是由连接的每一端通过声明窗口大小来 ...
HBase-客户端请求
- 博客分类:
- hadoop
客户端相关参数
参数
默认值
含义
hbase.htable.threads.max
2147483647
线程池中的线程数量
hbase.htable.threads.keepalivetime
60秒
keepalive时间
hbase.client.pause
1秒
重试的休眠时间
hbase.client.retries.number
10
重试次数
hbase.client.rpc.maxattempts
1
hbase.rpc.timeout
60秒
hbase.client.pre ...
参考:
DNS迭代查询与递归查询的区别
DNS查询指令:host 、nslookup 、dig 详解
DNS基础教程(一)基础、概览
DNS基础教程(二)理解计算机的主DNS后缀选项
DNS基础教程(三)理解计算机的多种DNS后缀选项
DNS基础教程(四)DNS服务器、客户端安装及配置
DNS基础教程(五)创建DNS正向、反向查找区域
DNS基础教程(六)详解正向、反向查找区域
DNS基础教程(七)辅助区域、存根区域操作演示
DNS基础教程(八)DNS客户端查询过程
DNS基础教程(九)DNS服务器属性之接口和转发器
DNS基础教程(十)图 ...