2011年9月1日
摘要: http://www.geminikwok.com/2011/04/02/hadoop-job%C3%A8%C2%A7%C2%A3%C3%A5%C2%86%C2%B3%C3%A5%C2%A4%C2%A7%C3%A6%C2%95%C2%B0%C3%A6%C2%8D%C2%AE%C3%A9%C2%87%C2%8F%C3%A5%C2%85%C2%B3%C3%A8%C2%81%C2%94%C3%A7%C2%9A%C2%84%C3%A4%C2%B8%C2%80%C3%A7%C2%A7%C2%8D%C3%A6%C2%96%C2%B9%C3%A6%C2%B3%C2%95/用java写的hadoop程序实现关 阅读全文
posted @ 2011-09-01 13:53 阿笨猫 阅读(1256) 评论(0) 推荐(0) 编辑
  2011年8月28日
摘要: 这里面提出了一个常见的错误,要注意http://www.bpsky.net/t/android%20md5%20%E5%8A%A0%E5%AF%86%E5%AD%97%E7%AC%A6%E4%B8%B2.htmlJava MD5 Hashing ExampleMD5 is one in a series of message digest algorithms designed by Professor Ronald Rivest of MIT (Rivest, 1994). When analytic work indicated that MD5′s predecessor MD4 was 阅读全文
posted @ 2011-08-28 11:56 阿笨猫 阅读(4387) 评论(0) 推荐(0) 编辑
摘要: http://martinbroadhurst.com/Consistent-Hash-Ring.htmlConsistent Hash Ring Introduction Consistent hashing was first described in a paper, Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the World Wide Web (1997) by David Karger et al. It is used in distr 阅读全文
posted @ 2011-08-28 11:51 阿笨猫 阅读(1798) 评论(0) 推荐(0) 编辑
摘要: http://amix.dk/blog/post/19367I have implemented consistent hashing in Python. The module is calledhash_ringand you can get it right away. This post will explain the motivation behind the project and details. I think other languages such as Ruby can reuse my code since it's fairly simple :-)To i 阅读全文
posted @ 2011-08-28 11:50 阿笨猫 阅读(4983) 评论(0) 推荐(0) 编辑
  2011年8月25日
摘要: http://ptsolmyr.com/2010/07/30/consistent_hash_by_tom_whitehttp://sandaobusi.iteye.com/blog/964368 推荐 java例子http://martinbroadhurst.com/Consistent-Hash-Ring.html 推荐C++实现http://www.yeeach.com/2009/10/02/consistent-hashing%E7%AE%97%E6%B3%95/Tom White是<Hadoop: The Definitive Guide>的作者,目前在云计算大牛公司c 阅读全文
posted @ 2011-08-25 18:28 阿笨猫 阅读(1139) 评论(0) 推荐(0) 编辑
  2011年8月18日
