TCP三次握手所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手。第一次握手:
客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,...
分类:
其他好文 时间:
2016-04-21 11:56:09
阅读次数:
124
动态存储方式
所谓动态存储方式是指在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储变量是在程序执行过程中,使用它时才分配存储单元, 使用完毕立即释放。 典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配, 调用函数完毕立即释放。如果一个函数被多次调用,则反复地分配、 释放形参变量的存储单元。
静态存储方式
所谓静态存储方式是...
分类:
其他好文 时间:
2016-04-21 11:51:20
阅读次数:
208
Elasticsearch在linux下使用命令sh elasticsearch start,按键ctrl+c的时候程序就会stop掉,如何将程序在后台启动呢?
需要使用:./elasticsearch -d
这时执行的时候会出现没有权限./elasticsearch: Permission denied
需要授权执行命令:chmod +x bin/elasticsearch
再次执行./e...
分类:
其他好文 时间:
2016-04-21 11:48:30
阅读次数:
125
在Unix上编程采用多线程还是多进程的争执由来已久,这种争执最常见到在C/S通讯中服务端并发技术 的选型上,比如WEB服务器技术中,Apache是采用多进程的(perfork模式,每客户连接对应一个进程,每进程中只存在唯一一个执行线程), Java的Web容器Tomcat、Websphere等都是多线程的(每客户连接对应一个线程,所有线程都在一个进程中)。
从Unix发展历史看,伴随着Uni...
分类:
编程语言 时间:
2016-04-21 11:48:15
阅读次数:
249
(function(window, undefined) { var jQuery = ... ... window.jQuery = window.$ = jQuery; })(window); 整个代码包裹在一个立即执行匿名函数内。 这样写的优点: 1. 通过写立即执行匿名函数,这样不会干扰jQ ...
分类:
Web程序 时间:
2016-04-21 11:38:20
阅读次数:
128
一个C语言程序一直以来都是由以下5个段组成: 1、代码段(text segmrnt):存放CPU执行的机器指令,通常情况下,代码段是可共享的,使其可共享的目的是对于频繁被执行的程序,只需要在没存中有有一份拷贝即可,比如文本编辑器,c编辑器,shell等等。另外,代码段也通常是只读的,使其只读的原因是 ...
分类:
其他好文 时间:
2016-04-21 11:36:22
阅读次数:
119
今天看了篇文章,说rm -rf / 是不能直接执行的,我怀着忐忑的心情,测试了一下:
[root@rac1 ~]# rm -rf /
rm: it is dangerous to operate recursively on `/'
rm: use --no-preserve-root to override this failsafe
[root@rac1 ~]# unset $foo
[roo...
分类:
其他好文 时间:
2016-04-21 10:25:48
阅读次数:
157
临界区: 临界区是指一个小代码段,在代码能够执行前,它必须独占对某些资源的访问权。这是让若干代码能够"以原子操作方式"来使用资源的一种方法。 所谓原子(atomic)操作方式,是指这段代码知道没有别的线程要访问这个资源. 说明: 1. MacOSX,Windows有自己的线程模型, pthread可 ...
分类:
编程语言 时间:
2016-04-21 10:08:16
阅读次数:
167
定义Java内存模型并不是一件容易的事情,这个模型必须定义得足够严谨,才能让Java的并发操作不会产生歧义;但是,也必须得足够宽松,使得虚拟机的实现能有足够的自由空间去利用硬件的各种特性(寄存器、高速缓存等)来获取更好的执行速度。经过长时间的验证和修补,在JDK1.5发布后,Java内存模型就已经成 ...
分类:
编程语言 时间:
2016-04-21 10:08:14
阅读次数:
248
在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。现在Java终于有可返回值的任务(也可以叫做线程)了。 可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。执行Callable任务后,可以 ...
分类:
编程语言 时间:
2016-04-21 10:04:36
阅读次数:
116