博文

将文件名转换为URL(2006-04-23 10:50:00)

摘要: 有许多操作都需要URL,有两种方法可以将文件名转换为URL,以下设定GetResource.java及FileToUR.java存储在C:\java 
方法一 
public class GetResource{ 

public static void main(String[] args){ 
Class c=GetResource.class; 
java.net.URL u=c.getResource("GetResource.java"); 
System.out.println(u); 



方法二 
import java.io.*; 
import java.net.*; 
public class FileToURL{ 
public static void main(String[] argv) throws MalformedURLException{ 
java.net.URL u=new File("GetResource.java").toURL(); 
System.out.println(u); 



运行结果: 
C:\java>java GetResource 
file:/C:/java/GetResource.java 

C:\java>java FileToURL 
file:/C:/java/GetResource.java 

C:\java>  ......

阅读全文(4992) | 评论:0

Java性能优化技巧集锦 (2006-04-22 18:14:00)

摘要:可供程序利用的资源是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。   可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。   一、通用篇   “通用篇”讨论的问题适合于大多数Java应用。   1.1 不用new关键词创建类的实例   用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。clone()方法不会调用任何类构造函数。   在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对象,则改用clone()方法创建新的对象实例非常简单。例如,下面是Factory模式的一个典型实现: public static Credit getNewCredit()
{
  return new Credit();
}   改进后的代码使用clone()方法,如下所示: private static Credit BaseCredit = new Credit();
public static Credit getNewCredit()
{
  return (Credit) BaseCredit.clone();
}   上面的思路对于数组处理同样很有用。   1.2 使用非阻塞I/O   版本较低的JDK不支持非阻塞I/O API。为避免I/O阻塞,一些应用采用了创建大量线程的办法(在较好的情况下,会使用一个缓冲池)。这种技术可以在许多必须支持并发I/O流的应用中见到,如Web服务器、报价和拍卖应用等。然而,创建Java线程需要相当可观的开销。   JDK 1.4引入了非阻塞的I/O库(java.nio)。如果应用要求使用版本较早的JDK,在这里有一个支持非阻塞I/O的软件包。   1.3 慎用异常   异常对性能不利。抛出异常首先要创建一个新的对象。Throwable接口的构造函数调用名为fillInStackTrace()的本地(Native)方法,fi......

阅读全文(3654) | 评论:0

JDK1.5爱之初体验(2006-04-22 18:12:00)

摘要:jdk1.5之初体验
---------------- Sun公司的JDK1.5终于出了正式版了,对于我们Java fans来说真是一个好消息!
这回JDK的更新听说是1995年Java发布以来对Java语法方面作了最大的更新(以前大都是对Java类库的扩充),引入了许多激动人心的新特性。
呵呵,闲话少说,现在大家和jellen一起来看看JDK1.5里面到底有什么好东东。 1 - 泛性编程
哇,这可是以前C++的金字招牌啊,现在Java里面也可以使用了。我们先看看以前没有泛性时的Java: ArrayList list = new ArrayList();
list.add(new String("Hello!"));
System.out.println((String)list.get(0)); 是不是有点罗嗦麻烦,要转来转去才能打印出那个:"hello!"
现在我们来看新的代码: ArrayList<String> list = new ArrayList<String>();
list.add(new String("Hello!"));
System.out.println(list.get(0)); 恩,确实简洁多了,是不是?泛性特征把类型引进了集合,使得我们的代码更简洁易懂。 2 - 自动装箱/拆箱 这也是一个对我们程序员非常贴心的设计,想想以前我们要把int等基本数据装进ArrayList等集合时的麻烦吧: ArrayList list = new ArrayList();
Integer number = new Integer(10);  //先要把数字弄进包装类
list.add(number); //然后想要取出这个数字也极其麻烦,看看这个式子,晕啊!
int i = ((Integer)list.get(0)).intValue(); 现在好了,同样的代码在JDK1.5中: ArrayList<Integer> list = new ArrayList<Integer>();
list.add(10);
int i = list.get(0); 真是非常方便啊! ......

阅读全文(4149) | 评论:0

如何创建自解压的jar文件(2006-04-22 18:11:00)

摘要:这是我从网上看一遍文章做的练习。自解压程序是 ZipSelfExtractor.java(请下载),作者为 Z.S. Jin。

一、自解压jar文件的优点: 自解压jar文件可以在任意支持java的平台上解开。
二、 制作自解压jar文件的过程如下:

1、修改MANIFEST.MF文件
    随便找一个jar格式的文件,如jstl.jar,先用winzip或winRAR解压,这是因为我们要修改其中的MANIFEST.MF文件。其实修改很简单,只要在MANIFEST.MF文件中指定(或修改)这个基于java 的解压程序包含main()方法的类的名称为:
    Main-Class: ZipSelfExtractor 如将jstl.jar文件中包含的MANIFEST.MF文件:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.2
Created-By: 1.4.1_02-b06 (Sun Microsystems Inc.)
Specification-Title: JavaServer Pages Standard Tag Library (JSTL)
Specification-Version: 1.1
Implementation-Title: JavaServer Pages Standard Tag Library API Refere
nce Implementation
Implementation-Version: 1.1.0-D13
Implementation-Vendor: Sun Microsystems, Inc.
Implementation-Vendor-Id: com.sun
Extension-Name: javax.servlet.jsp.jstl 改为:
Manifest-Version: 1.0
Main-Class: ZipSelfExtractor
Ant-Version: Apache Ant 1.5.2
Created-By: 1.4.1_02-b06 (Sun M......

阅读全文(6324) | 评论:0

Unicode简介(2006-04-22 18:10:00)

摘要: Unicode是一种字符编码规范 ,先从ASCII说起。ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits) 因此,ASCII编码可以表示的最大字符数是256,其实英文字符并没有那么多,一般只用前128个(最高位为0),其中包括了控制字符、数字、大小写字母和其他一些符号,而最高位为1的另128个字符被成为“扩展ASCII”,一般用来存放英文的制表符、部分音标字符等等的一些其他符号    这种字符编码规范显然用来处理英文没有什么问题,(实际上也可以用来处理法文、德文等一些其他的西欧字符,但是不能和英文通用),但是面对中文、阿拉伯文之类复杂的文字,255个字符显然不够用。于是,各个国家纷纷制定了自己的文字编码规范,其中中文的文字编码规范叫做“GB2312-80”,它是和ASCII兼容的一种编码规范,其实就是利用扩展ASCII没有真正标准化这一点,把一个中文字符用两个扩展ASCII字符来表示。    但是这个方法有问题,最大的问题就是,中文文字没有真正属于自己的编码,因为扩展ASCII码虽然没有真正的标准化,但是PC里的ASCII码还是有一个事实标准的(存放着英文制表符),所以很多软件利用这些符号来画表格。这样的软件用到中文系统中,这些表格符就会被误认作中文字,破坏版面。而且,统计中英文混合字符串中的字数,也是比较复杂的,我们必须判断一个ASCII码是否扩展,以及它的下一个ASCII是否扩展,然后才“猜”那可能是一个中文字,总之当时处理中文是很痛苦的。而更痛苦的是GB2312是国家标准,台湾当时有一个Big5编码标准,很多编码和GB是相同的,所以……,嘿嘿。     这时候,我们就知道,要真正解决中文问题,不能从扩展ASCII的角度入手,也不能仅靠中国一家来解决。而必须有一个全新的编码系统,这个系统要可以将中文、英文、法文、德文……等等所有的文字统一起来考虑,为每个文字都分配一个单独的编码,这样才不会有上面那种现象出现。 于是,Unicode诞生了。    Unicode有两套标准,一套叫Unicode-16UCS-2,用2个字节为字符编码,另一套叫Unicode-32UCS-......

阅读全文(4707) | 评论:2

[转帖]超级恐怖...有胆量的来......(2006-04-22 11:49:00)

摘要:我是一个网虫,一个标准的网虫。  
  并不是网络本身吸引我,而是因为我太喜欢黑夜的那份宁静,正如我当年曾那么痴迷地喜欢和朋友们在一起狂欢的浮躁。我想也许有一天我仍会回到喧嚣的浮躁中,这叫规律,物极必反的规律。  
  书房门上面的挂钟响了一下,12点。  
  我坐在电脑桌前,向右扭头,顺手拉开窗帘和窗纱。窗,一直是开着的,因为在深夜这间书房里常有人吸烟,那个人就是我。此时,我不要白天攘攘的人群,我只要天高云淡的香烟陪着我,香烟比挂着虚伪面具的人群可靠可信得多,它是真实的。  
  深吸一口熟悉的空气,视线所及的窗外黑黑的,对面楼的灯光早熄了,连楼的轮廓都不再存在。是的,这一瞬我是唯心的,只要是我不希望存在的,它就不存在,而且是的的确确地视而不见。  
  我不困,因为今天是周末,我的周末。  
  随便闯入一个聊天室,找个人最多的房间踏进去,看着他们聊天或哭或笑,或玩或闹,我一直不说话,不想说话。过来搭讪的网友无功而返,扬长而去后,我在屏幕这边笑了,为自已拥有这沉默和拒绝的权力。  
  “怕我吗?呵呵。”这句话勾起了我聊天的兴趣。  
  “不怕!嘿嘿,我是小妖,谁怕谁还说不定呢。”我回答。  
  不知为什么,自从我们对话开始,聊天室里的人陆续地离开了,只一会工夫,就只剩我们俩个人。  
  “人呢?他们怕你了呀?”我嘻笑着问。  
  “他们都死机了,明天早上才能启动。”他淡淡地说。  
  “为什么?”我一头雾水,难道他是黑客?我想。  
  “因为我想给你一个人讲我的故事。记住,在我讲的时候,你不要敲回车键!”  
  “我为什么要听你的故事?我偏要敲回车键!”  
  打完这几个字我重重地敲了一下回车键,发了过去。  
  发出那一刻,我有点后悔了,我承认是我好奇,我想听他的故事,可我更好奇敲回车键会发生什么。  
......

阅读全文(2904) | 评论:0

这个爱情测试好准(2006-04-22 11:41:00)

摘要:http://www.dz121.com/love/index.asp?loveid=184845
我晕,这个爱情测试好准,我刚试过,按照上面的分析,准确率很高。我试了3次,基本一样!快去看看!照以往数据分析来看,成功率可达96%以上!......

阅读全文(3745) | 评论:2

 [转帖]让女孩子哭的答案(2006-04-22 11:36:00)

摘要:女孩终于鼓起勇气对男孩说:「我们分手吧」
  
  男孩问:「为什么?」
  
  女孩说:「倦了,就不需要理由了」
  
  一个晚上
  
  男孩只抽烟不说话
  
  女孩的心也越来越凉
  
  『连挽留都不会表达的情人
  
  能给我什么样的快乐?』
  
  过了许久
  
  男孩终忍不住说:「怎么做你才能留下来?」
  
  女孩慢慢地说:
  
  「回答一个问题,如果你能答到我心里就答案,我就留下来。」
  
  ……………………
  
  「比如我非常喜欢悬崖上的一朵花,而你去摘的结果是百分之百
  
  的死亡,你会不会摘给我?」
  
  男孩想了想说:「明天早晨告诉你答案好吗?」
  
  女孩的心顿时灰了下来
  
  ……………………
  
  早晨醒来,男孩已经不在
  
  只有一张写满字的纸压在温热的牛奶杯下
  
  第一行,就让女孩的心凉透了
  
  「亲爱的,我不会去摘
  
  但请容许我陈述不去摘的理由
  
  你只会用电脑打字
  
  却总把程序弄得一塌糊涂
  
  然后对着键盘哭
  
  我要留着手指给你整理程序
  
  你出门总是忘记带钥匙
  
  我要留着双脚跑回来给你开门
  
  酷爱旅游的你
  
  在自己的城市里都常常迷路
  
  我要留着眼睛给你带路
  
  每月(好朋友)光临时
  
  你总是全身冰凉,还肚子疼
  
  我要留着掌心温暖你的小腹
  
  你不爱出门
  
  我担心你会患上自闭症
  
  我要留着嘴巴躯赶你的寂寞
  
  你总是盯者电脑
   ......

阅读全文(2961) | 评论:0

精神病人笑话全集(笑死不偿命版)(2006-04-22 11:32:00)

摘要:(1)

有一位病人来找精神科医师.

病人:我一直觉得我是一只鸟.

医生:喔.那很严重喔.从什么时候开始的.

病人:从我还是一只小鸟的时候.

(2)

有一位神经病院的医生问患者:如果我把你的一只耳朵割掉.你会怎样?

那位患者回答:那我会听不到.

医生听了:嗯嗯.很正常.

医生又问道:那如果我再把你另一只耳朵也割掉.你会怎样?

那位患者回答:那我会看不到.

医生开始紧张了.怎么会看不到咧.?

患者回答:因为眼镜会掉下来.

(3)

有两个神经病患.从病院里逃出来.

两人跑啊跑.爬到一棵树上.

其中一个人从树上跳下来.

滚啊滚的.

然後抬起头对上面的人说:喂------你怎么还不下来啊---------?

上面的那个人回答他:不---行---啊------

我还没有熟-----------

(4)

神经病院有一位老太太.

每天都穿著黑色的衣服.拿著黑色的雨伞.

蹲在神经病院门口.

医生就想:要医治她.一定要从了解她开始.

於是那位医生也穿黑色的衣服.拿著黑色的雨伞.和她一起蹲在那边.

两人不言不语的蹲了一个月.

那位老太太终於开口和医生说话了:

请问一下-------

你---也是香菇吗------?

(5)

  某精神病院听说领导要来医院视察情况,于是,院长召集所的病人开会在会上,院长讲道:"今天下午,有很重要的领导要来参观,所有的人都要去门口欢迎. 在欢迎的时候,所有病人站在医院大门口两边,要站整齐,当我咳嗽的时候,大家一起鼓掌,越热烈越好;我跺脚的时候必须全部停止,不能有一个出错.要大家都做好了,今天晚上可以给大家吃肉包子,只要有一个人弄砸了,所有的人都没有包子吃,记住了吗?"台下病人一起喊道:" 记住了!"

  这天下午,领导准时到来,当他步入大门的时候,欢迎的病人已在门口站好了这时,随着院长一声咳嗽,所有的病人......

阅读全文(3016) | 评论:0

 强!看他是怎么让少妇视频脱光的.(2006-04-20 16:49:00)

摘要:转自:转载
老彭的网名叫做“目大师”。

第一个被临幸的女子的名字叫做“小白兔”。(如有雷同,绝非巧合。请速改名,以策万全)

第一回合

刚开始,小白兔没太在意这位目大师,有一茬,没一茬地聊着。突然,目大师说道:“对不起,做功课的时间到了,我要离开一会。”

过了几分钟,目大师又出现了。

小白兔有点奇怪,问道:“你做什么功课?”

老彭:“日常功课,每到整点的时候,盘膝打坐,凝神冥想,以消除杂念,维护清修。”

小白兔第一次遇见这样的网友,肃然起敬。问道:“你是出家人?学佛的?”

老彭:“非佛非道,亦佛亦道。”

小白兔:“你修炼多久了?”

目大师:“二十八年。”

小白兔:“这么久了!那你会算命吗?”

老彭:“会当然会一些,但那是旁支末节,不屑为之。”

女人哪有不喜欢算命的?当时小白兔就央求再三,目大师百般无奈,只好答应随便算一下。

小白兔打算试试深浅,问道:“那你算一算,我的原名叫什么名字?”

我靠,这怎么算?这太难了。

老彭心想此女网名叫小白兔,莫非与植物有关?何况一般女人的名字无非花花草草,于是道:“你与草木有缘。”

小白兔半天没做声。

老彭心知多半赌中了。

小白兔:“那我现在的男朋友的名字呢?”

老彭心想,这说不定是个圈套,万一她现在没有男朋友呢?于是,老彭答道:“我只能算出你初恋的男人的名字与水有缘。”

老彭这么想的:这是个概率学问题。汉字常用字当中与草木与水有关的字是很多的,而且往往用于姓名之中。万一名姓都不带水木,那么再胡扯一通,总可以与其挂起钩来。

果然问题来了,小白兔说:“我的初恋男友名叫易平夫,个个字与水无关。”

老彭想了一会:“怎么会无关呢?易字拆开,日勿,可以理解为不出太阳。无晴则雨,易字有水。平字,《释名》里说:“天下莫平于水。”意思是说:万物最平者,水也。平字有水。夫字,下面是天,上面是个一字。道家有“天一生水”之说,夫字也有水。个个字与水有关,怎么说是无关呢?”

......

阅读全文(5340) | 评论:0