<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-30316461</id><updated>2011-12-15T10:54:58.488+08:00</updated><title type='text'>大牛的blog</title><subtitle type='html'>我是大牛，我怕谁！</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-30316461.post-116564562429429676</id><published>2006-12-09T14:26:00.000+08:00</published><updated>2006-12-09T14:27:05.086+08:00</updated><title type='text'>深入理解C语言指针的奥秘</title><content type='html'>&lt;span style="font-size:130%;"&gt;深入理解C语言指针的奥秘 (转)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;指针是一个特殊的变量，它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容：指针的类型，指针所指向的 类型，指针的值或者叫指针所指向的内存区，还有指针本身所占据的内存区。让我们分别说明。&lt;br /&gt;　　先声明几个指针放着做例子：&lt;br /&gt;　　例一：&lt;br /&gt;　　(1)int*ptr;&lt;br /&gt;　　(2)char*ptr;&lt;br /&gt;　　(3)int**ptr;&lt;br /&gt;　　(4)int(*ptr)[3];&lt;br /&gt;　　(5)int*(*ptr)[4];&lt;br /&gt;　　如果看不懂后几个例子的话，请参阅我前段时间贴出的文章&lt;&lt;如何理解c和c ++的复杂类型声明&gt;&gt;。&lt;br /&gt;　　指针的类型&lt;br /&gt;　　从语法的角度看，你只要把指针声明语句里的指针名字去掉，剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型：&lt;br /&gt;　　(1)int*ptr;//指针的类型是int*&lt;br /&gt;　　(2)char*ptr;//指针的类型是char*&lt;br /&gt;　　(3)int**ptr;//指针的类型是int**&lt;br /&gt;　　(4)int(*ptr)[3];//指针的类型是int(*)[3]&lt;br /&gt;　　(5)int*(*ptr)[4];//指针的类型是int*(*)[4]&lt;br /&gt;　　怎么样？找出指针的类型的方法是不是很简单？&lt;br /&gt;　　指针所指向的类型&lt;br /&gt;　　当你通过指针来访问指针所指向的内存区时，指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。&lt;br /&gt;　　从语法上看，你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉，剩下的就是指针所指向的类型。例如：&lt;br /&gt;　　(1)int*ptr;//指针所指向的类型是int&lt;br /&gt;　　(2)char*ptr;//指针所指向的的类型是char&lt;br /&gt;　　(3)int**ptr;//指针所指向的的类型是int*&lt;br /&gt;　　(4)int(*ptr)[3];//指针所指向的的类型是int()[3]&lt;br /&gt;　　(5)int*(*ptr)[4];//指针所指向的的类型是int*()[4]&lt;br /&gt;　　在指针的算术运算中，指针所指向的类型有很大的作用。&lt;br /&gt;　　指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。当你对C越来越熟悉时，你会发现，把与指针搅和在一起的"类型"这个概念分成"指针的类型"和"指针所指向的类型"两个概念，是精通指针的关键点之一。我看了不少书，发现有些写得差的书中，就把指针的这两个概念搅在一起了，所以看起书来前后矛盾，越看越糊涂。&lt;br /&gt;指针的值，或者叫指针所指向的内存区或地址&lt;br /&gt;　　指针的值是指针本身存储的数值，这个值将被编译器当作一个地址，而不是一个一般的数值。在32位程序里，所有类型的指针的值都是一个32位整数，因为32位程序里内存地址全都是32位长。 指针所指向的内存区就是从指针的值所代表的那个内存地址开始，长度为si zeof(指针所指向的类型)的一片内存区。以后，我们说一个指针的值是XX，就相当于说该指针指向了以XX为首地址的一片内存区域；我们说一个指针指向了某块内存区域，就相当于说该指针的值是这块内存区域的首地址。&lt;br /&gt;　　指针所指向的内存区和指针所指向的类型是两个完全不同的概念。在例一中，指针所指向的类型已经有了，但由于指针还未初始化，所以它所指向的内存区是不存在的，或者说是无意义的。&lt;br /&gt;　　以后，每遇到一个指针，都应该问问：这个指针的类型是什么？指针指的类型是什么？该指针指向了哪里？&lt;br /&gt;　　指针本身所占据的内存区&lt;br /&gt;　　指针本身占了多大的内存？你只要用函数sizeof(指针的类型)测一下就知道了。在32位平台里，指针本身占据了4个字节的长度。&lt;br /&gt;　　指针本身占据的内存这个概念在判断一个指针表达式是否是左值时很有用。&lt;br /&gt;　　指针的算术运算&lt;br /&gt;指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。例如：&lt;br /&gt;　　例二：&lt;br /&gt;　　1、chara[20];&lt;br /&gt;　　2、int*ptr=a;&lt;br /&gt;　　...&lt;br /&gt;　...&lt;br /&gt;　　3、ptr++;&lt;br /&gt;　　在上例中，指针ptr的类型是int*,它指向的类型是int，它被初始化为指向整形变量a。接下来的第3句中，指针ptr被加了1，编译器是这样处理的：它把指针ptr的值加上了sizeof(int)，在32位程序中，是被加上了4。由于地址是用字节做单位的，故ptr所指向的地址由原来的变量a的地址向高地址方向增加了4个字节。&lt;br /&gt;由于char类型的长度是一个字节，所以，原来ptr是指向数组a的第0号单元开始的四个字节，此时指向了数组a中从第4号单元开始的四个字节。&lt;br /&gt;　　我们可以用一个指针和一个循环来遍历一个数组，看例子：&lt;br /&gt;　　例三：&lt;br /&gt;intarray[20];&lt;br /&gt;int*ptr=array;&lt;br /&gt;...&lt;br /&gt;//此处略去为整型数组赋值的代码。&lt;br /&gt;...&lt;br /&gt;for(i=0;i&lt;20;i++) ptr="a;" 4="20。由于地址的单位是字节，故现在的ptr所指向的地址比起加5后的ptr所指向的地址来说，向高地址方向移动了20个字节。在这个例子中，没加5前的ptr指向数组a的第0号单元开始的四个字节，加5后，ptr已经指向了数组a的合法范围之外了。虽然这种情况在应用上会出问题，但在语法上却是可以的。这也体现出了指针的灵活性。" inta="12;" p="&amp;a;" p="24;" ptr="&amp;p;" ptr="&amp;amp;b;" ptr="34;" pa="&amp;a;//&amp;a是一个指针表达式。" ptr="&amp;amp;pa;//&amp;pa也是一个指针表达式。" ptr="&amp;amp;b;//*ptr和&amp;b都是指针表达式。" pa="array;" parr="arr;//如果把arr看作指针的话，arr也是指针表达式" str="*parr;//*parr是指针表达式" str="*(parr+1);//*(parr+1)是指针表达式" str="*(parr+2);//*(parr+2)是指针表达式"&gt;&gt;。&lt;br /&gt;　　数组的数组名其实可以看作一个指针。看下例：&lt;br /&gt;　　例八：&lt;br /&gt;intarray[10]={0,1,2,3,4,5,6,7,8,9},value;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;value=array[0];//也可写成：value=*array;&lt;br /&gt;value=array[3];//也可写成：value=*(array+3);&lt;br /&gt;value=array[4];//也可写成：value=*(array+4);&lt;br /&gt;上例中，一般而言数组名array代表数组本身，类型是int[10]，但如果把array看做指针的话，它指向数组的第0个单元，类型是int*，所指向的类型是数组单元的类型即int。因此*array等于0就一点也不奇怪了。同理，array+3是一个指向数组第3个单元的指针，所以*(array+3)等于3。其它依此类推。&lt;br /&gt;&lt;br /&gt;　　例九：&lt;br /&gt;char*str[3]={&lt;br /&gt;　"Hello,thisisasample!",&lt;br /&gt;　"Hi,goodmorning.",&lt;br /&gt;　"Helloworld"&lt;br /&gt;};&lt;br /&gt;chars[80]；&lt;br /&gt;strcpy(s,str[0]);//也可写成strcpy(s,*str);&lt;br /&gt;strcpy(s,str[1]);//也可写成strcpy(s,*(str+1));&lt;br /&gt;strcpy(s,str[2]);//也可写成strcpy(s,*(str+2));&lt;br /&gt;上例中，str是一个三单元的数组，该数组的每个单元都是一个指针，这些指针各指向一个字符串。把指针数组名str当作一个指针的话，它指向数组的第0号单元，它的类型是char**，它指向的类型是char*。&lt;br /&gt;*str也是一个指针，它的类型是char*，它所指向的类型是char，它指向的地址是字符串"Hello,thisisasample!"的第一个字符的地址，即'H'的地址。 str+1也是一个指针，它指向数组的第1号单元，它的类型是char**，它指向的类型是char*。&lt;br /&gt;&lt;br /&gt;　　*(str+1)也是一个指针，它的类型是char*，它所指向的类型是char，它指向 "Hi,goodmorning."的第一个字符'H'，等等。&lt;br /&gt;&lt;br /&gt;　　下面总结一下数组的数组名的问题。声明了一个数组TYPEarray[n]，则数组名称array就有了两重含义：第一，它代表整个数组，它的类型是TYPE[n]；第二 ，它是一个指针，该指针的类型是TYPE*，该指针指向的类型是TYPE，也就是数组单元的类型，该指针指向的内存区就是数组第0号单元，该指针自己占有单独的内存区，注意它和数组第0号单元占据的内存区是不同的。该指针的值是不能修改的，即类似array++的表达式是错误的。&lt;br /&gt;　　在不同的表达式中数组名array可以扮演不同的角色。&lt;br /&gt;　　在表达式sizeof(array)中，数组名array代表数组本身，故这时sizeof函数测出的是整个数组的大小。&lt;br /&gt;在表达式*array中，array扮演的是指针，因此这个表达式的结果就是数组第0号单元的值。sizeof(*array)测出的是数组单元的大小。&lt;br /&gt;　　表达式array+n（其中n=0，1，2，....。）中，array扮演的是指针，故array+n的结果是一个指针，它的类型是TYPE*，它指向的类型是TYPE，它指向数组第n号单元。故sizeof(array+n)测出的是指针类型的大小。&lt;br /&gt;例十&lt;br /&gt;intarray[10];&lt;br /&gt;int(*ptr)[10];&lt;br /&gt;ptr=&amp;array;：&lt;br /&gt;上例中ptr是一个指针，它的类型是int(*)[10]，他指向的类型是int[10] ，我们用整个数组的首地址来初始化它。在语句ptr=&amp;array中，array代表数组本身。&lt;br /&gt;&lt;br /&gt;　　本节中提到了函数sizeof()，那么我来问一问，sizeof(指针名称)测出的究竟是指针自身类型的大小呢还是指针所指向的类型的大小？答案是前者。例如：&lt;br /&gt;int(*ptr)[10];&lt;br /&gt;　　则在32位程序中，有：&lt;br /&gt;sizeof(int(*)[10])==4&lt;br /&gt;sizeof(int[10])==40&lt;br /&gt;sizeof(ptr)==4&lt;br /&gt;实际上，sizeof(对象)测出的都是对象自身的类型的大小，而不是别的什么类型的大小。&lt;br /&gt;指针和结构类型的关系&lt;br /&gt;可以声明一个指向结构类型对象的指针。&lt;br /&gt;　　例十一：&lt;br /&gt;structMyStruct&lt;br /&gt;{&lt;br /&gt;　inta;&lt;br /&gt;　intb;&lt;br /&gt;　intc;&lt;br /&gt;}&lt;br /&gt;MyStructss={20,30,40};&lt;br /&gt;//声明了结构对象ss，并把ss的三个成员初始化为20，30和40。&lt;br /&gt;MyStruct*ptr=&amp;ss;&lt;br /&gt;//声明了一个指向结构对象ss的指针。它的类型是MyStruct*,它指向的类型是MyStruct。&lt;br /&gt;int*pstr=(int*)&amp;ss;&lt;br /&gt;//声明了一个指向结构对象ss的指针。但是它的类型和它指向的类型和ptr是不同的。&lt;br /&gt;　　请问怎样通过指针ptr来访问ss的三个成员变量？&lt;br /&gt;　　答案：&lt;br /&gt;ptr-&gt;a;&lt;br /&gt;ptr-&gt;b;&lt;br /&gt;ptr-&gt;c;&lt;br /&gt;　　又请问怎样通过指针pstr来访问ss的三个成员变量？&lt;br /&gt;　　答案：&lt;br /&gt;*pstr；//访问了ss的成员a。&lt;br /&gt;*(pstr+1);//访问了ss的成员b。&lt;br /&gt;*(pstr+2)//访问了ss的成员c。&lt;br /&gt;　　虽然我在我的MSVC++6.0上调式过上述代码，但是要知道，这样使用pstr来访问结构成员是不正规的，为了说明为什么不正规，让我们看看怎样通过指针来访问数组的各个单元：&lt;br /&gt;　　例十二：&lt;br /&gt;intarray[3]={35,56,37};&lt;br /&gt;int*pa=array;&lt;br /&gt;　　通过指针pa访问数组array的三个单元的方法是：&lt;br /&gt;*pa;//访问了第0号单元&lt;br /&gt;*(pa+1);//访问了第1号单元&lt;br /&gt;*(pa+2);//访问了第2号单元&lt;br /&gt;　　从格式上看倒是与通过指针访问结构成员的不正规方法的格式一样。&lt;br /&gt;　　所有的C/C++编译器在排列数组的单元时，总是把各个数组单元存放在连续的存储区里，单元和单元之间没有空隙。但在存放结构对象的各个成员时，在某种编译环境下，可能会需要字对齐或双字对齐或者是别的什么对齐，需要在相邻两个成员之间加若干个"填充字节"，这就导致各个成员之间可能会有若干个字节的空隙。&lt;br /&gt;　　所以，在例十二中，即使*pstr访问到了结构对象ss的第一个成员变量a，也不能保证*(pstr+1)就一定能访问到结构成员b。因为成员a和成员b之间可能会有若干填充字节，说不定*(pstr+1)就正好访问到了这些填充字节呢。这也证明了指针的灵活性。要是你的目的就是想看看各个结构成员之间到底有没有填充字节，嘿，这倒是个不错的方法。&lt;br /&gt;过指针访问结构成员的正确方法应该是象例十二中使用指针ptr的方法。&lt;br /&gt;　　指针和函数的关系&lt;br /&gt;　　可以把一个指针声明成为一个指向函数的指针。intfun1(char*,int);&lt;br /&gt;int(*pfun1)(char*,int);&lt;br /&gt;pfun1=fun1;&lt;br /&gt;....&lt;br /&gt;....&lt;br /&gt;inta=(*pfun1)("abcdefg",7);//通过函数指针调用函数。&lt;br /&gt;可以把指针作为函数的形参。在函数调用语句中，可以用指针表达式来作为实参。&lt;br /&gt;　　例十三：&lt;br /&gt;intfun(char*);&lt;br /&gt;inta;&lt;br /&gt;charstr[]="abcdefghijklmn";&lt;br /&gt;a=fun(str);&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;intfun(char*s)&lt;br /&gt;{&lt;br /&gt;intnum=0;&lt;br /&gt;for(inti=0;i{&lt;br /&gt;num+=*s;s++;&lt;br /&gt;}&lt;br /&gt;returnnum;&lt;br /&gt;}&lt;br /&gt;　　这个例子中的函数fun统计一个字符串中各个字符的ASCII码值之和。前面说了，数组的名字也是一个指针。在函数调用中，当把str作为实参传递给形参s后，实际是把str的值传递给了s，s所指向的地址就和str所指向的地址一致，但是str和s各自占用各自的存储空间。在函数体内对s进行自加1运算，并不意味着同时对str进行了自加1运算。&lt;br /&gt;指针类型转换&lt;br /&gt;当我们初始化一个指针或给一个指针赋值时，赋值号的左边是一个指针，赋值号的右边是一个指针表达式。在我们前面所举的例子中，绝大多数情况下，指针的类型和指针表达式的类型是一样的，指针所指向的类型和指针表达式所指向的类型是一样的。&lt;br /&gt;　　例十四：&lt;br /&gt;　　1、floatf=12.3;&lt;br /&gt;　　2、float*fptr=&amp;f;&lt;br /&gt;　　3、int*p;&lt;br /&gt;　　　在上面的例子中，假如我们想让指针p指向实数f，应该怎么搞？是用下面的语句吗？&lt;br /&gt;&lt;br /&gt;　　p=&amp;f;&lt;br /&gt;&lt;br /&gt;　　不对。因为指针p的类型是int*，它指向的类型是int。表达式&amp;f的结果是一个指针，指针的类型是float*,它指向的类型是float。两者不一致，直接赋值的方法是不行的。至少在我的MSVC++6.0上，对指针的赋值语句要求赋值号两边的类型一致，所指向的类型也一致，其它的编译器上我没试过，大家可以试试。为了实现我们的目的，需要进行"强制类型转换"：&lt;br /&gt;p=(int*)&amp;amp;amp;f;&lt;br /&gt;如果有一个指针p，我们需要把它的类型和所指向的类型改为TYEP*TYPE， 那么语法格式是：&lt;br /&gt;　　(TYPE*)p；&lt;br /&gt;　　这样强制类型转换的结果是一个新指针，该新指针的类型是TYPE*，它指向的类型是TYPE，它指向的地址就是原指针指向的地址。而原来的指针p的一切属性都没有被修改。&lt;br /&gt;　　一个函数如果使用了指针作为形参，那么在函数调用语句的实参和形参的结合过程中，也会发生指针类型的转换。&lt;br /&gt;　　例十五：&lt;br /&gt;voidfun(char*);&lt;br /&gt;inta=125,b;&lt;br /&gt;fun((char*)&amp;a);&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;voidfun(char*s)&lt;br /&gt;{&lt;br /&gt;charc;&lt;br /&gt;c=*(s+3);*(s+3)=*(s+0);*(s+0)=c;&lt;br /&gt;c=*(s+2);*(s+2)=*(s+1);*(s+1)=c;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;注意这是一个32位程序，故int类型占了四个字节，char类型占一个字节。函数fun的作用是把一个整数的四个字节的顺序来个颠倒。注意到了吗？在函数调用语句中，实参&amp;a的结果是一个指针，它的类型是int*，它指向的类型是int。形参这个指针的类型是char*，它指向的类型是char。这样，在实参和形参的结合过程中，我们必须进行一次从int*类型到char*类型的转换。结合这个例子，我们可以这样来想象编译器进行转换的过程：编译器先构造一个临时指针char*temp， 然后执行temp=(char*)&amp;amp;a，最后再把temp的值传递给s。所以最后的结果是：s的类型是char*,它指向的类型是char，它指向的地址就是a的首地址。&lt;br /&gt;&lt;br /&gt;　　我们已经知道，指针的值就是指针指向的地址，在32位程序中，指针的值其实是一个32位整数。那可不可以把一个整数当作指针的值直接赋给指针呢？就象下面的语句：&lt;br /&gt;unsignedinta;&lt;br /&gt;TYPE*ptr;//TYPE是int，char或结构类型等等类型。&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;a=20345686;&lt;br /&gt;ptr=20345686;//我们的目的是要使指针ptr指向地址20345686（十进制&lt;br /&gt;）&lt;br /&gt;ptr=a;//我们的目的是要使指针ptr指向地址20345686（十进制）&lt;br /&gt;编译一下吧。结果发现后面两条语句全是错的。那么我们的目的就不能达到了吗？不，还有办法：&lt;br /&gt;unsignedinta;&lt;br /&gt;TYPE*ptr;//TYPE是int，char或结构类型等等类型。&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;a=某个数，这个数必须代表一个合法的地址；&lt;br /&gt;ptr=(TYPE*)a；//呵呵，这就可以了。&lt;br /&gt;严格说来这里的(TYPE*)和指针类型转换中的(TYPE*)还不一样。这里的(TYPE*)的意思是把无符号整数a的值当作一个地址来看待。上面强调了a的值必须代表一个合法的地址，否则的话，在你使用ptr的时候，就会出现非法操作错误。&lt;br /&gt;&lt;br /&gt;　　想想能不能反过来，把指针指向的地址即指针的值当作一个整数取出来。完 全可以。下面的例子演示了把一个指针的值当作一个整数取出来，然后再把这个整数当作一个地址赋给一个指针：&lt;br /&gt;　　例十六：&lt;br /&gt;inta=123,b;&lt;br /&gt;int*ptr=&amp;a;&lt;br /&gt;char*str;&lt;br /&gt;b=(int)ptr;//把指针ptr的值当作一个整数取出来。&lt;br /&gt;str=(char*)b;//把这个整数的值当作一个地址赋给指针str。&lt;br /&gt;　　现在我们已经知道了，可以把指针的值当作一个整数取出来，也可以把一个整数值当作地址赋给一个指针。&lt;br /&gt;　　指针的安全问题&lt;br /&gt;看下面的例子：&lt;br /&gt;　　例十七：&lt;br /&gt;chars='a';&lt;br /&gt;int*ptr;&lt;br /&gt;ptr=(int*)&amp;s;&lt;br /&gt;*ptr=1298；&lt;br /&gt;　　指针ptr是一个int*类型的指针，它指向的类型是int。它指向的地址就是s的首地址。在32位程序中，s占一个字节，int类型占四个字节。最后一条语句不但改变了s所占的一个字节，还把和s相临的高地址方向的三个字节也改变了。这三个字节是干什么的？只有编译程序知道，而写程序的人是不太可能知道的。也许这三个字节里存储了非常重要的数据，也许这三个字节里正好是程序的一条代码，而由于你对指针的马虎应用，这三个字节的值被改变了！这会造成崩溃性的错误。&lt;br /&gt;　　让我们再来看一例：&lt;br /&gt;　　例十八：&lt;br /&gt;　　1、chara;&lt;br /&gt;　　2、int*ptr=&amp;a;&lt;br /&gt;　　...&lt;br /&gt;　　...&lt;br /&gt;　　3、ptr++;&lt;br /&gt;　　4、*ptr=115;&lt;br /&gt;　　该例子完全可以通过编译，并能执行。但是看到没有？第3句对指针ptr进行自加1运算后，ptr指向了和整形变量a相邻的高地址方向的一块存储区。这块存储区里是什么？我们不知道。有可能它是一个非常重要的数据，甚至可能是一条代码。而第4句竟然往这片存储区里写入一个数据！这是严重的错误。所以在使用指针时，程序员心里必须非常清楚：我的指针究竟指向了哪里。在用指针访问数组的时候，也要注意不要超出数组的低端和高端界限，否则也会造成类似的错误。&lt;br /&gt;　　在指针的强制类型转换：ptr1=(TYPE*)ptr2中，如果sizeof(ptr2的类型)大于sizeof(ptr1的类型)，那么在使用指针ptr1来访问ptr2所指向的存储区时是安全的。如果sizeof(ptr2的类型)小于sizeof(ptr1的类型)，那么在使用指针ptr1来访问ptr2所指向的存储区时是不安全的。至于为什么，读者结合例十七来想一想，应该会明白的。 &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-116564562429429676?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/116564562429429676/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=116564562429429676' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/116564562429429676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/116564562429429676'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/12/c.html' title='深入理解C语言指针的奥秘'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-116169651346472975</id><published>2006-10-24T20:34:00.000+08:00</published><updated>2006-10-24T21:28:34.006+08:00</updated><title type='text'>5q@mop</title><content type='html'>&lt;span style="font-size:130%;"&gt;我的小站，&lt;a href="http://www.5qmop.com" target="_blank"&gt;www.5qmop.com&lt;/a&gt;,不要误会，本人不是陈一舟的fans&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-116169651346472975?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/116169651346472975/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=116169651346472975' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/116169651346472975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/116169651346472975'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/10/5qmop.html' title='5q@mop'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115880044993949338</id><published>2006-09-21T08:58:00.000+08:00</published><updated>2006-09-21T09:00:50.933+08:00</updated><title type='text'>随笔</title><content type='html'>reboot   system boot  2.4.20-8         Wed Sep 13 18:02          (00:01)  &lt;br /&gt;root     pts/0        192.168.1.23     Wed Sep 13 17:54 - down   (00:05)   &lt;br /&gt;reboot   system boot  2.4.20-8         Wed Sep 13 17:53          (00:06)   &lt;br /&gt;root     pts/0        192.168.1.23     Wed Sep 13 17:19 - down   (00:30)   &lt;br /&gt;root     tty1                          Wed Sep 13 17:16 - 17:20  (00:03)   &lt;br /&gt;reboot   system boot  2.4.20-8         Wed Sep 13 17:15          (00:35)   &lt;br /&gt;root     tty1                          Wed Sep 13 17:07 - down   (00:00)   &lt;br /&gt;reboot   system boot  2.4.20-8         Wed Sep 13 17:05          (00:01)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115880044993949338?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115880044993949338/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115880044993949338' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115880044993949338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115880044993949338'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/09/blog-post_21.html' title='随笔'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115873293160645586</id><published>2006-09-20T14:14:00.000+08:00</published><updated>2006-09-20T14:15:31.933+08:00</updated><title type='text'>规则备份</title><content type='html'>iptables-save &gt;`date +%Y%m%d%H%i%s`.save&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115873293160645586?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115873293160645586/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115873293160645586' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115873293160645586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115873293160645586'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/09/blog-post_115873293160645586.html' title='规则备份'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115873044415196023</id><published>2006-09-20T13:32:00.000+08:00</published><updated>2006-09-20T13:34:04.756+08:00</updated><title type='text'>iptables清除规则</title><content type='html'>/sbin/iptables -F&lt;br /&gt;/sbin/iptables -X&lt;br /&gt;/sbin/iptables -Z&lt;br /&gt;/sbin/iptables -t nat -F&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115873044415196023?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115873044415196023/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115873044415196023' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115873044415196023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115873044415196023'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/09/iptables.html' title='iptables清除规则'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115871994082615532</id><published>2006-09-20T10:34:00.000+08:00</published><updated>2006-09-20T10:39:01.313+08:00</updated><title type='text'>今天学到的，感谢昱龙兄</title><content type='html'>hub红蓝绿棕&lt;br /&gt;交换机13倒26倒&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115871994082615532?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115871994082615532/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115871994082615532' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115871994082615532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115871994082615532'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/09/blog-post_20.html' title='今天学到的，感谢昱龙兄'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115863493282462157</id><published>2006-09-19T11:01:00.000+08:00</published><updated>2006-09-19T11:02:13.140+08:00</updated><title type='text'>我和我兄弟</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/5598/3249/1600/??????-233.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/5598/3249/320/%3F%3F%3F%3F%3F%3F-233.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115863493282462157?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115863493282462157/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115863493282462157' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115863493282462157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115863493282462157'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/09/blog-post_19.html' title='我和我兄弟'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115862805130632869</id><published>2006-09-19T09:04:00.000+08:00</published><updated>2006-09-19T09:07:31.873+08:00</updated><title type='text'>某日的编程纪念</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/5598/3249/1600/200608311156990992056.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/5598/3249/320/200608311156990992056.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115862805130632869?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115862805130632869/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115862805130632869' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115862805130632869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115862805130632869'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/09/blog-post.html' title='某日的编程纪念'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115854482414300662</id><published>2006-09-18T09:58:00.000+08:00</published><updated>2006-09-18T10:00:40.776+08:00</updated><title type='text'>IP与掩码相与得网络地址</title><content type='html'>&lt;span style="font-size:130%;"&gt;IP与掩码相与得网络地址&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115854482414300662?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115854482414300662/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115854482414300662' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115854482414300662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115854482414300662'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/09/ip_18.html' title='IP与掩码相与得网络地址'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115854407095805140</id><published>2006-09-18T09:47:00.000+08:00</published><updated>2006-09-18T09:47:52.753+08:00</updated><title type='text'>私有IP</title><content type='html'>&lt;span style="font-size:130%;"&gt;私有IP段&lt;br /&gt;A Class:10.0.0.0-10.255.255.255&lt;br /&gt;B Class:172.16.0.0-172.31.255.255&lt;br /&gt;C Class:192.168.0.0-192.168.255.255&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115854407095805140?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115854407095805140/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115854407095805140' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115854407095805140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115854407095805140'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/09/ip.html' title='私有IP'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115656057184813332</id><published>2006-08-26T10:47:00.000+08:00</published><updated>2006-08-26T10:49:32.086+08:00</updated><title type='text'>一句话</title><content type='html'>&lt;span style="font-size:130%;"&gt;java编程思想2版 423页&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;最合理的方式便是尽可能尝试使用Reader和Writer，一旦无法成功编译，就会发觉&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;自己非得使用byte-oriented程序库不可。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115656057184813332?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115656057184813332/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115656057184813332' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115656057184813332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115656057184813332'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/blog-post_26.html' title='一句话'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115614218500203996</id><published>2006-08-21T14:32:00.000+08:00</published><updated>2006-08-21T14:36:25.150+08:00</updated><title type='text'>我的宝宝</title><content type='html'>&lt;span style="font-size:130%;"&gt;过几天贴上。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115614218500203996?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115614218500203996/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115614218500203996' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115614218500203996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115614218500203996'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/blog-post_115614218500203996.html' title='我的宝宝'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115613963687656771</id><published>2006-08-21T13:49:00.000+08:00</published><updated>2006-08-21T13:53:57.003+08:00</updated><title type='text'>容器</title><content type='html'>&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/5598/3249/320/rongqi.0.jpg" border="0" /&gt;&lt;a href="http://photos1.blogger.com/blogger/5598/3249/1600/rongqi2.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/5598/3249/320/rongqi2.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115613963687656771?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115613963687656771/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115613963687656771' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115613963687656771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115613963687656771'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/blog-post_21.html' title='容器'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115613704971453473</id><published>2006-08-21T13:09:00.000+08:00</published><updated>2006-08-21T13:10:49.840+08:00</updated><title type='text'>制作一个具有型别意识的ArrayList</title><content type='html'>//: c09:MouseList.java&lt;br /&gt;// From 'Thinking in Java, 2nd ed.' by Bruce Eckel&lt;br /&gt;// www.BruceEckel.com. See copyright notice in CopyRight.txt.&lt;br /&gt;// A type-conscious ArrayList.&lt;br /&gt;import java.util.*;&lt;br /&gt;public class MouseList {&lt;br /&gt;private ArrayList list = new ArrayList();&lt;br /&gt;public void add(Mouse m) {&lt;br /&gt;list.add(m);&lt;br /&gt;}&lt;br /&gt;public Mouse get(int index) {&lt;br /&gt;return (Mouse)list.get(index);&lt;br /&gt;}&lt;br /&gt;public int size() { return list.size(); }&lt;br /&gt;} ///:~&lt;br /&gt;//: c09:MouseListTest.java&lt;br /&gt;// From 'Thinking in Java, 2nd ed.' by Bruce Eckel&lt;br /&gt;// www.BruceEckel.com. See copyright notice in CopyRight.txt.&lt;br /&gt;public class MouseListTest {&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;MouseList mice = new MouseList();&lt;br /&gt;for(int i = 0; i &lt; 3; i++)&lt;br /&gt;mice.add(new Mouse(i));&lt;br /&gt;for(int i = 0; i &lt; mice.size(); i++)&lt;br /&gt;MouseTrap.caughtYa(mice.get(i));&lt;br /&gt;}&lt;br /&gt;} ///:~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115613704971453473?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115613704971453473/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115613704971453473' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115613704971453473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115613704971453473'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/arraylist.html' title='制作一个具有型别意识的ArrayList'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115613619853735243</id><published>2006-08-21T12:54:00.000+08:00</published><updated>2006-08-21T12:56:38.676+08:00</updated><title type='text'>关于toString</title><content type='html'>&lt;span style="font-size:130%;"&gt;覆写(override)toString时，注意不能return this,编译器会重复调用toString，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;解决办法调用调用object 的toString ,即super.toString()&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115613619853735243?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115613619853735243/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115613619853735243' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115613619853735243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115613619853735243'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/tostring.html' title='关于toString'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115606712342655010</id><published>2006-08-20T17:44:00.000+08:00</published><updated>2006-08-21T12:53:39.086+08:00</updated><title type='text'>java版多线程抓取网址</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/5598/3249/1600/catchpic.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 691px; CURSOR: hand; HEIGHT: 455px; TEXT-ALIGN: center" height="455" alt="" src="http://photos1.blogger.com/blogger/5598/3249/320/catchpic.jpg" width="691" border="0" /&gt;&lt;/a&gt; 关键代码如下：&lt;br /&gt;/** * @author 李建平 * @contact msn:apinghahahaha@163.com * @qq 123888858 * @email:martinaping@gmail.com */import java.util.regex.*;import java.net.*;import java.io.*;import java.util.concurrent.Callable;import java.sql.*;public class BookMarkBatch implements Callable&lt;string&gt;{ private String file_url="&lt;a href="http://www.baidu.com/"&gt;http://www.baidu.com&lt;/a&gt;"; private String relative_url=""; private String base_url=""; private String urlcontent=""; private Statement statement=null; public BookMarkBatch(String file_url) {  this.file_url=file_url; } public String[] getUrlOutPutList()  {  boolean b=false;  b=this.checkUrl(this.file_url);     if(b)     {      String[] tmpurl=getUrlList(this.urlcontent);      tmpurl=UrlFactory(tmpurl);      return tmpurl;     }     else     {      return null;     } }&lt;br /&gt; public String[] getImageUrlOutPutList()  {  boolean b=false;  b=this.checkUrl(this.file_url);     if(b)     {      String[] tmp =getImageUrl(this.urlcontent);      String[] a=ImageFactory(tmp);      a = ImageFactory2(a);      return a;     }     else     {      return null;     } }&lt;br /&gt;    private String[] getImageUrlList()    {  boolean b;  b=this.checkUrl(this.file_url);     if(b)     {      String[] tmp =getImageUrl(this.urlcontent);      String[] a=ImageFactory(tmp);      return a;     }     else     {      return null;     }    }&lt;br /&gt; private void setRelativeUrl(String file_url) {  int poslast=file_url.lastIndexOf("/");  int dotpos=file_url.lastIndexOf("&lt;a href="file://.%22,poslast/"&gt;\\.",poslast&lt;/a&gt;);  //System.out.println("last ps:"+poslast);  //System.out.println("dot ps:"+dotpos);  //System.out.println(file_url.length());  if(poslast&gt;6&amp;&amp;amp;dotpos&gt;poslast)  {   this.relative_url=file_url.substring(0,poslast+1);  }  else if(poslast&gt;6&amp;&amp;amp;dotpos&lt;poslast&amp;&amp;amp;poslast!=file_url.length()-1) relative_url="file_url+"&gt;6&amp;&amp;amp;dotpos&lt;poslast&amp;&amp;amp;poslast==file_url.length()-1) relative_url="file_url;" relative_url="file_url+" posfirst="file_url.indexOf("&gt;6)  {   //System.out.println("posfirst:"+posfirst);   this.base_url=file_url.substring(0,posfirst);  }  else  {   this.base_url=file_url+"/";  }  //System.out.println("绝对路径："+this.base_url); } private boolean checkUrl(String url) {  Pattern p=null; //正则表达式  Matcher m=null; //操作的字符串  boolean b=false;  p = Pattern.compile("^http\\:\\/\\/[^\\/\\s]{1,}([\\.][a-zA-Z]{1,4}){1,4}([\\/][^\\s]*){0,}$");  m = p.matcher(url);  b = m.matches();  return b; } private String getUrlContentOld() {     try  {      URL url = new URL (this.file_url);      InputStream is = url.openStream();      int ch;      String fileContent = "";      while ((ch = is.read ())!= -1)       fileContent+=(char)ch;      is.close ();      return(fileContent);  }     catch(Exception e)     {      return("error");     } } private String getUrlContent() {     try  {     System.out.println("正在读取"+this.file_url+"内容");     //java.util.Date starttime=new  java.util.Date();     //这里是瓶颈，如何改善。     URL url = new URL (this.file_url);     BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));     String inputLine;     String fileContent = "";     while ((inputLine = in.readLine()) != null)       fileContent+=inputLine;      in.close();     //java.util.Date endtime=new  java.util.Date();     System.out.println("读取"+this.file_url+"内容完毕，开始匹配网址");     return(fileContent);  }     catch(Exception e)     {      return("error");     } } private String[] getImageUrl(String urlcontent) {  Pattern p=null;  Matcher m=null;  p = Pattern.compile("src=[\"]?[^&lt;&gt;;=\\s]{1,}([\\.]gif[\\.]jpg[\\.]jpeg[\\.]bmp[\\.]png){1}[\"]?");  m = p.matcher(urlcontent);  boolean result=m.find();  String tmp="";  int i=0;&lt;br /&gt;  while(result)  {      tmp+=urlcontent.substring(m.start(),m.end())+"\\@~";      result=m.find();      i++;  }&lt;br /&gt;  p = Pattern.compile("\\@~");  String[] imageurl =p.split(tmp);  return imageurl; } private String[] getUrlList(String urlcontent) {  Pattern p=null;  Matcher m=null;  p = Pattern.compile("http\\:\\/\\/[^\\/\\s]{1,}([\\.][a-zA-Z]{1,4}){1,4}([\\/][^\\s\\&lt;&lt;a href="file://%3E/%22////%5D*)%7B0"&gt;\\&gt;\"\\\\]*){0&lt;/a&gt;,}");  m = p.matcher(urlcontent);  boolean result=m.find();  String tmp="";  int i=0;&lt;br /&gt;  while(result)  {      tmp+=urlcontent.substring(m.start(),m.end())+"\\@~";      result=m.find();      i++;  }&lt;br /&gt;  p = Pattern.compile("\\@~");  String[] urllist =p.split(tmp);  return urllist; } private String[] ImageFactory(String[] imageurl) {  String[] a = new String[imageurl.length];  for(int i=0;i&lt;imageurl.length;i++) src=", "&gt;", "").replaceAll("\'","");  }  return a; } private String[] ImageFactory2(String[] imageurl) {  String[] a = new String[imageurl.length];  for(int i=0;i&lt;imageurl.length;i++) a =" new" i="0;i&lt;url.length;i++)"&gt;", "").replaceAll("\'","");  }  return a; }  private void setUrl(String file_url) {  if(file_url.indexOf("&lt;a href="http://"&gt;http://")!=0&lt;/a&gt;)   this.file_url="&lt;a href="http://"&gt;http://"+file_url&lt;/a&gt;; } private void saveUrlToDatabase(String[] url) throws Exception {  if(url!=null)  {   for(int i=0;i&lt;url.length;i++)   {    String sql="insert into url(urladdr)values('"+url[i]+"')";    try{     insertExecute(sql);    }    catch(Exception e)    {     System.out.println("insert error");    }   }     }  else  {   System.out.println("create statement error");  } } private void insertExecute(String sql)throws Exception {  if(this.statement!=null)  {   try   {    this.statement.executeUpdate(sql);   }   catch(Exception e)   {    System.out.println("insert error");   }  }  else  {   System.out.println("create statement error");  } } private void saveImageUrlToDatabase(String[] url) throws Exception {  if(url!=null)  {   for(int i=0;i&lt;url.length;i++)   {    String sql="insert into imageurl(imageurl)values('"+url[i]+"')";    try    {     insertExecute(sql);    }    catch(Exception e)    {     System.out.println("insert error");    }   }     }  else  {   System.out.println("url is not null");  } } private void setStatements() throws Exception {  if(this.statement==null)  {   try   {    Class.forName("com.mysql.jdbc.Driver").newInstance();     String url ="jdbc:mysql://localhost/url?user=root&amp;password=111111";    Connection conn= DriverManager.getConnection(url);     Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);     this.statement=stmt;   }   catch(Exception e)   {    System.out.println("register jdbc driver failure!");   }  }    }&lt;br /&gt;public static void main(String args[]){ //main is used to debug,but now the code is not avaliable; System.out.println("正在取得&lt;a href="http://www.hust.edu.cn/"&gt;www.hust.edu.cn&lt;/a&gt;图片url列表......"); java.util.Date starttime=new  java.util.Date(); System.out.println("开始时间："+starttime); BookMarkBatch OpenFile = new BookMarkBatch("&lt;a href="http://www.baidu.com/"&gt;http://www.baidu.com&lt;/a&gt;"); String urllist[]=OpenFile.getUrlOutPutList(); String imageurllist[]=OpenFile.getImageUrlOutPutList();&lt;br /&gt; System.out.println("以下是网址列表："); for(int i=0;i&lt;urllist.length;i++) {  System.out.println(urllist[i]); }&lt;br /&gt; //OpenFile.saveUrlToDatabase(urllist); System.out.println("以下是图片url列表："); for(int i=0;i&lt;imageurllist.length;i++) {  System.out.println(imageurllist[i]); } java.util.Date endtime=new  java.util.Date(); System.out.println("完成时间："+endtime);&lt;br /&gt;}public String call() throws Exception{ setStatements(); setBaseUrl(this.file_url);    setRelativeUrl(this.file_url); this.urlcontent=getUrlContent(); boolean resultok=false; String urllist[]=getUrlOutPutList(); String imageurllist[]=getImageUrlOutPutList(); /** System.out.println("以下是"+this.file_url+"网址列表："); for(int i=0;i&lt;urllist.length;i++) {  System.out.println(urllist[i]); } */ saveUrlToDatabase(urllist); saveImageUrlToDatabase(imageurllist); /** System.out.println("以下是"+this.file_url+"图片url列表："); for(int i=0;i&lt;imageurllist.length;i++) {  System.out.println(imageurllist[i]); } */ resultok=true; if(resultok==true) {  return "线程"+this.file_url+"完成"; } else {  return "线程"+this.file_url+"处理中..."; } }}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115606712342655010?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115606712342655010/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115606712342655010' title='23 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115606712342655010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115606712342655010'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/java.html' title='java版多线程抓取网址'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115578627416096294</id><published>2006-08-17T11:37:00.000+08:00</published><updated>2006-08-17T11:44:35.053+08:00</updated><title type='text'>JAVA正则表达式4种常用功能(转)</title><content type='html'>正则表达式在字符串处理上有着强大的功能，sun在jdk1.4加入了对它的支持 &lt;br /&gt;下面简单的说下它的4种常用功能：&lt;br /&gt;查询：&lt;br /&gt;String str="abc efg ABC"; &lt;br /&gt;String regEx="a|f"; //表示a或f &lt;br /&gt;Pattern p=Pattern.compile(regEx);&lt;br /&gt;Matcher m=p.matcher(str);&lt;br /&gt;boolean rs=m.find();&lt;br /&gt;如果str中有regEx，那么rs为true，否则为flase。如果想在查找时忽略大小写，则可以写成&lt;br /&gt;Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);&lt;br /&gt;提取：&lt;br /&gt;String regEx=".+\\(.+)$";&lt;br /&gt;String str="c:\dir1\dir2\name.txt";&lt;br /&gt;Pattern p=Pattern.compile(regEx);&lt;br /&gt;Matcher m=p.matcher(str);&lt;br /&gt;boolean rs=m.find();&lt;br /&gt;for(int i=1;i&lt;=m.groupCount();i++){&lt;br /&gt;System.out.println(m.group(i));&lt;br /&gt;}&lt;br /&gt;以上的执行结果为name.txt，提取的字符串储存在m.group(i)中，其中i最大值为m.groupCount();&lt;br /&gt;分割：&lt;br /&gt;String regEx="::";&lt;br /&gt;Pattern p=Pattern.compile(regEx);&lt;br /&gt;String[] r=p.split("xd::abc::cde");&lt;br /&gt;执行后，r就是{"xd","abc","cde"}，其实分割时还有跟简单的方法：&lt;br /&gt;String str="xd::abc::cde";&lt;br /&gt;String[] r=str.split("::");&lt;br /&gt;替换（删除）：&lt;br /&gt;String regEx="a+"; //表示一个或多个a&lt;br /&gt;Pattern p=Pattern.compile(regEx);&lt;br /&gt;Matcher m=p.matcher("aaabbced a ccdeaa");&lt;br /&gt;String s=m.replaceAll("A");&lt;br /&gt;结果为"Abbced A ccdeA"&lt;br /&gt;如果写成空串，既可达到删除的功能，比如：&lt;br /&gt;String s=m.replaceAll("");&lt;br /&gt;结果为"bbced ccde"&lt;br /&gt;附：&lt;br /&gt;d 等於 [0-9] 数字 &lt;br /&gt;D 等於 [^0-9] 非数字 &lt;br /&gt;s 等於 [ x0Bf ] 空白字元 &lt;br /&gt;S 等於 [^ x0Bf ] 非空白字元 &lt;br /&gt;w 等於 [a-zA-Z_0-9] 数字或是英文字 &lt;br /&gt;W 等於 [^a-zA-Z_0-9] 非数字与英文字 &lt;br /&gt;^ 表示每行的开头&lt;br /&gt;$ 表示每行的结尾&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115578627416096294?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115578627416096294/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115578627416096294' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115578627416096294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115578627416096294'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/java4.html' title='JAVA正则表达式4种常用功能(转)'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115577971469060613</id><published>2006-08-17T09:55:00.000+08:00</published><updated>2006-08-17T09:55:42.533+08:00</updated><title type='text'>数学之美 系列 12 - 余弦定理和新闻的分类(转)</title><content type='html'>&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;p class="byline-timestamp"&gt;&lt;span style="font-size:130%;"&gt;&lt;span id="time115337391327964752"&gt;2006年7月20日 上午 10:12:00&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;span style="font-size:130%;"&gt;&lt;span class="byline-author"&gt;发表者：吴军，Google 研究员 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;余弦定理和新闻的分类似乎是两件八杆子打不着的事，但是它们确有紧密的联系。具体说，新闻的分类很大程度上依靠余弦定理。&lt;br /&gt;&lt;br /&gt;Google 的新闻是自动分类和整理的。所谓新闻的分类无非是要把相似的新闻放到一类中。计算机其实读不懂新闻，它只能快速计算。这就要求我们设计一个算法来算出任意两篇新闻的相似性。为了做到这一点，我们需要想办法用一组数字来描述一篇新闻。&lt;br /&gt;&lt;br /&gt;我们来看看怎样找一组数字，或者说一个向量来描述一篇新闻。回忆一下我们在“&lt;a target="_blank" href="http://googlechinablog.com/2006/06/blog-post_27.html"&gt;如何度量网页相关性&lt;/a&gt;” 一文中介绍的TF/IDF 的概念。对于一篇新闻中的所有实词，我们可以计算出它们的单文本词汇频率/逆文本频率值（TF/IDF)。不难想象，和新闻主题有关的那些实词频率高， TF/IDF 值很大。我们按照这些实词在词汇表的位置对它们的 TF/IDF 值排序。比如，词汇表有六万四千个词，分别为&lt;br /&gt;&lt;br /&gt;单词编号  汉字词&lt;br /&gt;------------------&lt;br /&gt;1       阿&lt;br /&gt;2       啊&lt;br /&gt;3       阿斗&lt;br /&gt;4       阿姨&lt;br /&gt;...&lt;br /&gt;789   服装&lt;br /&gt;....&lt;br /&gt;64000 做作&lt;br /&gt;&lt;br /&gt;在一篇新闻中，这 64,000 个词的 TF/IDF 值分别为&lt;br /&gt;&lt;br /&gt;单词编号  TF/IDF 值&lt;br /&gt;==============&lt;br /&gt;1                 0&lt;br /&gt;2                 0.0034&lt;br /&gt;3                 0&lt;br /&gt;4                 0.00052&lt;br /&gt;5                 0&lt;br /&gt;...&lt;br /&gt;789               0.034&lt;br /&gt;...&lt;br /&gt;64000             0.075&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;如果单词表中的某个次在新闻中没有出现，对应的值为零，那么这 64,000 个数，组成一个64,000维的向量。我们就用这个向量来代表这篇新闻，并成为新闻的特征向量。如果两篇新闻的特征向量相近，则对应的新闻内容相似，它们应当归在一类，反之亦然。&lt;br /&gt;&lt;br /&gt;学过向量代数的人都知道，向量实际上是多维空间中有方向的线段。如果两个向量的方向一致，即夹角接近零，那么这两个向量就相近。而要确定两个向量方向是否一致，这就要用到余弦定理计算向量的夹角了。&lt;br /&gt;&lt;br /&gt;余弦定理对我们每个人都不陌生，它描述了三角形中任何一个夹角和三个边的关系，换句话说，给定三角形的三条边，我们可以用余弦定理求出三角形各个角的角度。假定三角形的三条边为 a, b 和 c，对应的三个角为 A, B 和 C，那么角 A 的余弦 --&lt;br /&gt;&lt;br /&gt;&lt;img style="border: 1px solid grey;" src="http://googlechinablog.com/uploaded_images/2c4eacd0e4ee4aeb29f0833be0a0442e-771570.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;如果我们将三角形的两边 b 和 c 看成是两个向量，那么上述公式等价于&lt;br /&gt;&lt;br /&gt;&lt;img style="border: 1px solid grey;" src="http://googlechinablog.com/uploaded_images/cosine-a-744082.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;其中分母表示两个向量 b 和 c 的长度，分子表示两个向量的内积。举一个具体的例子，假如新闻 X 和新闻 Y 对应向量分别是&lt;br /&gt;x1,x2,...,x64000 和&lt;br /&gt;y1,y2,...,y64000,&lt;br /&gt;那么它们夹角的余弦等于，&lt;br /&gt;&lt;br /&gt;&lt;img style="border: 1px solid grey;" src="http://googlechinablog.com/uploaded_images/cos_theta-757119.JPG" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;当两条新闻向量夹角的余弦等于一时，这两条新闻完全重复（用这个办法可以删除重复的网页）；当夹角的余弦接近于一时，两条新闻相似，从而可以归成一类；夹角的余弦越小，两条新闻越不相关。&lt;br /&gt;&lt;br /&gt;&lt;img style="border: 1px solid grey;" src="http://googlechinablog.com/uploaded_images/news-798354.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;我们在中学学习余弦定理时，恐怕很难想象它可以用来对新闻进行分类。在这里，我们再一次看到数学工具的用途。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115577971469060613?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115577971469060613/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115577971469060613' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115577971469060613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115577971469060613'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/12.html' title='数学之美 系列 12 - 余弦定理和新闻的分类(转)'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115571916297377516</id><published>2006-08-16T17:05:00.000+08:00</published><updated>2006-08-21T12:59:08.316+08:00</updated><title type='text'>容器</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span lang="EN-US"&gt;1,Collection:&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;一组各自独立的元素，通常拥有相同的套用规则：&lt;/span&gt;&lt;span lang="EN-US"&gt;List&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;必须以特定次序来持有元素；&lt;/span&gt;&lt;span lang="EN-US"&gt;Set&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;无法拥有重复元素，每个位置仅持有一个元素用&lt;/span&gt;&lt;span lang="EN-US"&gt;add&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;方法添加&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;Map&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;：一群成对的&lt;/span&gt;&lt;span lang="EN-US"&gt;key-value&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;对象，用&lt;/span&gt;&lt;span lang="EN-US"&gt;put&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;方法添加&lt;/span&gt;&lt;span lang="EN-US"&gt;put(key,value)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span lang="EN-US"&gt;3,List&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;会以元素安插次序来放置元素，不会重新排列或编修&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;Set&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;不接受重复元素，它会使用自己内部的一个排列机制&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:宋体;"&gt;如果只关心某个对象是否存在，而不关心它们的出现顺序，那么应该使用&lt;/span&gt;&lt;span lang="EN-US"&gt;List&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;Map&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;也不接受重复的元素，以&lt;/span&gt;&lt;span lang="EN-US"&gt;key&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;来判断，&lt;/span&gt;&lt;span lang="EN-US"&gt;Map&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;也拥有自己的内部排序机制，不在乎插入元素的顺序。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:130%;"&gt;&lt;span lang="EN-US"&gt;5&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;fill&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;无法作用于&lt;/span&gt;&lt;span lang="EN-US"&gt;Sets&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;和&lt;/span&gt;&lt;span lang="EN-US"&gt;Maps&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;，重载可以&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115571916297377516?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115571916297377516/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115571916297377516' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115571916297377516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115571916297377516'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/blog-post_115571916297377516.html' title='容器'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115569967536803218</id><published>2006-08-16T11:41:00.000+08:00</published><updated>2006-08-16T16:35:31.723+08:00</updated><title type='text'>内部类</title><content type='html'>&lt;span style="font-size:130%;"&gt;内部类(Java编程思想260页开始)&lt;br /&gt;1， 外围class的方法可以直接调用内部类&lt;br /&gt;2， 内部类可以实现某个接口，且可以向上转型，比如在outerclass里定义一个方法（类型为接口），进而实现向上转型&lt;br /&gt;3， 一般定义innerclass为private，隐藏实现细节&lt;br /&gt;4， 非静态非private非匿名内部类，必须得用outerclass的实例类取得，比如outerclass a = new outerclass; outerclass.innerclass b =new a.innerclass()&lt;br /&gt;5， 匿名inner class不得拥有构造函数，通常会调用super，内部类的方法中调用超类的同名方法 例子：super.value()&lt;br /&gt;6， 定于outerclass函数内部的innerclass，只是此函数的一部分，并不属于outerclass，即无法通过outerclass.innerclass取得（P265所示）&lt;br /&gt;7， 匿名inner class return new Contents(){private int i=1;public int value(){return i;}};意思是class MyContents implements Contents{private int i=1; public int value(){return i;}}，匿名inner class 定义于outerclass方法体内&lt;br /&gt;8， 如果匿名class希望用于inner class 之外的某个对象，编译器会限制外部对象必须为final 比如outerclass内的dest方法 dest(final String dest){匿名内部类}&lt;br /&gt;9， 非静态非匿名内部类可以访问outerclass的所有元素，p268-269选择器程序&lt;br /&gt;10， 非静态内部类不能拥有static data，static fields static innerclass&lt;br /&gt;11， 静态内部类&lt;br /&gt;A，产生其对象，并不需要同时存在一个outerclass&lt;br /&gt;B，无法在static inner class 对象中访问outer class 对象（即enclosing class对象）&lt;br /&gt;C，可以拥有static data，static fields static innerclass&lt;br /&gt;12， 一般不能将任何程序代码置于interface内，但static inner class 可以是interface的一部分，其置于interface的命名空间中&lt;br /&gt;13， 可以运用static inner class 来摆放你的测试码&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115569967536803218?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115569967536803218/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115569967536803218' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115569967536803218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115569967536803218'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/blog-post_16.html' title='内部类'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115553210466757024</id><published>2006-08-14T13:05:00.000+08:00</published><updated>2006-08-14T14:07:08.130+08:00</updated><title type='text'>哪些东西不能混在一起吃</title><content type='html'>&lt;p&gt;&lt;span style="font-size:130%;"&gt;转自www.tuinb.com&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;哪些东西不能混在一起吃，哪些食物不能一起吃，不能同吃的食物，不能同时吃的食物，不能混吃的食物，不能一起吃的食物...... &lt;img style="margin: 0px 0px -2px;" alt="" src="http://www.tuinb.com/images/smilies/Face_03.gif" border="0" /&gt;  都在下面啦，好长啊，慢慢看吧！&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;color:red;"&gt;以下相克食物2小时内不可同吃，望大家谨记。&lt;br /&gt;&lt;br /&gt;1、鸡蛋忌糖精┄┄同食中毒、死亡&lt;br /&gt;&lt;br /&gt;2、豆腐忌蜂蜜┄┄同食耳聋&lt;br /&gt;&lt;br /&gt;3、海带忌猪血┄┄同食便秘&lt;br /&gt;&lt;br /&gt;4、土豆忌香蕉┄┄同食生雀斑&lt;br /&gt;&lt;br /&gt;5、牛肉忌红糖┄┄同食胀死人&lt;br /&gt;&lt;br /&gt;6、狗肉忌黄鳝┄┄同食则死&lt;br /&gt;&lt;br /&gt;7、羊肉忌田螺┄┄同食积食腹胀&lt;br /&gt;&lt;br /&gt;8、芹菜忌兔肉┄┄同食脱头发&lt;br /&gt;&lt;br /&gt;9、番茄忌绿豆┄┄同食伤元气&lt;br /&gt;&lt;br /&gt;10、螃蟹忌柿子┄┄同食腹泻&lt;br /&gt;&lt;br /&gt;11、鹅肉忌鸭梨┄┄同食伤肾脏&lt;br /&gt;&lt;br /&gt;12、洋葱忌蜂蜜┄┄同食伤眼睛&lt;br /&gt;&lt;br /&gt;13、黑鱼忌茄子┄┄同食肚子痛&lt;br /&gt;&lt;br /&gt;14、甲鱼忌苋菜┄┄同食中毒&lt;br /&gt;&lt;br /&gt;15、皮蛋忌红糖┄┄同食作呕&lt;br /&gt;&lt;br /&gt;16、人参忌萝卜┄┄同食积食滞气&lt;br /&gt;&lt;br /&gt;17、白酒忌柿子┄┄同食心闷 &lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;color:red;"&gt;公式记忆：&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;1. 猪肉+菱角=肚子痛&lt;br /&gt;&lt;br /&gt;2. 牛肉+栗子=引起呕吐&lt;br /&gt;&lt;br /&gt;3. 羊肉+西瓜=伤元气&lt;br /&gt;&lt;br /&gt;4. 狗肉+绿豆=会中毒&lt;br /&gt;&lt;br /&gt;5. 兔肉+芹菜=脱发&lt;br /&gt;&lt;br /&gt;6.  鸡肉+芹菜=伤元气&lt;br /&gt;&lt;br /&gt;7. 鹅肉+鸡蛋=伤元气&lt;br /&gt;&lt;br /&gt;8. 甲鱼+苋菜=会中毒&lt;br /&gt;&lt;br /&gt;9. 鲤鱼+甘草=会中毒&lt;br /&gt;&lt;br /&gt;10. 螃蟹+柿子=腹泻&lt;br /&gt;&lt;br /&gt;11. 白酒+柿子=会胸闷&lt;br /&gt;&lt;br /&gt;12. 红薯+柿子=会得结石&lt;br /&gt;&lt;br /&gt;13.  糖精（片）+鸡蛋=会中毒、重则死亡（寒！！！！）&lt;br /&gt;&lt;br /&gt;14. 红塘+皮蛋=会中毒&lt;br /&gt;&lt;br /&gt;15. 洋葱+蜂蜜=伤眼睛&lt;br /&gt;&lt;br /&gt;16.  豆腐+蜂蜜=耳聋&lt;br /&gt;&lt;br /&gt;17. 萝卜+木耳=得皮炎&lt;br /&gt;&lt;br /&gt;18. 马铃薯+香蕉=面部生斑&lt;br /&gt;&lt;br /&gt;19. 芋头+香蕉=腹涨&lt;br /&gt;&lt;br /&gt;20. 花生+黄瓜=会伤身&lt;br /&gt;&lt;br /&gt;21. 维生素+虾=砒霜（太寒了～～～～）&lt;br /&gt;&lt;br /&gt;22. 牛奶+桔子+萝卜=伤身&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;color:red;"&gt;谚语记忆：&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;1.猪肉菱角若共食,肚子疼痛不好受.&lt;br /&gt;&lt;br /&gt;2.牛肉栗子一起吃,食后就会发呕吐.&lt;br /&gt;&lt;br /&gt;3.羊肉滋补大有用,若遇西瓜定相侵.&lt;br /&gt;&lt;br /&gt;4.狗肉滋补需注意,若遇绿豆定伤身.&lt;br /&gt;&lt;br /&gt;5.兔肉芹菜本不合,同食之后头发脱.&lt;br /&gt;&lt;br /&gt;6.鸡肉芹菜也相忌,同食就会伤元气.&lt;br /&gt;&lt;br /&gt;7.鹅肉鸡蛋不同窝,一同入胃伤身体.&lt;br /&gt;&lt;br /&gt;8.鲤鱼甘草性相反,兼食而之定伤身.&lt;br /&gt;&lt;br /&gt;9.黄鳝皮蛋皆佳肴,不可同桌结伴行.&lt;br /&gt;&lt;br /&gt;10.鸡蛋若遇消炎片,同室操戈两相争.&lt;br /&gt;&lt;br /&gt;11.鸡蛋糖精更相克,同食中毒更伤身.&lt;br /&gt;&lt;br /&gt;12.柿子红薯若同吃,体内结石易形成.&lt;br /&gt;&lt;br /&gt;13.柿子螃蟹也相背,同食之后会腹泻.&lt;br /&gt;&lt;br /&gt;14.柿子白酒更不合,食后使你心发闷.&lt;br /&gt;&lt;br /&gt;15.豆腐蜂蜜伴着吃,味道虽好耳要聋.&lt;br /&gt;&lt;br /&gt;16.洋葱蜂蜜也不合,同食就会伤眼睛.&lt;br /&gt;&lt;br /&gt;17.香蕉芋头本不合,同时入胃腹胀痛.&lt;br /&gt;&lt;br /&gt;18.香蕉相克马铃薯,同食面部要起斑.&lt;br /&gt;&lt;br /&gt;19.黄瓜生熟都可以,进食之际忌花生.&lt;br /&gt;&lt;br /&gt;20.萝卜木耳不同食,食了容易生皮炎.&lt;br /&gt;&lt;br /&gt;21.萝卜水果更相背,甲状腺肿会诱发.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;color:red;"&gt;收集补充：&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;红薯和柿子——会得结石&lt;br /&gt;&lt;br /&gt;鸡蛋和糖精——容易中毒&lt;br /&gt;&lt;br /&gt;洋葱和蜂蜜——伤害眼睛&lt;br /&gt;&lt;br /&gt;豆腐和蜂蜜——引发耳聋&lt;br /&gt;&lt;br /&gt;萝卜和木耳——皮肤发炎&lt;br /&gt;&lt;br /&gt;芋头和香蕉——腹胀&lt;br /&gt;&lt;br /&gt;花生和黄瓜——伤害肾脏&lt;br /&gt;&lt;br /&gt;牛肉和栗子——引起呕吐&lt;br /&gt;&lt;br /&gt;兔肉和芹菜——容易脱发&lt;br /&gt;&lt;br /&gt;螃蟹和柿子——腹泻&lt;br /&gt;&lt;br /&gt;鲤鱼和甘草——会中毒&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1、萝卜：严禁与桔子同食，同食患甲状腺肿；忌何首乌、地黄；服人参时忌食；忌与胡萝卜同食。&lt;br /&gt;2、胡萝卜：不宜和西红柿、萝卜、辣椒、石榴、莴苣、木瓜等水果同吃。最好单独吃或和肉类烹调。&lt;br /&gt;3、黄瓜：不宜和维生素c含量高的蔬菜如西红柿、辣椒等同烹调。&lt;br /&gt;4、甘薯：(红薯、白薯、地瓜、山芋)；不能与柿子同食，二者相聚会形成胃柿石，引起胃胀、腹痛、呕吐，严重时可导致胃出血等，危及生命；也不宜与香蕉同吃。&lt;br /&gt;5、韭菜：不可与菠菜同食，二者同食有滑肠作用，易引起腹泻；不可与蜂蜜同食，同食则令人心痛；不可与牛肉同食，同食令人发热动火。&lt;br /&gt;6、茄子：忌与黑鱼、蟹同食，同食有损肠胃；过老熟的茄子不宜食，易中毒。&lt;br /&gt;7、菠菜：忌韭菜；不宜与豆腐同食，同食使人缺钙。&lt;br /&gt;8、小白菜：忌兔肉。&lt;br /&gt;9、南瓜：不可与羊肉同食，否则易发生黄疸和脚气；不可与富含维生素c 的蔬菜、水果同食。&lt;br /&gt;10、竹笋：不宜与豆腐同食，同食易生结石；不可与鹧鸪肉同食，同食令人腹胀；不可与糖同食；不宜与羊肝同食。&lt;br /&gt;11、辣椒：忌与羊肝、南瓜同食。&lt;br /&gt;12、香菜：不可与一切补药同食；忌白术、牡丹皮。&lt;br /&gt;13、莼菜：忌与醋同食。&lt;br /&gt;14、茭白：不宜与豆腐同食，否则易形成结石。&lt;br /&gt;15、芹菜：忌同醋食，否则易损齿；不宜与黄瓜同食。&lt;br /&gt;16、芥菜：忌与鲫鱼同食，否则易引发水肿。&lt;br /&gt;17、蕨菜：忌与黄豆、花生、毛豆等同吃。&lt;br /&gt;18、菜瓜：忌与牛奶、奶酪、鱼类同食，否则易生疾病。&lt;br /&gt;19、山药：忌鲫鱼、甘遂。&lt;br /&gt;20、豆腐(豆浆)：不要与牛奶同食；不要与菠菜同烹调；忌用豆浆冲鸡蛋；忌与四环素同用。&lt;br /&gt;21、木耳：忌与田螺、雉鸡、野鸭、鹌鹑肉同食；忌与四环素同服&lt;br /&gt;22、苋菜：不宜与菠菜、蕨粉同食&lt;br /&gt;23、苦菜：不可与蜂蜜同食&lt;br /&gt;24、花生：忌蕨菜、毛蟹、黄瓜。&lt;br /&gt;25、马齿苋：不宜与鳖甲同食。&lt;br /&gt;26、香瓜：忌与蟹、田螺、油饼同吃&lt;br /&gt;27、猪肉：忌与鹌鹑同食，同食令人面黑；忌与鸽肉、鲫鱼、虾同食，同食令人滞气；忌与荞麦同食，同食令人落毛发；忌与菱角、黄豆、蕨菜、桔梗、乌梅、百合、巴豆、大黄、黄连、苍术同食；忌与牛肉、驴肉、羊肝同食。&lt;br /&gt;28、猪脑髓：不可与酒、盐同食，影响男子性功能；&lt;br /&gt;29、羊肉：忌与豆酱、荞麦面、乳酪、南瓜、醋、赤豆、梅干菜同食；忌铜、丹砂。&lt;br /&gt;30、鸡肉：老鸡鸡头不能吃，因毒素滞留在脑细胞内，民间有“十年鸡头生砒霜”的说法；忌与糯米、李子、大蒜、鲤鱼、鳖鱼、虾、兔肉同食；忌芥末、菊花。&lt;br /&gt;31、猪油：不宜与梅子同食。&lt;br /&gt;32、牛肉：不可与鱼肉同烹调；不可与栗子、黍米、蜂蜜同食；不宜与韭菜、白酒、生姜同食。&lt;br /&gt;33、猪肝：忌与荞麦、黄豆、豆腐同食，同食发痼疾；忌与鱼肉同食，否则令人伤神；忌与雀肉、山鸡、鹌鹑肉同食。&lt;br /&gt;34、牛肝：忌鲍鱼、鲇鱼；不宜与富含维生素c的食物同食。&lt;br /&gt;35、鸭肉：反木耳、胡桃；不宜与鳖肉同食，同食令人阴盛阳虚，水肿泄泻。&lt;br /&gt;36、狗肉：忌与绿豆、杏仁、菱角、鲤鱼、泥鳅同食；忌用茶；不宜与大蒜同食。&lt;br /&gt;37、猪血：忌黄豆，同食令人气滞；忌地黄、何首乌。&lt;br /&gt;38、羊心、羊肝：忌与生椒、梅、赤豆、苦笋、猪肉同食；不宜与富含维生素c的蔬菜同食。&lt;br /&gt;39、驴肉：忌荆芥；不宜与猪肉同食，否则易致腹泻。&lt;br /&gt;40、马肉：不宜与大米（粳米）、猪肉同食；忌生姜、苍耳。&lt;br /&gt;41、鹅肉：不宜与鸭梨同吃。&lt;br /&gt;42、鹿肉：不宜与雉鸡、鱼虾、蒲白同食&lt;br /&gt;43、雀肉：春夏不宜食，冬三月为食雀季节。不宜与猪肝、牛肉、羊肉同食；忌李子、白术。&lt;br /&gt;44、鸡蛋：忌与柿子同食，同食可引起腹痛、腹泻，易形成“柿结石”；不宜与兔肉、鲤鱼、豆浆同食；民间有吃“毛蛋”之习，其实“毛蛋”中含有大量病菌，易中毒。&lt;br /&gt;45、鸭蛋：不宜与李子、桑椹子同食。&lt;br /&gt;46、野鸭：忌与木耳、核桃、荞麦同食&lt;br /&gt;47、鹧鸪肉：忌与竹笋同食&lt;br /&gt;48、水獭肉：忌与兔肉、柿子同吃&lt;br /&gt;49、獐肉：不宜与虾、生菜、梅子、李子同食&lt;br /&gt;50、鹌鹑肉：不宜与猪肉、猪肝、蘑菇、木耳同食。&lt;br /&gt;51、雉鸡（野鸡）：不宜与猪肝、鲇鱼、鲫鱼、木耳、胡桃、荞麦同食&lt;br /&gt;52、猫肉：忌藜芦；猫肉有伤胎之弊，孕妇忌服。&lt;br /&gt;53、虾：严禁同时服用大量维生素c。否则，可生成三价砷，能致死；不宜与猪肉同食，损精；忌与狗、鸡肉同食；忌糖。&lt;br /&gt;54、鲤鱼：忌朱砂、狗肉。葵菜、赤小豆、咸菜不宜与狗肉同食。&lt;br /&gt;55、泥鳅：不宜与狗肉同食。&lt;br /&gt;56、海带：不宜与甘草同食。&lt;br /&gt;57、鲫鱼：不宜与芥菜、猪肝、猪肉、蒜、鸡肉、鹿肉等同食；忌山药、厚朴、麦冬、甘草。&lt;br /&gt;58、鳖肉：忌猪肉、兔肉、鸭蛋、苋菜；忌与薄荷同煮；忌与鸭肉同食，久食令人阴盛阳虚，水肿泄泻。&lt;br /&gt;59、带鱼、平鱼、银鱼、黄花鱼：忌用牛、羊油煎炸；凡海味均禁甘草；反荆芥。&lt;br /&gt;60、龟肉：不宜与酒、果、瓜、猪肉、苋菜同食。&lt;br /&gt;61、蜗牛：忌蝎子。&lt;br /&gt;62、田螺：忌与香瓜、木耳、蛤蚧、冰糖同食；忌与四环素同用。&lt;br /&gt;63、鲶鱼：不宜与牛肝同食；忌用牛、羊油煎炸；不可与荆芥同用。&lt;br /&gt;64、鳝鱼：忌狗血、狗肉，同食助热动风；忌荆芥，同食令人吐血；青色鳝鱼有毒，黄色无毒。有毒鳝鱼一次吃250克，可致死。&lt;br /&gt;65、海鳗鱼：不宜与白果、甘草同食。&lt;br /&gt;66、青鱼：忌用牛、羊油煎炸；不可与荆芥、白术、苍术同食。&lt;br /&gt;67、牡蛎肉：不宜与糖同食。&lt;br /&gt;68、枣：不可与海鲜同食，否则令人腰腹疼痛；不可与葱同食，否则令人脏腑不合，头胀。&lt;br /&gt;69、苹果：不宜与海味同食（海味与含有鞣酸的水果同吃，则易引起腹痛、恶心、呕吐等）。&lt;br /&gt;70、鸭梨：忌鹅肉、蟹；忌多吃；忌与油腻、冷热之物杂食。&lt;br /&gt;71、桔子：忌与萝卜同食，同食诱发甲状腺肿；忌与牛奶、蟹、蛤同食。&lt;br /&gt;72、山楂、石榴、木瓜、葡萄：不宜与海鲜类、鱼类同食；服人参者忌用；忌铁器；忌和四环素同吃。&lt;br /&gt;73、桃子：不宜与鳖肉、龟肉同食。&lt;br /&gt;74、香蕉：不宜与白薯同食。&lt;br /&gt;75、柿子：忌与蟹、水獭肉同食，同食腹痛、大泻；忌与红薯、酒同食。&lt;br /&gt;76、杨梅：忌生葱；不宜与羊肛，鳗鱼同食。&lt;br /&gt;77、杏：忌与小米同食，否则令人呕泻。&lt;br /&gt;78、芒果：忌与大蒜等辛物同食。&lt;br /&gt;79、银杏（白果）：严禁多吃，婴儿吃10颗左右可致命，三、五岁小儿吃30~40颗可致命；不可与鱼同吃，同食则产生不利于人体的生化反应，小儿尤忌。&lt;br /&gt;80、柑子：忌与蟹同食。&lt;br /&gt;81、大米（粳米）：不可与马肉同食，不可与苍耳同食，同食心痛；&lt;br /&gt;82、黄豆：不宜与猪血、蕨菜同食；服四环素时忌用。&lt;br /&gt;83、绿豆：不宜与狗肉、榧子同食。&lt;br /&gt;84、小米（粟米）：不可与杏同食，同食易使人呕吐、泄泻；气滞者忌用。&lt;br /&gt;85、黑豆：忌与厚朴、蓖麻籽、四环素同用。&lt;br /&gt;86、红豆：忌与米同煮，食之发口疮；不宜与羊肉同食；蛇咬伤，忌食百日；多尿者忌用。&lt;br /&gt;87、葱：不宜与杨梅、蜜糖同食，同食易气壅胸闷；忌枣、常山、地黄。&lt;br /&gt;88、醋：忌丹参、茯苓；不宜与海参、羊肉、奶粉同食；忌壁虎，可致死。&lt;br /&gt;89、糖：忌虾；不可与竹笋同煮；不宜与牛奶、含铜食物同食。&lt;br /&gt;90、酒：忌与汽水、啤酒、咖啡、奶、茶、糖同饮，不然对胃肠、肝、肾脏器官有严重的损害；不宜与牛肉、柿同食。&lt;br /&gt;91、茶：贫血病人服用铁剂时，忌饮茶。不宜与狗肉同食；服人参等滋补药品时忌用。&lt;br /&gt;92、蒜：一般不与补药同服。忌蜜、地黄、何首乌、牡丹皮；&lt;br /&gt;93、花椒：忌防风、附子、款冬。&lt;br /&gt;94、牛奶：忌牛奶中放钙粉；勿用牛奶冲鸡蛋；不宜与巧克力、桔子，四环素同食。&lt;br /&gt;95、蜜：不宜与葱、蒜、韭菜、莴苣、豆腐同食，不然易引起腹泻 。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;１、啤酒忌白酒&lt;br /&gt;　　啤酒中含有大量的二氧化碳，容易挥发，如果与白酒同饮，就会带动酒精渗透。有些朋友常常是先喝了啤酒再喝白酒，或是先喝白酒再喝啤酒，这样做实属不当。想减少酒精在体内的驻留，最好是多饮一些水，以助排尿。&lt;br /&gt;&lt;br /&gt;２、酒精忌咖啡&lt;br /&gt;　　酒中含有的酒精，具有兴奋作用，而咖啡所含咖啡因，同样具有较强的兴奋作用。两者同饮，对人产生的刺激甚大。如果是在心情紧张或是心情烦躁时这样饮用，会加重紧张和烦躁情绪；若是患有神经性头痛的人如此饮用，会立即引发病痛；若是患有经常性失眠症的人，会使病情恶化；如果是心脏有问题，或是有阵发性心动过速的人，将咖啡与酒同饮，其后果更为不妙，很可能诱发心脏病。一旦将二者同时饮用，应饮用大量清水或是在水中加入少许葡萄糖和食盐喝下，可以缓解一下不适症状。&lt;br /&gt;&lt;br /&gt;３、解酒忌浓茶&lt;br /&gt;　　有些朋友在醉酒后，饮用大量的浓茶，试图解酒。殊不知茶叶中含有的咖啡硷与酒精结合后，会产生不良的后果，不但起不到解酒的作用，反而会加重醉酒的痛苦。&lt;br /&gt;&lt;br /&gt;４、鲜鱼忌美酒&lt;br /&gt;　　含维生素D高的食物有鱼、鱼肝、鱼肝油等，吃此类食物饮酒，会减少人对维生素D吸收量的6～7成。人们常常是鲜鱼佐美酒，殊不知这种吃法却丢了上好的营养成分。&lt;br /&gt;&lt;br /&gt;５、虾蟹类忌维生素&lt;br /&gt;　　虾、蟹等食物中含有五价砷化合物，如果与含有维生素C的生果同食，会令砷发生变化，转化成三价砷，也就是剧毒的“砒霜”，危害甚大。长期食用，会导致人体中毒，免疫下降。&lt;br /&gt;&lt;br /&gt;６、牛奶煮沸时忌加糖&lt;br /&gt;牛奶中所含的赖氨酸在高温下与果糖结合成果糖基赖氨酸，不易被人体消化。食用后会出现肠胃不适、呕吐、腹泻病症，影响健康。&lt;br /&gt;&lt;br /&gt;７、菠菜忌豆腐&lt;br /&gt;　　菠菜中所含的草酸，与豆腐中所含的钙产生草酸钙凝结物，阻碍人体对菠菜中的铁质和豆腐中蛋白的吸收。&lt;br /&gt;&lt;br /&gt;８、牛奶忌朱古力&lt;br /&gt;　　朱古力中含有草酸，与牛奶中所含的蛋白质、钙质结合后产生草酸钙。一些人食用后会发生腹泻现象。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;这些食物不能一起吃。吃，真是一门很大的学问。各种美食之间，常常相冲相撞。&lt;br /&gt;&lt;br /&gt;如果将这些相冲撞的食物同食，不但不会得到美的享受，反而会损害身体，&lt;br /&gt;&lt;br /&gt;真是不可不防呀！&lt;br /&gt;&lt;br /&gt;啤酒忌白酒啤酒中含有大量的二氧化碳，容易挥发，&lt;br /&gt;&lt;br /&gt;如果与白酒同饮，就会带动酒精渗透。有些朋友常常是先喝了啤酒再喝白酒，&lt;br /&gt;&lt;br /&gt;或是先喝白酒再喝啤酒，这样做实属不当。想减少酒精在体内的驻留，&lt;br /&gt;&lt;br /&gt;最好是多饮一些水，以助排尿。&lt;br /&gt;&lt;br /&gt;酒精忌咖啡酒中含有的酒精，具有兴奋作用，&lt;br /&gt;&lt;br /&gt;而咖啡所含咖啡因，同样具有较强的兴奋作用。&lt;br /&gt;&lt;br /&gt;两者同饮，对人产生的刺激甚大。&lt;br /&gt;&lt;br /&gt;如果是在心情紧张或是心情烦躁时这样饮用，会加重紧张和烦躁情绪；&lt;br /&gt;&lt;br /&gt;若是患有神经性头痛的人如此饮用，会立即引发病痛；&lt;br /&gt;&lt;br /&gt;若是患有经常性失眠症的人，会使病情恶化；&lt;br /&gt;&lt;br /&gt;如果是心脏有问题，或是有阵发性心跳过速的人，&lt;br /&gt;&lt;br /&gt;将咖啡与酒同饮，其后果更为不妙，很可能诱发心脏病。&lt;br /&gt;&lt;br /&gt;一旦将二者同时饮用，应饮用大量清水或是在水中加入少许葡萄糖和食盐喝下，&lt;br /&gt;&lt;br /&gt;可以缓解一下不适症状。&lt;br /&gt;&lt;br /&gt;解酒忌浓茶有些朋友在醉酒后，饮用大量的浓茶，试图解酒。&lt;br /&gt;&lt;br /&gt;殊不知茶叶中含有的咖啡碱与酒精结合后，&lt;br /&gt;&lt;br /&gt;会产生不良的后果，不但起不到解酒的作用，反而会加重醉酒的痛苦。&lt;br /&gt;&lt;br /&gt;鲜鱼忌美酒含维生素 D高的食物有鱼、鱼肝、鱼肝油等，&lt;br /&gt;&lt;br /&gt;吃此类食物饮酒，会减少人对维生素 D吸收量的6—7成。&lt;br /&gt;&lt;br /&gt;人们常常是鲜鱼佐美酒，殊不知这种吃法却丢了上好的营养成分。&lt;br /&gt;&lt;br /&gt;虾蟹类忌维生素虾、蟹等食物中含有五价砷化合物，&lt;br /&gt;&lt;br /&gt;如果与含有维生素 C的生果同食，会令砷发生变化，转化成三价砷，&lt;br /&gt;&lt;br /&gt;也就是剧毒的“砒霜”，危害甚大。长期食用，会导致人体中毒，免疫力下降。&lt;br /&gt;&lt;br /&gt;牛奶煮沸时忌加糖牛奶中所含的赖氨酸在高温下与果糖结合成果糖基赖氨酸，&lt;br /&gt;&lt;br /&gt;不易被人体消化。食用后会出现肠胃不适、呕吐、腹泻病症，影响健康。&lt;br /&gt;&lt;br /&gt;菠菜忌豆腐菠菜中所含的草酸，与豆腐中所含的钙产生草酸钙凝结物，&lt;br /&gt;&lt;br /&gt;阻碍人体对菠菜中的铁质和豆腐中蛋白的吸收。&lt;br /&gt;&lt;br /&gt;牛奶忌朱古力朱古力中含有草酸，与牛奶中所含的蛋白质、&lt;br /&gt;&lt;br /&gt;钙质结合后产生草酸钙。一些人食用后会发生腹泻现象。&lt;br /&gt;&lt;br /&gt;哪些食物不能和牛奶一起吃&lt;br /&gt;&lt;br /&gt;经常喝牛奶对健康好处多多，但食物总有互相抵触发生反应的时候，&lt;br /&gt;&lt;br /&gt;在日常生活中我们要留点神，记住哪些食物不可一起食用，&lt;br /&gt;&lt;br /&gt;以免危害你的身体健康，下面介绍一下牛奶和哪些食物不可同时服用？&lt;br /&gt;&lt;br /&gt;&lt;&lt;橘子&gt;&gt;在喝牛奶前后1小时左右，不宜吃橘子。&lt;br /&gt;&lt;br /&gt;因为牛奶中所含的蛋白质与橘子中的果酸相遇后，就会发生凝固，&lt;br /&gt;&lt;br /&gt;从而影响人体对牛奶的消化与吸收，&lt;br /&gt;&lt;br /&gt;在服用牛奶这个时间段里同样不宜食用其他酸性水果。&lt;br /&gt;&lt;br /&gt;&lt;&lt;果汁&gt;&gt;牛奶中的蛋白质80％为酪蛋白，牛奶的酸碱度在4.6以下时，&lt;br /&gt;&lt;br /&gt;大量的酪蛋白便会发生凝集、沉淀，难以消化吸收，&lt;br /&gt;&lt;br /&gt;严重者还可能导致消化不良或腹泻。所以牛奶中不宜添加果汁等酸性饮料。&lt;br /&gt;&lt;br /&gt;&lt;&lt;糖&gt;&gt;牛奶中含有的赖氨酸在加热条件下能与果糖反应，&lt;br /&gt;&lt;br /&gt;生成有毒的果糖基赖氨酸，有害于人体。&lt;br /&gt;&lt;br /&gt;鲜牛奶在煮沸时不要加糖，煮好牛奶后等牛奶稍凉以后再加糖。&lt;br /&gt;&lt;br /&gt;&lt;巧克力&gt;&gt;牛奶含有丰富蛋白质和钙，而巧克力含有草酸，&lt;br /&gt;&lt;br /&gt;两者同食会结合成不溶性草酸钙，极大影响钙的吸收。&lt;br /&gt;&lt;br /&gt;甚至出现头发干枯、腹泻、生长缓慢等现象。&lt;br /&gt;&lt;br /&gt;&lt;&lt;药&gt;&gt;有人喜欢用牛奶代替白开水服药，&lt;br /&gt;&lt;br /&gt;其实，牛奶会明显地影响人体对药物的吸收。&lt;br /&gt;&lt;br /&gt;由于牛奶容易在药物的表面形成一个覆盖膜，使奶中的钙、&lt;br /&gt;&lt;br /&gt;镁等矿物质与药物发生化学反应，形成非水溶性物质，&lt;br /&gt;&lt;br /&gt;从而影响药效的释放及吸收。因此，在服药前后1小时也不要喝奶。 &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115553210466757024?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115553210466757024/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115553210466757024' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115553210466757024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115553210466757024'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/blog-post_14.html' title='哪些东西不能混在一起吃'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115537795404485519</id><published>2006-08-12T18:11:00.000+08:00</published><updated>2006-08-14T14:07:36.076+08:00</updated><title type='text'>ImageMagick瑞士军刀</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;a href="http://www.imagemagick.org/" target="_blank"&gt;ImageMagick&lt;/a&gt;瑞士军刀&lt;br /&gt;Windowns下web运行&lt;br /&gt;安装apache2&lt;br /&gt;安装python-2.4.3.msi&lt;br /&gt;安装mod_python-3.2.10.win32-py2.4-apache2.0.exe&lt;br /&gt;安装ImageMagick 6.2.8 Q8&lt;br /&gt;修改配置文件httpd.conf&lt;br /&gt;Cgi方式 加入AddHandler cgi-script .cgi .py .pl&lt;br /&gt;下面给出一个简单的py代码，生成某个目录下的图片缩略图&lt;br /&gt;#!D:/apache_server/py24/python.exe&lt;br /&gt;print "Content-type: text/html"&lt;br /&gt;print&lt;br /&gt;print ""&lt;br /&gt;import os #operation system&lt;br /&gt;import fnmatch,glob&lt;br /&gt;for fileName in os.listdir ('.'): #列出/root目录内容，不包括.和..&lt;br /&gt;if fnmatch.fnmatch(fileName,'*.jpg'): #利用UNIX风格的通配，只显示后缀为jpg的文件&lt;br /&gt;execcmd="convert "+fileName+" -resize 100x100 small/small"+fileName&lt;br /&gt;os.system(execcmd)&lt;br /&gt;a="图片全部处理完毕"&lt;br /&gt;#a=a.encode('utf-8')&lt;br /&gt;print a&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115537795404485519?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115537795404485519/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115537795404485519' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115537795404485519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115537795404485519'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/imagemagick.html' title='ImageMagick瑞士军刀'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115534609622924295</id><published>2006-08-12T09:24:00.000+08:00</published><updated>2006-08-14T14:08:19.536+08:00</updated><title type='text'>我的照片</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;a href="http://photos1.blogger.com/blogger/5598/3249/1600/aping.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/5598/3249/320/aping.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;我是大牛，娃哈哈。&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115534609622924295?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115534609622924295/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115534609622924295' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534609622924295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534609622924295'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/blog-post_12.html' title='我的照片'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115534500100402315</id><published>2006-08-12T09:04:00.000+08:00</published><updated>2006-08-14T14:08:50.823+08:00</updated><title type='text'>杯杯仔(cupman)</title><content type='html'>&lt;span style="font-size:130%;"&gt;杯杯仔，又名ｃｕｐｍａｎ，它是让女孩子疯狂的原因&lt;br /&gt;欢迎访问：&lt;a href="http://www.cupman.cn" target="_blank"&gt;杯杯仔主题网站&lt;/a&gt;&lt;br /&gt;CupMan is &lt;a href="http://www.4321boom.com/"&gt;The Authorship China&lt;/a&gt;'s a product which is the reason why girls gone wild!&lt;br /&gt;welcome to visit our site&lt;br /&gt;Url:&lt;a href="http://www.cupman.cn" target="_blank"&gt;www.cupman.cn&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115534500100402315?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115534500100402315/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115534500100402315' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534500100402315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534500100402315'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/cupman.html' title='杯杯仔(cupman)'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115534454308216666</id><published>2006-08-12T09:01:00.000+08:00</published><updated>2006-08-14T14:09:11.113+08:00</updated><title type='text'>The Authorship China</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;a href="http://www.4321boom.com" target="_blank"&gt;The Authorship China&lt;/a&gt;&lt;br /&gt;The authorship China is the civilian organization for original creative people.&lt;br /&gt;Take the tenet as provide a communication platform and service for authorship and entertainments, devoted itself to the original creative in China, the authorship China provide the unique integrated platform to embody the value of original design by its powerful international media background. The platform now has four parts: Authorship display, Original program, Creative supermarket and my space.&lt;br /&gt;“Authorship display” is the space which designed for Chinese authorships to show their works.&lt;br /&gt;“Original program” is the communication platform specially designed to build original brand for Chinese authorships.&lt;br /&gt;“Creative supermarket” is the C to C platform which been designed for Chinese authorships and the demands. The authorships could set the price and sales proposals freely and maximize the value of their work by multi-sales mode.&lt;br /&gt;“My space” is the personal space for authorships.&lt;br /&gt;The authorship commit its all to establish the integrated platform for Chinese authorship industry, aiming to become the biggest Chinese authorship broker and most powerful creative organization.&lt;br /&gt;The recent service of Authorship China is in the digital creative domain. Along with the development of the platform and funds accumulation, Authorship China will enlarge its service into the entire service domains for this industry such as architecture creative industry, environment creative industry etc. Please take attention to us, we appreciate your supports.&lt;br /&gt;Investments&lt;br /&gt;Partnership and cooperation&lt;br /&gt;Advisements&lt;br /&gt;Requirements&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115534454308216666?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115534454308216666/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115534454308216666' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534454308216666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534454308216666'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/authorship-china.html' title='The Authorship China'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115534446009766735</id><published>2006-08-12T08:58:00.000+08:00</published><updated>2006-08-12T09:03:45.430+08:00</updated><title type='text'>一个基于存储过程的考试系统</title><content type='html'>做了个考试系统&lt;br /&gt;地址：&lt;a href="http://down.chinaz.com/s/17852.asp" target="_blank"&gt;http://down.chinaz.com/s/17852.asp&lt;/a&gt;&lt;br /&gt;Have completed a exam sys based on web,&lt;br /&gt;welcome to download!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115534446009766735?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115534446009766735/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115534446009766735' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534446009766735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534446009766735'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/blog-post.html' title='一个基于存储过程的考试系统'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115534415055570569</id><published>2006-08-12T08:52:00.000+08:00</published><updated>2006-08-12T09:04:09.940+08:00</updated><title type='text'>做了个取得msn列表的咚咚</title><content type='html'>做了个取得msn列表的咚咚（demo）&lt;br /&gt;地址：&lt;a href="http://www.4321boom.com/msn" target="_blank"&gt;http://www.4321boom.com/msn&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have completed a demo program based on web that can get your msn email list,&lt;br /&gt;welcome to try!&lt;br /&gt;Url:&lt;a href="http://www.4321boom.com/msn"&gt;http://www.4321boom.com/msn&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115534415055570569?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115534415055570569/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115534415055570569' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534415055570569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115534415055570569'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/msn.html' title='做了个取得msn列表的咚咚'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30316461.post-115529197447045639</id><published>2006-08-11T18:24:00.000+08:00</published><updated>2006-08-12T08:56:26.873+08:00</updated><title type='text'>基于web的抓图demo</title><content type='html'>闲来无事，做了个基于web的抓图demo&lt;br /&gt;地址：&lt;a href="http://www.4321boom.com/zhuatu/" target="_blank"&gt;http://www.4321boom.com/zhuatu/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have completed a demo program based on web that can catch image url,&lt;br /&gt;welcome to try!&lt;br /&gt;url:：&lt;a href="http://www.4321boom.com/zhuatu/" target="_blank"&gt;http://www.4321boom.com/zhuatu/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30316461-115529197447045639?l=martinaping.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://martinaping.blogspot.com/feeds/115529197447045639/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30316461&amp;postID=115529197447045639' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115529197447045639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30316461/posts/default/115529197447045639'/><link rel='alternate' type='text/html' href='http://martinaping.blogspot.com/2006/08/webdemo.html' title='基于web的抓图demo'/><author><name>martinaping</name><uri>http://www.blogger.com/profile/09725768711769017674</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
