自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邹鑫的专栏

经过的事已经随风而去,路过的人,是否该记忆

  • 博客(20)
  • 资源 (7)
  • 收藏
  • 关注

原创 配置Hadoop和HIVE

最近自己在五台Linux服务器上成功配置了Hadoop和HIVE。本文记录了具体的配置步骤。

2010-09-22 16:14:00 12196

原创 google著名开源项目总结

有一篇文章总结了一些Google比较著名的开源项目(该文全文已附在本文最后),本文在那篇文章基础上又添加了几个开源项目。

2010-09-05 15:24:00 13533 1

原创 线程同步之利器(2)——区域锁(Scoped locking)

区域锁(Scoped locking)不是一种锁的类型,而是一种锁的使用模式(pattern)。实际上是RAII模式在锁上面的具体应用。本文具体介绍了一下区域锁的实现。

2010-08-29 15:09:00 17038 1

原创 线程同步之利器(1)——可递归锁与非递归锁

本文是“锁”系列文章之一,主要讲述了递归锁与非递归锁的一些相关知识。

2010-08-25 23:01:00 34693 5

原创 一个Linux下C线程池的实现

    什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。    下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。    p

2008-12-19 23:03:00 22728 19

原创 linux下ARP欺骗程序

    很久以前写的一个arp reply程序,关键时刻有时能派上用场,保存一下。有次自己服务器的IP不知道被哪个组的抢了,导致上不了网,而网管又找不到是哪台服务器。实在没有办法,只用用此程序夺回了自己的IP。注意这里IP地址和MAC地址都是假的。#include #include #include #include #include #include #define SRC_IP "238.22

2008-10-25 09:09:00 5228 5

原创 在C中如何使函数返回数组

    Java语言的函数可以轻易的返回一个数组,而C/C++却不能直接返回一个数组。这是由于在C/C++中,数组不是一种类型,因此不能被直接返回。    在C/C++中,一般有两种方法来返回一个数组。第一种方法: 返回一个指向数组的指针,例如char (*retArray)[10]声明了一个函数retArray,该函数可以返回指向具有10个char元素的数组 例子如下: #inclu

2008-06-08 21:07:00 73870 12

原创 关于gethostbyname在多线程环境下的阻塞问题

  Unix/Linux下的gethostbyname函数常用来向DNS查询一个域名的IP地址。 由于DNS的递归查询,常常会发生gethostbyname函数在查询一个域名时严重超时。而该函数又不能像connect和read等函数那样通过setsockopt或者select函数那样设置超时时间,因此常常成为程序的瓶颈。有人提出一种解决办法是用alarm设置定时信号,如果超时就用setjmp和lo

2008-03-31 22:07:00 10934 2

原创 我的开源搜索引擎xyzse第一版终于发布了

    经过两星期紧张的开发,我的开源搜索引擎xyzse第一版总算发布了。可以通过以下链接下载源代码,    sourceforge站点:   http://sourceforge.net/projects/xyzse/      google code站点:   http://code.google.com/p/xyzse/    xyzse第一版编写的目的是写一个非常小的中文搜索引擎,但是麻雀

2008-03-26 21:19:00 3193 3

原创 用分支定界(branch and bound)法解装箱问题

装箱问题 [ 问题描述 ] 有一个箱子容量为 v( 正整数, 0≤v≤20000) ,同时有 n 个物品 (0≤n≤30) ,每个物品有一个体积 ( 正整数 ) 。要求从 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 [ 样例 ]输入: 10 一个整数,表示箱子容量 3 一个整数,表示有 n 个物品 4 接下来 n 行,分别表示这 n 个物品的各自体积。 8

2007-12-13 14:40:00 5829 2

原创 用动态规划方法旅行商问题(TSP问题)

某推销员要从城市v1 出发,访问其它城市v2,v3,…,v6 各一次且仅一次,最后返回v1。D为各城市间的距离矩阵。问:该推销员应如何选择路线,才能使总的行程最短?   以下是用动态规划方法,Linux下g++编译通过#include iostream>#include set>#include vector>#define MAX 6using namespace std;int dis

2007-12-04 21:50:00 35970 13

转载 Linux下的IPv6地址、路由以及隧道配置

    如今,几乎所有的主流操作系统、嵌入式操作提供系统都提供了对IPv6协议栈的支持,在windows XP下面,使用ipv6 install命令便可以启动IPv6协议栈,在默认安装的linux下,利用modprobe ipv6便可以以模块的方式加载IPv6协议栈。本篇仅介绍linux下面的IPv6协议栈的配置命令,以后会陆续推出更为详尽的linux及windows下的各种过渡机制,比如6to4

