1.要不是打不过你,我早跟你翻脸了
2.不想当厨子的裁缝不是好司机。
3.龙虾,海蟹,!我就爱吃带壳的!服务员,给他来盘瓜子
4.牛肉面大排面便饭一曰本人过来,吃点什么?这个,曰本人用手一指 :牛大便!
5.我终究没能飙得过那辆宝马,只能眼看着它在夕阳中绝尘而去,不是我的引擎不好,而是我脚蹬子坏了!
6.901次航班,由打西直门开往中关村,票价5元,请您登机。你说这多有意思。乘务员站那儿得喊,快上快上有大座儿,有大座儿。
7. 接了一活儿,完事能挣三十万……拿过图纸一看,盖一40米的烟囱,等盖好了,人家来一看,把我打了一通,图纸看倒了,人家让挖口井。
8.流氓会武术,谁也挡不住……科学家会武术,流氓也挡不住!
9.一些女演员为了上戏和男导演 ,太无耻了!女导演太少,让我们这些个男演员怎么办?
10. 你拿的什么?我妈给带的鸡蛋。给我吃。不给……你猜,猜有几个。我猜出来你给我一个。你要猜出来我把这两个都给你。5个?
11.曾经有一个赚钱的机会摆在我的面前,但是我没有珍惜。机会过去了,我追悔莫及。假如上天再给我一个机会的话,我希望跟那个村长说:我愿意去。假如非让我在那工资前面加一个限额的话,我希望是:400元~
12.住的房子千疮百孔,一下雨算要了亲命了:外边小雨屋里中雨,外边大雨屋里暴雨,有时候雨实在太大了,全家人都上街上避雨去了。
13.英语、日语、韩语、南斯拉夫语、北斯拉夫语、西斯拉夫语...会7、8国外国话,和八国联军对着骂街都不带重样的~
14.你无耻的样子,颇有我年轻时候的神韵。
15.谁要不认识他,谁就没吃过猪肉。
16.有困难要帮,没有困难制造困难也要帮。
17.上次喝多了,拿筷子当鸡爪子,吃了一根半。
18.小妞,给大爷笑一个,不笑,那大爷给你笑一个 ~
19.那锁拿根面条一捅就开,一包方便面能开一小区。
20.你叫什么名字?你别说出来啊!你说出来就是骂街!
21.我扔铅球扔得可远了,教练说了,人出去了不算啊!
22.今天说的这故事,离现在不远,家里有老人的可以回去问问,在春秋战国时期啊 ……
23.遛累了,他坐这,狗坐这,一边高,谁过来都纳闷:这是谁家双胞胎啊?
24.我买50辆好车--奥拓、奥拓、奥拓……!用铁丝镖起来,开起来跟火车一样!
25.小学上了十年,中学十二年,我被评为全校最熟悉的面孔,新老师来了都跟我打听学校内幕……
26.我要了份鱼翅炒饭,用三双筷子楞没找着鱼翅,你能告诉我鱼翅在哪吗?厨师说,我叫鱼翅。
27. 你们千万别打他,也别骂他,不就是要钱么,咱好商量。不过丑话说头里,要是超过100块钱,你们就撕票得了。
28.中国北京有一军事奇才,叫郭德纲,文能提笔安天下,武能上马定乾坤;上炕认识娘儿们,下炕认识鞋。
29.跳楼死多可乐,我研究过,二十层和二层效果不一样,二层是啪、啊!二十层是啊~~~~~啪
20 十月 2008
26 九月 2008
GET和POST提交方式在web容器中的编码区别
当然,最主要的区别大家都知道
1、在发送请求时,安全性有区别
2、在提交数据时,数据量的大小有区别
但是两者在提交数据时,编码是不同的。GET在提交的时候不进行编码,提交的数据作为查询字符串附加到URL的末尾,然后发送到服务器。POST方式在提交时,会将数据进行编码(WEB容器默认的编码是ISO-8859-1)。所以要输出表单提交的数据,此时应该注意提交的方式以及编码的影响,否则如果存在中文,会出现乱码。
对于POST方式,如果需要得到表单提交的中文数据,不能直接通过request.getParameter()获取,否则得到的是以ISO-8859-1编码返回的字符串(中文会产生乱码);应该在读取数据前调用request.setCharacterEncoding()方法指定中文编码方式(GBK,GB2312)。在浏览器显示中文数据前,也应该调用respongse.setContentType()来指定字符编码方式为中文编码。
对于get方式,则必须拿到数据后自己指定编码重新构造字符串。如果用post那样的方式会发现毫无作用。为什么会这样?查了一下相关资料,貌似setCharacterEncoding方法是服务器支持的,所以有局限性;但是自己编码确实通用的。
1、在发送请求时,安全性有区别
2、在提交数据时,数据量的大小有区别
但是两者在提交数据时,编码是不同的。GET在提交的时候不进行编码,提交的数据作为查询字符串附加到URL的末尾,然后发送到服务器。POST方式在提交时,会将数据进行编码(WEB容器默认的编码是ISO-8859-1)。所以要输出表单提交的数据,此时应该注意提交的方式以及编码的影响,否则如果存在中文,会出现乱码。
对于POST方式,如果需要得到表单提交的中文数据,不能直接通过request.getParameter()获取,否则得到的是以ISO-8859-1编码返回的字符串(中文会产生乱码);应该在读取数据前调用request.setCharacterEncoding()方法指定中文编码方式(GBK,GB2312)。在浏览器显示中文数据前,也应该调用respongse.setContentType()来指定字符编码方式为中文编码。
对于get方式,则必须拿到数据后自己指定编码重新构造字符串。如果用post那样的方式会发现毫无作用。为什么会这样?查了一下相关资料,貌似setCharacterEncoding方法是服务器支持的,所以有局限性;但是自己编码确实通用的。
21 七月 2008
一个面试题
用1、2、2、3、4、5这六数,打印出所有不同的排列,要求:"4"不能在第三位,"3"与"5"不能相连。
要求用Java做,我试着用C语言做了下。
#include <stdio.h>
int checkNum(int num);//检查是否是122345五个数字构成
int checkCondition1(int num);//先判断除了2可以重复两次以外,其它各位不能存在重复的情况
int checkCondition2(int num);//判断4是否在第三位
int checkCondition3(int num);//判断3与5是否相连
int checkIsMyNum(int num);
void main()
{
int num=122345;
int i=0;
int count=0;
for(;num<=543221;num++)
{
if(checkNum(num))
{
if(checkCondition1(num)&&checkCondition2(num)&&checkCondition3(num))
{
printf("%d ",num);
i++;
count++;
if(i==10)
{
i=0;
printf("\n");
}
}
}
}
printf("\n%d",count);
}
int checkCondition3(int num)//判断35相连
{
int temp1=num%10;
int temp2=num%10;
while(1)
{
num=num/10;
temp1=temp2;
temp2=num%10;
if((temp1==3&&temp2==5)||(temp1==5&&temp2==3))
{
return 0;
}
if(num/10==0)
{
break;
}
}
return 1;
}
int checkCondition2(int num)
{
int i=0;
while(1)
{
int temp=num%10;
i++;
if(i==3)//如果是第三位
{
if(temp==4)
{
return 0;
}
else
{
return 1;
}
}
if(num/10==0)
{
break;
}
num=num/10;
}
}
int checkIsMyNum(int num)
{
if(num==1||num==2||num==3||num==4||num==5)
{
return 1;
}
else
{
return 0;
}
}
int checkNum(int num)
{
int temp;
do
{
temp=num%10;
if(!checkIsMyNum(temp))
{
return 0;
}
if(num/10==0)
{
break;
}
num=num/10;
}while(1);
return 1;
}
int checkCondition1(int num)
{
int criterion[6]={1,2,2,3,4,5};
int i=0;
//先判断除了2可以重复两次以外,其它各位不能存在重复的情况
while(1)
{
int temp=num%10;
for(i=0;i<6;i++)
{
if(criterion[i]==temp)
{
criterion[i]=0;
break;
}
}
if(num/10==0)
{
break;
}
num=num/10;
}
for(i=0;i<6;i++)
{
if(criterion[i]>0)
{
return 0;
}
}
return 1;
}
因为限时做的,所以有点乱,没有考虑流程的优化和效率问题。最后答案是198种。
要求用Java做,我试着用C语言做了下。
#include <stdio.h>
int checkNum(int num);//检查是否是122345五个数字构成
int checkCondition1(int num);//先判断除了2可以重复两次以外,其它各位不能存在重复的情况
int checkCondition2(int num);//判断4是否在第三位
int checkCondition3(int num);//判断3与5是否相连
int checkIsMyNum(int num);
void main()
{
int num=122345;
int i=0;
int count=0;
for(;num<=543221;num++)
{
if(checkNum(num))
{
if(checkCondition1(num)&&checkCondition2(num)&&checkCondition3(num))
{
printf("%d ",num);
i++;
count++;
if(i==10)
{
i=0;
printf("\n");
}
}
}
}
printf("\n%d",count);
}
int checkCondition3(int num)//判断35相连
{
int temp1=num%10;
int temp2=num%10;
while(1)
{
num=num/10;
temp1=temp2;
temp2=num%10;
if((temp1==3&&temp2==5)||(temp1==5&&temp2==3))
{
return 0;
}
if(num/10==0)
{
break;
}
}
return 1;
}
int checkCondition2(int num)
{
int i=0;
while(1)
{
int temp=num%10;
i++;
if(i==3)//如果是第三位
{
if(temp==4)
{
return 0;
}
else
{
return 1;
}
}
if(num/10==0)
{
break;
}
num=num/10;
}
}
int checkIsMyNum(int num)
{
if(num==1||num==2||num==3||num==4||num==5)
{
return 1;
}
else
{
return 0;
}
}
int checkNum(int num)
{
int temp;
do
{
temp=num%10;
if(!checkIsMyNum(temp))
{
return 0;
}
if(num/10==0)
{
break;
}
num=num/10;
}while(1);
return 1;
}
int checkCondition1(int num)
{
int criterion[6]={1,2,2,3,4,5};
int i=0;
//先判断除了2可以重复两次以外,其它各位不能存在重复的情况
while(1)
{
int temp=num%10;
for(i=0;i<6;i++)
{
if(criterion[i]==temp)
{
criterion[i]=0;
break;
}
}
if(num/10==0)
{
break;
}
num=num/10;
}
for(i=0;i<6;i++)
{
if(criterion[i]>0)
{
return 0;
}
}
return 1;
}
因为限时做的,所以有点乱,没有考虑流程的优化和效率问题。最后答案是198种。
18 七月 2008
AutoHotkey——小巧强大的脚本软件
AHK 是一款叫做 AutoHotKey 的脚本软件的缩写,它是改造 Windows 必备的软件!用了它你可以替换掉很多软件。(俺是程序员,不是文学家,所以这句话照抄别人的,但是软件确实是好软件)
AHK可以做什么?从应用的角度来说,可以编写脚本实现屏幕取色,编写脚本实现时间定时……(反正功能太强了),对于我来说有什么好处?
平常使用MyEclipse编写JavaEE的东西,经常需要web服务器的重新部署,通过AHK来录制宏命令,这样每次需要类似的重新部署的时候,运行宏,全部自动搞定o(∩_∩)o...(当然ant也可以,但是东西小的时候ant就有点大材小用了)。
这里有很多AHK的具体应用实例:http://www.appinn.com/tag/ahk/
AHK官方网站:www.autohotkey.com
AHK可以做什么?从应用的角度来说,可以编写脚本实现屏幕取色,编写脚本实现时间定时……(反正功能太强了),对于我来说有什么好处?
平常使用MyEclipse编写JavaEE的东西,经常需要web服务器的重新部署,通过AHK来录制宏命令,这样每次需要类似的重新部署的时候,运行宏,全部自动搞定o(∩_∩)o...(当然ant也可以,但是东西小的时候ant就有点大材小用了)。
这里有很多AHK的具体应用实例:http://www.appinn.com/tag/ahk/
AHK官方网站:www.autohotkey.com
11 七月 2008
SwingUtilities.invokeLater()和SwingUtilities.invokeAndWait()介绍
今天看了下MP3在线搜索器的源代码,发现里面出现了SwingUtilities.invokeLater()和SwingUtilities.invokeAndWait()这两个方法。以前做Swing事件响应的时候从来没有用过,所以网上查了下,大概明白他们的作用。
举个例子,比如单击按钮实现某些操作,我们一般使用ActionListener监听器来调用actionPerformed方法来完成按钮的功能。这样的做法一般来说没有问题,但是某些情况下会出现问题。比如单击按钮要执行很费时的操作,此时你的按钮就会始终处于按下的状态,而且导致界面其他的组件无法正常使用,好像界面死了一样。这是由于Swing不是线程安全的,它是单线程的设计,因此如果它处于某种费时的操作,由于单线程设计的缘故,会导致其他操作在当前功能未完毕之前无法启动。如何解决这类问题,就可以考虑使用SwingUtilities.invokeLater()和SwingUtilities.invokeAndWait()这两个方法。其效果是允许事件派发线程调用另一个线程中的任意一个代码块,即当前费时的操作不会影响Swing中的其他操作。如果你希望部件能够立即显示或重画,而处理代码在后台运行,那么你就可以使用invokeLater。invokeAndWait指的是当前线程阻塞,一直等待invokeAndWait中指定的代码执行完毕之后,才接着运行,这种方式用的不多。
举个例子,比如单击按钮实现某些操作,我们一般使用ActionListener监听器来调用actionPerformed方法来完成按钮的功能。这样的做法一般来说没有问题,但是某些情况下会出现问题。比如单击按钮要执行很费时的操作,此时你的按钮就会始终处于按下的状态,而且导致界面其他的组件无法正常使用,好像界面死了一样。这是由于Swing不是线程安全的,它是单线程的设计,因此如果它处于某种费时的操作,由于单线程设计的缘故,会导致其他操作在当前功能未完毕之前无法启动。如何解决这类问题,就可以考虑使用SwingUtilities.invokeLater()和SwingUtilities.invokeAndWait()这两个方法。其效果是允许事件派发线程调用另一个线程中的任意一个代码块,即当前费时的操作不会影响Swing中的其他操作。如果你希望部件能够立即显示或重画,而处理代码在后台运行,那么你就可以使用invokeLater。invokeAndWait指的是当前线程阻塞,一直等待invokeAndWait中指定的代码执行完毕之后,才接着运行,这种方式用的不多。
订阅:
博文 (Atom)