5、用Calendar或Date来做日期计算

  用JDK中的Date和Calendar来做复杂的日期和时间计算简直是浪费生命。内建的类仅仅支持基本的操作,而且一点也不直观。我们还是用JODA Time这样的先进库来代替吧,除非您还在用x86编译器来写Web应用,因为除此之外你也享受不到用JDK的Date和Calendar之类带来的乐趣。

  6、配置会话(Session)复制

  2000年早过去了,现在所有分布式缓存产品和项目都已用NoSQL的键值对存储方式重构过了。如果需要带状态的客户端,那用AJAX/Javascript好了,把HttpSession丢一边去吧,这样的话可以大大提高应用程序的可靠性和可扩展性。我们也不用因为隐藏在深处的一连串异常爆发而半夜起来一路颠簸了。可别误会了,半夜颠簸挺好的,至少我老婆因此买了辆小货车(虽然我更喜欢我那辆Ninja 650机车),不过老实说,是时候换成更好、更快、更聪明的东西了。

  7、自己写排序算法

  这是让人厌恶的,我个人对排序算法并不留意。写排序代码的人要么是不知道Java已经提供了你所需的排序算法(或者自己写了个排序的第三方库文件),要么根本不知道Comparable和Comparator如何工作。赶紧去补充一下功课,以后再也不要自己写排序自寻烦恼了。

  8、自己写链表,栈,队列等

  必须承认,写个基本的链表挺容易。Wikipedia有个关于链表的不错的页面(http://en.wikipedia.org/wiki/Linked_list),上面有含代码的内容,完全可以直接复制粘贴,不过何苦要这么做?也许我是挺懒的,不过我更愿意用一个已经通过测试的数据结构,而我也是花过不少功夫才决定这么做的。

  9、自己写池,集合或通用的并发代码

  认识Doug Lea大师。崇拜大师,那支持大师的java.util.concurrent包吧。大师可不是凡人,人家可的以高度并行,因此您想得到的并发问题对策,大师也早已想到。

  10、处理日志框架

  你用什么词来形容Commons logging、SLF4J之类?答案是:烂!几年前Sun不肯简单地把Log4J的接口引入JDK导致了这个问题,Oracle倒是可以把java.util.logging做得好点。我宁可大家都用java.util.logging这个烂标准,也不要有人搞出个伟大的其他日志候选项。这像有人进行下面的对话:

  “我有可口可乐”

  “喝百事怎么样?”

  “管它呢,反正喝了都胖,有什么区别?”