01 J2SE
要什么昵称嘛
做技术好多年了,期间有过彷徨,但是我还是选择了坚持,决心把技术这条路执着的走下去。座右铭:付出才有回报。
展开
-
Property文件读取的Util类
Property文件以字符串形式保存数据。这个类可以从Property文件中读取各种转换后的常见对象,可以继续扩展。原创 2010-08-02 16:27:00 · 2596 阅读 · 0 评论 -
Apache License Version 2.0 英文内容及中文翻译
Apache LicenseVersion 2.0, January 2004http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean转载 2008-05-12 12:21:00 · 44212 阅读 · 4 评论 -
FindBugs无法使用的问题
现象:突然之间发现Eclipse安装的FindBugs插件不能用了。现象,就是在项目上点右键,却再也找不到FindBugs检查项了,完全消失了。而且运行FindBugs提供的GUI程序也会因为找不到main方法而失败。无论重新安装,还是直接更新,都无法再使用。 原因:使用了JDK1.4版本。切换为5.0以上版本,再重新安装插件即可。 如果你也遇到这种问题,可以试试。原创 2008-07-10 16:01:00 · 3684 阅读 · 0 评论 -
JUnit4测试代码示例
JUnit4与以前版本相比,有了很大的改变。JUnit4开始使用自定义的一些标签(Annotation)来实现测试活动。而且增加了一些功能,使用起来更加方便了。下面的测试代码能够看出不少JUnit4版本的一些新的东西。具体更加详细的,可以到www.junit.org看看。public class JUnitFourVersionTest { @BeforeClass原创 2008-04-24 12:32:00 · 2258 阅读 · 0 评论 -
Mock in JUnit
>是一本比较著名的关于JUnit的书。当谈到JUnit单元测试技术的时候,举出了两种测试方法,Stub和Mock。Stub的大概概念如下:Stub是代码的一部分。其目的就是用简单的行为替换复杂的行为,从而允许独立地测试代码的一部分;Mock Object是使用来代替与你的代码协作的对象的对象,这样代码可以调用Mock Object的方法,这些方法的调用的结果是由你的测试设置好的。Stub适原创 2008-04-28 14:29:00 · 5626 阅读 · 1 评论 -
JNI异常的处理
Java中需要调用C代码,C代码中反过来又会操作Java中的对象,这就需要在C代码中处理Java操作可能出现的异常。如果不进行处理,一旦发生异常,C代码部分就会直接退出,同时抛给调用它的Java代码一个莫名其妙的错误(可能是一个没有任何意义的Exception)直接看这个错误是无法分析真正的错误原因的。所以C代码中必须要处理这些异常,要么将其抛出,要么忽略掉。下面是专用的JNI函数,可以对异常原创 2008-03-13 19:24:00 · 8674 阅读 · 8 评论 -
关于提高自己JAVA水平的十大技术讨论(转)
本文来自IT专家网 http://webservices.ctocio.com.cn/tips/323/7716823.shtml 本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。 一、XML 在十种技术中,最重要的一种技术我想应该非XM转载 2007-12-22 20:36:00 · 1861 阅读 · 2 评论 -
Java中对图片文件的类型的获取
系统中某些图片可能已经被修改了后缀名,所以不能只是对后缀名进行判断。下面的示例代码就是如何判断一个图片的具体类型的。 public static void main(String[] args) { File f = new File("c://test.jpg"); if (f.exists()) { System.ou原创 2007-11-28 10:22:00 · 11316 阅读 · 2 评论 -
java.util.ConcurrentModificationException异常的解决办法
在对Map或者Collection进行操作时,容易出现这个异常。但是解决方法,说来却简单。代码示例: while (keyIterator.hasNext()) { String key = keyIterator.next(); if (……) { keyIterator.remove(原创 2007-11-28 14:17:00 · 1933 阅读 · 0 评论 -
Java重定向System.out和System.err
继承PrintStream类: public class TeeStream extends PrintStream { PrintStream out; public TeeStream(PrintStream out1, PrintStream out2) { super(out1); this.out原创 2007-11-28 10:26:00 · 5204 阅读 · 0 评论 -
javax.xml.transform.TransformerFactoryConfigurationError
源代码:Transformer xformer = TransformerFactory.newInstance().newTransformer();导致javax.xml.transform.TransformerFactoryConfigurationError发生。经过仔细研究,发现原因:jdk与tomcat之间的关于TransformerFactoryImpl类的冲突造原创 2008-02-15 17:11:00 · 3373 阅读 · 1 评论 -
Java中进行xslt转换的示例代码
package blog.csdn.net.arui;import java.io.*;import javax.xml.transform.*;import javax.xml.transform.stream.*;public class BasicXsl ...{ /** *//** * This method applies the xsl file to in file原创 2008-02-13 13:51:00 · 5872 阅读 · 1 评论 -
Java代码混淆器ProGuard
需要对Java代码进行混淆,以增加反编译的难度。Java混淆器种类不少,不过原理基本都类似,而且目前的各种混淆器效果都并不理想。如果说真正想要效果好的,恐怕就要花钱购买专业级别的了。于是去了ProGuard网站(http://proguard.sourceforge.net/),下载了最新版本,看了看文档。用ProGuard自带的GUI试着混淆了Java代码,成功。继续看看ProGuard自带原创 2007-11-22 14:09:00 · 3230 阅读 · 1 评论 -
Java中网络操作的开源库CommonsNet
Apache的Commons Net是一个著名的Net库。详细内容参见官方网站:http://commons.apache.org/net/。从官方网站的描述来看,Commons Net由于是网络库,所以支持的功能比较多,包括FTP、NNTP、SMTP、POP3、Telnet、TFTP、Finger、Whois、rexec/rcmd/rlogin、Time (rdate) and Daytim原创 2008-05-15 13:41:00 · 2371 阅读 · 0 评论 -
CruiseControl结合DJunit产生Coverage报告
CruiseControl和DJunit都不仔细描述了,前面有不少Blog已经说明了很多了。CruiseControl可以和很多插件完美集合,包括CheckStyle、Emma等等。最新的DJunit包含了JCoverage包,可以生成测试覆盖报告。正常情况下,直接在Eclipse里使用,会生成报告,没有发现问题。把生成报告的操作写到Ant文件里,然后用Ant命令行来生成报告,也没有原创 2008-05-26 11:43:00 · 2389 阅读 · 0 评论 -
MD5&SHA加密util类(Java)
MD5&SHA加密util类。原创 2010-07-28 17:01:00 · 4481 阅读 · 0 评论 -
Java开源的FTP Server——Apache FtpServer
<br /> <br />记得以前喜欢用Serv-U搭建FTP服务器,给别人免费提供一些电影啊之类的。<br /><br /><br />现在又用到FTP服务器了,这次不仅仅是要用,还要能够改它的代码,好符合我们自己的需求。这就接触到了Apache FtpServer。<br /><br /><br />Apache FtpServer是一个基于Apache MINA(一个高性能的Java异步并发网络通讯框架)开发的FTP 服务器。既可以嵌到Java应用中使用,也可以做为Windows服务或Unix/Lin原创 2010-07-20 16:03:00 · 6320 阅读 · 0 评论 -
RTP协议
<br /> 实时传送协议(Real-time Transport Protocol或简写RTP,也可以写成RTTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。<br /> <br /> <br /> RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它原创 2010-07-14 14:10:00 · 1820 阅读 · 0 评论 -
Java读取Word/Excel/PDF可以使用的第三方包
读取Word文档:tm-extractors.jarhttp://www.textmining.org/ 读取Excel文档:jxl.jarhttp://sourceforge.net/ 读取PDF文档:PDFBox.jarhttp://www.pdfbox.org/原创 2009-08-23 17:37:00 · 2010 阅读 · 0 评论 -
Java中的ArrayList的容量
List接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。ArrayList继承于List接口,除继承过来的方法外,还提供一些方法来操作内部用来存储列表的数组的大小。每个ArrayList实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增长。并未指定增长策略的细节,因为这不原创 2008-12-19 13:32:00 · 17926 阅读 · 3 评论 -
CheckStyle使用java.header文件的问题
基本步骤:1.建立项目,编译通过。2.使用CheckStyle进行检查(自定义的规则需要java.header文件)。此时没有放入java.header文件,检查结果全部OK。3.期间填加checkstyle用的java.header文件。并刷新Eclipse工程。4.使用CheckStyle再次进行检查。检查结果全部OK。 导致问题:没有java.header文件的话原创 2008-12-19 11:10:00 · 2056 阅读 · 0 评论 -
SVN使用遇到的问题两则
1.出现Attempted to lock an already-locked dir错误在eclipse里提交或者更新文件,出错。 错误提示:Attempted to lock an already-locked dir svn: Working copy E:/eclipse32/workspace/MyProject/ locked 简单解决方法:显示所有隐藏文件,直接进入到上原创 2008-11-13 11:22:00 · 1831 阅读 · 0 评论 -
JVM配置参数中文说明
JVM配置参数中文说明:-----------------------------------------------------------------------1、-Xmixed mixed mode execution (default)混合模式执行2、-Xint interpreted mode execution only解释模式执行3、-Xbootclasspath:set sear原创 2008-10-08 11:22:00 · 1487 阅读 · 0 评论 -
正则表达式复习
字符 描述 / 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,n 匹配字符 "n"。/n 匹配一个换行符。序列 // 匹配 "/" 而 "/(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 /n 或 /r 之后的位置。 $ 匹配输入字符串原创 2008-09-26 11:08:00 · 1904 阅读 · 1 评论 -
Java反编译工具――Jode
Java反编译工具――Jode。没什么可说的。支持Eclipse插件形式,可以直接去下面网址update。http://www.technoetic.com/eclipse/update原创 2008-06-06 16:21:00 · 1792 阅读 · 0 评论 -
DJunit对于Virtual Mock的支持
Java中编写单元测试,复杂一些的技术包括Stub和Mock。如今的Mock技术真的是越来越成熟了,甚至在Mock的概念上衍生出了Virtual Mock的概念。目前很多Java项目编写单元测试都会涉及部分Virtual Mock的技术。DJunit是基于JUnit开发的开源的测试框架,可以集成到Eclipse,支持很多Mock方法,支持测试覆盖率查看等等。详细的可以看http://en.wi原创 2008-05-23 12:43:00 · 7145 阅读 · 0 评论 -
再谈日文编码字符显示长度的计算
将某个日文字符显示出来,无外乎就是去判断是半角还是全角字符,半角的占用一个字节的位置,全角的占用两个字节的位置。最初的想法就是直接根据getBytes("UTF-8").length来判断。结果经过仔细的测试,发现有一小部分的字符并不符合预期的规律。还是老老实实的拿出UNICODE编码表,把日文字符所有的情况都“扣”了出来。调查过程中发现getBytes().length这个方法挺有意思的。这个方原创 2007-11-12 11:49:00 · 2713 阅读 · 0 评论 -
JNI程序如何检测C代码的内存泄漏
Java调用C的JNI程序很容易出现内存泄漏问题,因为Java不负责回收C中的内存,所以必须自己保证C代码没有内存泄漏问题。经过测试,memwatch就可以直接用于JNI中的C代码的内存检测。程序在JNI调用后,就会在目录下生成一个文件,里面记录了内存数据。结论:JNI中C代码的内存检测和单纯的C代码的内存检测没什么不同,不需要做特殊处理。原创 2007-09-22 14:48:00 · 3684 阅读 · 0 评论 -
java中utf8编码的还原
一些字符被转换成了utf8编码,类似这样:%E3%81%82%E3%81%84。如今想对其进行还原,就是得到初始的字符串。刚开始想到的,就是利用getBytes和new String重新构造出来新的编码的字符串,可是结果不能成功。偶记得C#当中有一个现成的方法可以做这样的事情,好像在System命名空间下,于是在java的api doc中寻找,希望也有现成的,最后还是没有找到。可能真的没有吧,于原创 2007-08-07 15:03:00 · 2101 阅读 · 0 评论 -
将软件的菜单进行多国语言化
现在的软件,大都有一个趋势,就是多国化。写一个软件,要考虑到其它非本地用户使用的问题。其中最重要的,就是将菜单进行多国语言化。首先需要准备properties文件,有几种语言,就要准备几个文件。例如,英文的Resources_en.properties,中文的Resources_zh.properties,日文的Resources_ja.properties,等等。其中的内容保存原创 2006-07-20 19:35:00 · 1376 阅读 · 0 评论 -
判断一个字符是双字节还是单字节
对于字符串的处理,经常会遇到需要判断字符是双字节还是单字节(或者全角和半角)的情况,因为双字节字符和单字节字符在屏幕上所占用的空间是不同的,通常情况下双字节字符占用的空间是单字节字符的两倍。比如,一个字符串,可能包含中文英文数字和各种符号等等,将其输出到屏幕上,需要根据长度判断在哪里进行截断(网页编程中经常用到)。最常见的两种方式。一种是通过String的getBytes().length来判断原创 2006-11-03 08:26:00 · 12023 阅读 · 1 评论 -
将Java包程序转换为Exe可执行文件
大部分Window用户还是比较习惯直接执行Exe文件,而不习惯先进行相关路径等等配置,然后进入命令窗口执行某个Java包程序。尽管可以写一个bat文件来解决这个问题,但是这就需要程序员对bat文件的格式比较熟悉,而且用户不一定喜欢这种方式。JSmooth是一款免费将JAR包转换为Exe文件的工具。使用方法一般是先将开发的Java程序制作成包含Manifest的JAR包,然后使用JSmooth将原创 2006-10-20 21:20:00 · 5488 阅读 · 1 评论 -
Java学习资料的汇总
1. The Source for Java Technology Collaboration(JAVA开发的官方网站) http://www.java.net/ - 外文 2. jGuru: FAQ Home Page 推荐 http://www.jguru.com/faq/ - 外文 3. Developer.com: An EarthWeb site http://www.d转载 2006-09-20 21:06:00 · 5137 阅读 · 0 评论 -
关于java.net.InetAddress类的getHostName方法
java.net.InetAddress类的getHostName方法用来获取某一IP地址的主机名。返回结果:此IP地址的主机名;如果安全检查不允许操作,则返回IP地址的文本表示形式。 1.如果不能立即获取主机名,程序会继续尝试一段时间,若干时间后标志为失败,然后返回IP地址。 2.由于并不是总能成功获取,因此可能会出现长时间等待的情况,这个时间大概有十几秒钟。在编写实时的网络程序时,应该注意这个原创 2006-09-08 22:23:00 · 2750 阅读 · 0 评论 -
System.getProperty()参数大全
java.version java Runtime Environment version java.vendor Java Runtime Environment vendor java.vendor.url Java vendor URL java.home Java installation directory java.vm.specification.version转载 2006-09-02 09:22:00 · 1828 阅读 · 2 评论 -
XSLT学习笔记
XSLT是XML文档转换语言,虽然不能直接定义显示方式,但可以通过将XML文档转换成能够显示的格式,以达到指定样式的目的。由于XSLT的目的是指定样式,因此并不能说是完全的通用转换语言。目前来说,XML文档转换的许多场合下都可以使用XSLT。创建XSLT样式表,其中心就是定义模板。XSLT样式表可以说是模板规则的集合。模板规则使用xsl:template元素进行定义。它的属性包括match原创 2006-02-22 19:21:00 · 3230 阅读 · 0 评论 -
Eclipse3.0.0插件安装解决方法
按照以前的方法,将下载的插件文件解压缩,分别拷贝到Eclipse对应的features和plugins目录,重新启动Eclipse,结果插件没有被正确安装。插件的配置信息没有自动的被保存下来,也许是个BUG吧。最简单的解决方法,拷贝以后将Eclipse的configuration/org.eclipse.update/目录下的platform.xml文件删除,重新启动Eclipse以后,就会自原创 2005-12-17 14:11:00 · 1903 阅读 · 0 评论 -
JAVA常见面试问题(收藏)
第一,谈谈final, finally, finalize的区别。 final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为fi转载 2005-06-12 19:14:00 · 5962 阅读 · 0 评论 -
捕获IP数据包的Java类Jpcap
Jpcap是为JAVA编写的类包,提供很多类和接口,能够获得IP数据包。 *Description Jpcap is a Java class package which enables to capture and send IP packets from Java application. This package uses libpcap and原创 2005-06-02 20:36:00 · 7099 阅读 · 0 评论 -
开启新的项目——基于电子邮件的知识管理系统
一、问题的提出电子邮件系统作为一种日益普及的基于internet的交流手段,每天都承载着大量的数据交换。这些交换的数据中包含大量有用的信息(知识),鉴于目前电子邮件点对点交流的特点,这些信息只能保存在通信的各方,不能得到充分的利用。对于企事业单位来说,电子邮件作为日常内部和外部交流的重要手段,很多重要的信息都包含在电子邮件中,而这些信息是企事业单位的宝贵财富,分散在个体不能共享,是一种资源的浪费。原创 2005-05-23 15:19:00 · 2468 阅读 · 2 评论