摘要: 由于top不方便显示全部的进程,所以如果只想观察某个进程在top下的状态变化,可以使用下面的命令:top -d 1 -n 10000 -b -u username -c-d设置刷屏的时间 -p指定需要监控的进程id -u指定需要监控的用户名称 -b 指定之后不能使用交互式的方式,如果不指定的话可以动态调整,一般用于输出到文件的时候使用 -H 指定这个可以显示每个线程的情况,否则就是进程的总的状态 -i不显示闲置和僵死的进程-c显示全部命令参数==================================================================http:/... 阅读全文
posted @ 2011-08-18 19:48 阿笨猫 阅读(11137) 评论(0) 推荐(0) 编辑
摘要: 知识背景:210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式。英语叫做IPv4 numbers-and-dots notation。如果把210.25.132.181转换为整数形式,是3524887733,这个就是整数形式的IP地址。英语叫做binary data。(其实binary是二进制的意思)详细介绍,请参考:网络字节序与主机字节序的转换问题所在:如何在字符串形式的IP和整数形式的IP之间转换呢?转换函数:int inet_aton(const char *cp, struct in_addr *inp);in_addr_t inet_addr(const ch 阅读全文
posted @ 2011-08-18 19:33 阿笨猫 阅读(15719) 评论(0) 推荐(0) 编辑
摘要: http://www.cppblog.com/tx7do/archive/2009/01/06/71276.html在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:big-edian和little-endian。字节顺序Endian现代的计算机系统一般采用字节(Octet, 8 bit Byte)作为逻辑寻址单位。当物理单位的长度大于 阅读全文
posted @ 2011-08-18 19:29 阿笨猫 阅读(2609) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/sunboy_2050/article/details/6126712select用法#include <sys/time.h> #include <sys/types.h> #include <unistd.h> #include <sys/select.h>int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); int pselect(int n, fd_set 阅读全文
posted @ 2011-08-18 19:11 阿笨猫 阅读(2324) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/sunboy_2050/article/details/6057759TCP三次握手TCP连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换TCP窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:1.客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。2.服务器收到客户端发送过来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,其中包含它选择的初始序列号y、对客户端的序列号的确认x+1和 阅读全文
posted @ 2011-08-18 19:10 阿笨猫 阅读(864) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/sunboy_2050/article/details/5666272======== TCP========TCP_Serversocket()bind()listen()accept()write()read()close() 和shutdown()TCP_Clientsocket()connect()send() 和recv()close() 和shutdown()======== UDP========UDP_Serversocket()bind()sendto() 和recvfrom()close() 和shutdown()UDP_Clien 阅读全文
posted @ 2011-08-18 19:09 阿笨猫 阅读(4520) 评论(0) 推荐(5) 编辑
  2011年8月15日
摘要: http://my.chinaunix.net/space.php?uid=20196318&do=blog&id=366042http://blog.endlesscode.com/2010/03/27/select-poll-epoll-intro/linux提供了select、poll、epoll接口来实现IO复用,三者的原型如下所示,本文从参数、实现、性能等方面对三者进行对比。int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout 阅读全文
posted @ 2011-08-15 20:23 阿笨猫 阅读(49487) 评论(3) 推荐(10) 编辑
摘要: http://blog.csdn.net/heyan1853/article/details/6457362首先,介绍几种常见的I/O模型及其区别,如下:blocking I/Ononblocking I/OI/O multiplexing (selectandpoll)signal driven I/O (SIGIO)asynchronous I/O (the POSIXaio_functions)blocking I/O这个不用多解释吧,阻塞套接字。下图是它调用过程的图示:重点解释下上图,下面例子都会讲到。首先application调用 recvfrom()转入kernel,注意kerne 阅读全文
posted @ 2011-08-15 20:20 阿笨猫 阅读(12557) 评论(0) 推荐(6) 编辑
摘要: http://hi.baidu.com/jjpro/blog/item/06ea380859eac433e82488f8.html一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况, 但是最常见的是如果不按照适合其平 阅读全文
posted @ 2011-08-15 20:10 阿笨猫 阅读(1062) 评论(0) 推荐(1) 编辑
  2011年8月13日
摘要: 调试代码的时候,只能看到下一行,每次使用list非常烦,不知道当前代码的contexthttp://beej.us/guide/bggdb/#compiling简单来说就是在以往的gdb开始的时候添加一个-tui选项.有的版本已经有gdbtui这个程序了在linux自带的终端里是正常显示的,但是在securecrt里面,可能由于编码的问题,边缘会有些乱码,不过不影响使用(如果你的程序有错误输出,会扰乱整个界面,所以在调试的时候,建议添加2>/dev/null,这样的话基本可用)启动gdb之后,上面是src窗口,下面是cmd窗口,默认focus在src窗口的,这样的话上下键以及pagedo 阅读全文
posted @ 2011-08-13 11:37 阿笨猫 阅读(7976) 评论(0) 推荐(1) 编辑
摘要: http://blog.csdn.net/sunboy_2050/article/details/6252552如果安装了JDK,会发同你的电脑有两套JRE,一套位于<JDK安装目录>/jre另外一套位于C:/Program Files/Java/j2re1.4.1_01目录下后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。而且在安装JDK可以选择是否安装这个位于 C:/Program Files/Java 目录下的JRE。如果你只安装JRE,而不是JDK,那么只会在 C:/Program Files/Java 阅读全文
posted @ 2011-08-13 10:28 阿笨猫 阅读(379) 评论(0) 推荐(0) 编辑
  2011年8月4日
摘要: http://www.life404.cn/post-107.html一、每次输入都自动提示 设置Window->preferences->Java->Editor->Content Assist 再右下角Auto activation triggers for Java里面改为 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ({[ 这样每次输入上面字母都会自动提示了 你还可以修改下Auto activation delay,修改一下提示的延迟。 二、用alt+/手动控制自动提示(推荐) Window->p 阅读全文
posted @ 2011-08-04 19:02 阿笨猫 阅读(11613) 评论(0) 推荐(0) 编辑
  2011年7月29日
摘要: http://www.cublog.cn/u3/100661/showart_2091898.html#include <unistd.h>int daemon(int nochdir,int noclose)在创建精灵进程的时候,往往需要将精灵进程的工作目录修改为"/"根目录并且将标准输入,输出和错误输出重定向到/dev/nulldaemon的作用就是当参数nochdir为0时,将根目录修改为工作目录noclose为0时,做输入,输出以及错误输出重定向到/dev/null执行成功返回0错误返回-1<---------------------------- 阅读全文
posted @ 2011-07-29 17:21 阿笨猫 阅读(16844) 评论(0) 推荐(0) 编辑
摘要: 普通new一个异常的类型std::bad_alloc。这个是标准适应性态。在早期C++的舞台上,这个性态和现在的非常不同;new将返回0来指出一个失败,和malloc()非常相似。在一定的环境下,返回一个NULL指针来表示一个失败依然是一个不错的选择。C++标准委员会意识到这个问题,所以他们决定定义一个特别的new操作符版本,这个版本返回0表示失败。一个nothow new语句和普通的new语句相似,除了它的变量将涉及到std::nothrow_t。Class std::nothrow_t在new将按照下面的方式来定义:class nothrow_t// in namespace std{}. 阅读全文
posted @ 2011-07-29 16:56 阿笨猫 阅读(2232) 评论(0) 推荐(0) 编辑
  2011年7月28日
摘要: 在vim新建文件的时候,黏贴代码(shift+insert)会自动缩进,导致格式非常混乱可以set paste,使得vim 进入paste模式,这样不会自动产生缩进粘贴完成之后set nopaste,恢复缩进模式当然也可以在vimrc中设置set pastetoggle=<F6>,这样F6就成了改变paste模式的快捷键 阅读全文
posted @ 2011-07-28 15:37 阿笨猫 阅读(464) 评论(0) 推荐(0) 编辑