2007-10-20 15:42:00 17411

原创 htons函数具体解释

     在Linux和Windows网络编程时需要用到htons和htonl函数,用来将主机字节顺序转换为网络字节顺序。     在Intel机器下,执行以下程序 int main()...{   printf("%d /n",htons(16));      return 0;}得到的结果是4096,初一看感觉很怪。    解释如下,数字16的16进制表示为0x

2007-10-07 16:27:00 50547 14

原创 Linux下的Dos攻击程序

     今天学习了Unix/Linux网络编程的原始套接字,并完成了一个DoS(拒绝服务攻击)程序。该程序向HTTP服务器发送大量建立连接的的请求,但是不发送ack报文,从而可以使服务器产生大量半连接。在半连接超时之前,服务器不堪重负而停止响应其它请求。当多台机器同时参与攻击时候,就办成DDoS攻击(分布式拒绝服务攻击)。    编写原始套接字需要了解报文结构,下面这个链接http://bl

2007-10-04 14:08:00 7073 2

原创 Google2007年4月笔试题

   1.给一个三位数乘三位数的等式,求这个等式是几进制567*456=150216 2.char str[][10] = {"Hello", "Google"};char *p = str[0];cout求输出结果 3.int cnt = 0;int x = 11;while (x != 1){       cnt++      

2007-10-01 20:41:00 1254

原创 简单的Linux客户-服务器网络程序

   下面这段程序中,服务器监听5000端口,客户端通过TCP连接上去以后,服务器会向客户端发送“Hello,success”字符串。程序非常简单,却实现了基本功能。 服务器端程序如下#include sys/socket.h>#include netinet/in.h>int main()...{  int listensock,connsock;  const char buff[

2007-09-30 20:12:00 1473

原创 java垃圾回收算法

Java ,C#语言与C/C++语言一个很大的区别是java与C#具有自动垃圾回收机制。C++程序员经常需要绞尽脑汁的分析哪里出现了内存泄漏。而在java,C#中,虽然有时也会出现内存泄漏,但大部分情况下程序员不需要考虑对象或者数据何时需要被销毁。因此程序员不会因为错误的释放内存而导致程序崩溃。垃圾回收的缺点是加大了程序的负担,有可能影响程序的性能。1.垃圾收集器的主要功能有(1)    

2007-05-01 16:02:00 16380 4

原创 一个典型的非阻塞IO程序

   Java 非阻塞IO常用于高性能的服务器程序。对于阻塞式IO常常需要多个线程来处理客户端的请求,由于线程的开销较大,往往使服务器性能下降很快。而非阻塞IO只需几个线程就可以胜任大量的请求。对于p2p软件(例如BT软件),也常常使用非阻塞IO,来实现文件交换。   下面是一个典型的非阻塞IO程序。客户端向服务器端发起10个连接,服务器端向每个客户端发送”Hello”,并打印出来。 

2007-04-20 13:00:00 2699 5

原创 BT协议分析

 一 BT系统的组成结构  1 普通的Web服务器:   例如Apache或IIS服务器2 一个静态的种子文件:   即.Torrent文件,采用Bencoding编码3  Tracker服务器:        追踪下载同一文件的用户4 终端用户的Web浏览器:用于下载种子文件5  BT客户端:            例如BitCommet,BitSpirit 二

2007-04-01 14:04:00 10538

原创 用java实现简单的多线程下载

今天用java写了一个简单的HTTP多线程下载程序,主要用了HTTP协议和RandomAccessFile类来实现。很容易再加上断点续传功能,这样就可以实现类似“小小网络蚂蚁”的功能了。public class DownloadNetTest {    private File fileOut;    private URL url;    private long fileLength=0;

2005-12-03 19:44:00 1860 1

google数学之美

google黑板报数学之美系列,pdf电子书,版权属于google

2008-01-09

minix源码及工具

操作系统设计与实现的附带光盘内容

2007-04-20

自己动手写操作系统光盘内容

包含了自己动手写操作系统的各章源码与书中提到的工具

2007-04-19

Effective Java

侯捷翻译的,作者现在好像是google的大牛

2007-04-19

操作系统设计与实现(第2版下册)

经典书,详细说明如何设计minix操作系统

2007-04-19

自己动手写操作系统

畅销书:自己动手写操作系统

2007-04-19

空空如也

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

TA关注的人

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