科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件JDK1.5使用总结

JDK1.5使用总结

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

JDK1.5.1出来了,是不痛不痒的Debug版本。

作者: yanwp 来源:CSDN 2008年5月30日

关键字: 总结 JDK1.5 python 软件

  • 评论
  • 分享微博
  • 分享邮件
  JDK1.5.1出来了,是不痛不痒的Debug版本。
    感觉JDK1.5最重要的革命是Annotations,而其余的部分,如Generics和Concurrency和JVM Tools对于某些OpenSource或许是重要的武器,但对于我们这样的星斗小民却没什么感觉。再其余的的就是些小改动了。
    又读了一遍〈Java 1.5 Tiger: A Developer's Notebook〉,结合之前的应用,总结有用的新特性如下:
 
0.Annotations
    最最重要的功能,相信是和AOP一道,打破传统C/C++樊篱的语言革命武器。相比之下,动态语言只是简化了代码量,而没有在编程架构上有所突破。
 
1.AutoBoxing
     这是JDK1.5唯一让小市民们有感觉的新特性,终于不用再Integer和int间显式转换了,但这本来就是天经地义的事情。
 
2.Generics
   感觉像给所有容器类加了一个强类型的锁,在Python这样的动态语言大行其道的世界里,强类型似乎不那么吃香。
   Generics好处就是Type Safe且循环的时候不用作类型转换了。不好就是所有定义和声明的地方都要加上类型定义,使得总代码量反而增加了。如果用旧式循环语法,连Iterator都要声明类型。
   又或者,可以尝试写自己的泛型类,这对某些Open Source Util类或许有帮助,但自己的业务类,只会在OO无法解决之下,才会考虑使用。比如
    public class  Box <T>
    {
      private List<T> contents;
    }
3. The for/in statement
   代替了interator。但除了几个基本类型,必须要用泛型声明Collection。
 
4.枚举
  枚举可以代替以前批量的
   public static final a=1;
   public static final b=2;
   更可以代替更不守规矩的直接使用String "A","B"和int 1,2
   代替第2种情况的好处自不待言。statifc final a=1 因为还是不能限制程序员偷懒直接使用int,所以输与enum。而且enum的代码量更少,还可以做其他的扩展。
  1.Base
    public enum Grade {A,B,C};
    Grade.A.toString()="A";
    Grade.valueOf("A") returns Grade.A;
    toString()方法可以重载,但需要同时重载valueOf()方法
  2.通常,枚举都是inline定义的,很少自己单独占一个class文件
  public class Downloader 
  {
     public static enum DownloadStatus { INITIALIZING, IN_PROGRESS, COMPLETE };
  }
   
    3.遍历
   Grade[] gradeValues = Grade.values( );
   for(Grade g : Grade.values( ))
   { 
     out.pring(g);
   }
    4.EnumMap()/EnumSet()
    antMessages.put(AntStatus.ERROR,   "Error occurred.");
    5.扩展
       复杂还没细看
 
5.静态导入
   简化了工具类的使用,比如StrUtil.isEmpty()可以写成isEmpty()了,而且可以只import指定的函数
   另外还可以静态导入Enum,比如Status.A可以写成A了,但也引起了阅读的模糊。
 
6.其他特性
   更好的UniCode支持,和JDBC RowSet。
 
7.对我有用的特性到此为止
  Threading, JVM Tools和Swing(但愿ArogUML等有了新的Metal Ocean风格后会漂亮一些),Queue还有Network和Secuirty的小改进没有用得上的场合,
  C style的Formater不想用,而可变参数其实在JDK1.4下可以传入的时候就用一个List完成,而不是传入的时候用String...,到了函数里面才把String...转回List
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章