随笔分类 -  Java

JDK中的一个有趣的变量命名
摘要:命名对于编写代码来说,实在太重要了。良好的命名,起到代码自描述的作用,有时候比注释的效果还要好。今天在阅读JDK 1.5 Beta2的源码,发现一个有趣的命名: //位于java.lang.Enum.class中 Class clazz = getClass(); Class zuper = clazz.getSuperclass();在Java中,class和super都是关键字,如果是我,... 阅读全文

posted @ 2004-07-19 22:56 温少 阅读(1022) 评论(1) 推荐(0) 编辑

C++、Java和C#中的异常处理
摘要:C++中异常:1、可以抛出任何异常。虽然标准C++定义了std::exception类,但throw的对象可以是任何对象。包括int、char*等。例如: throw 100;try { // do something } catch (int num) { // do something } 但是,C++标准库中抛出的所有异常,都是派生自std::exception类。std::excepti... 阅读全文

posted @ 2004-07-19 21:06 温少 阅读(4698) 评论(4) 推荐(1) 编辑

异常安全在Java和C#语言中的简化
摘要:C簇语言中,C++首先在引入异常。在C++标准委员会投票之时,英国代表提出了反对意见,他们说异常差不多破坏了每个程序。如下的代码片段很好地展示了异常是如何把事情搞乱的 void f(){ T* p = new T; // 一些处理 delete p;} 如果处理过程引发异常抛出,那么语句“delete p;”便不会被执行,这就导致了内存泄漏。为解决这个问题,有两个提议,“智能指针”和垃圾收... 阅读全文

posted @ 2004-07-18 22:19 温少 阅读(1694) 评论(0) 推荐(0) 编辑

关于for和foreach,兼顾效率与安全
摘要:对于数组的访问,是应该使用for的方式的,因为这样性能更高。以下代码是恰当的。 Object[] objArray = ...;int objArrayLength = objArray.Length;for (int i = 0; i = 0; --i) { index = (int) waitForDeleteList[i]; globalList.Rem... 阅读全文

posted @ 2004-07-17 23:42 温少 阅读(11496) 评论(8) 推荐(3) 编辑

关于Dictionary元素的遍历
摘要:以前我面试别人的时候,我经常会问应聘者,如何在C#中遍历Hashtable中的元素,每次遍历时,需要得到Key和Value。一直以来,也经常有人问这个问题。包括Java下Map的元素的遍历。我在水木清华的Java版也回答过这个问题。.NET平台下: IDictionary dictionary = new Hashtable();foreach (DictionaryEntry entry i... 阅读全文

posted @ 2004-07-16 18:59 温少 阅读(13679) 评论(8) 推荐(0) 编辑

Java中Uuid的实现
摘要:1、一种Native的实现,产生真正的Uuid,好像用的人挺多的。http://www.doomdark.org/doomdark/proj/jug/开源的,LGPL协议。是采用了Native的方式实现的,不过提供了不同的平台的实现。包括:FreeBSD_x86Linux_x86MacOSX_ppcSolaris_sparcWin_x86使用方式如下: import org.doomdark.u... 阅读全文

posted @ 2004-07-15 01:49 温少 阅读(8605) 评论(2) 推荐(0) 编辑

一个很不错的开源网站
摘要:sourceforge的一个分支:专注于Java,有一些不错的项目。http://www.objectweb.org/这里有开源的XPDL的Parser和工作流服务器的实现。对于希望了解WFMC标准的实现的朋友,还是有帮助的。工作流服务器http://forge.objectweb.org/projects/shark/流程定义工具http://forge.objectweb.org/projec... 阅读全文

posted @ 2004-07-14 22:07 温少 阅读(5499) 评论(6) 推荐(0) 编辑

JDBC和ADO .NET
摘要:我最先学习.NET,使用了大约三年后,就转向在Java上开发程序。刚开始使用JDBC时,觉得其接口比较奇怪,奇怪的地方如下: 1、PreparedStatement派生自Statement,但是Statement中的一些public的方法,例如execute(String sql)等方法,使不能被PreparedStatement的实例调用的。 2、其参数的计数是从1开始的,而不是我们习惯使用的... 阅读全文

posted @ 2004-07-07 22:42 温少 阅读(3420) 评论(0) 推荐(0) 编辑

一个很好的Java查BUG工具
摘要:经一个朋友介绍,发现了一个很好的Java环境下的查错工具findBugs。这个工具的真的很棒,使用这个工具发现了我代码中一些小BUG,人毕竟是人,就是会犯错误,工具比人强。令人吃惊的是,这个工具检查可能导致Connection、Statement、ResultSet这些资源类忘记关闭的BUG,这个功能特别强。例如: Conneciton conn = ...;Statement stmt = co... 阅读全文

posted @ 2004-07-07 22:31 温少 阅读(1956) 评论(3) 推荐(0) 编辑

导航