设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

展望Java开发:把握现在,把握未来

2008-4-7 09:18| 发布者: joejoe0332| 查看: 3901| 评论: 1

  把网撒开

  然而, Groovy并不是2007年动态语言阵营的唯一参与者。2006年发布的Java 6版本引入了一个与动态语言交互的标准API,很多Java开发者在去年临近年底才开始体验。对该API进行旗舰式集成的是Rhino。但是,看起来在 Java7版本发布时还会有更多集成进来。

  最早进行集成的语言之一不容置疑是JRuby,1.0版本的发布和令人咋舌的比Ruby本身运行速度还快的实现,使得它备受瞩目。像 Groovy一样,由于可以使用更加宽松的语法,加入了一些特殊机制的JRuby(它可以使 RubyJVM里运行,且与正常的Java对象交互)使Java开发更加简单。例如,使用Ruby可以增强标准的对象,象用Ruby的String操作会 更加容易。在标准的Java里,检查一个String实例是否为空值可能要做象如下方法的一样的操作(这是一个Apache commons-lang的 isBlank实现)。

  

     public static boolean isBlank(String str)

     { int strLen; if (str == null || (strLen = str.length()) == 0)

     { return true; } for (int i = 0; i < strLen; i++)

     { if ((Character.isWhitespace(str.charAt(i)) == false))

     { return false; }

     }

    return true;

    }

  在Java 里,String是一个final类,所以你无法为了让String类型支持一个象isBlank的方法而扩展它。后果是,你不得不依赖第三方类库,象 common-lang。有了Ruby,你就可以在Ruby的String上另外定义一个blank?方法,如:

  class String def blank? empty? || strip.empty? endend

  实际上,Ruby式的动态允许运行时添加额外的行为到核心类库或任意对象(象给String增加一个blank?方法)。更进一步,JRuby可以进行反作用对核心Java对象增加方法。因此,稍一施法就可以给Java String类添加一个blank?方法。

  开放Java核心

  去年Java的开源意味Java平台的发展不再由Sun核心工程师们说了算了:现在它的前途由我们掌握了。对Java类库,Javac,甚至JVM本身都采取GPL协议,OpenJDK保证将会开创一个创新的周期。实际上,我们已经看到了。

  在2007 年十月,一个名为Multi-Language VM的项目在OpenJDK旗下开展了。这个项目旨在通过修改Java的底层架构,实现“以JVM特性为原型,高效支持Java之外的语言”。很明显,这 项目结合了去年最令人振奋的两个发展潮流,也就是围绕在动态语言的热衷和OpenJDK,这宣称我们处在了一个Java核心创新的时代。

  Sun 的开放当然不是从OpenJDk开始的,而是Glassfish,作为Sun支持的开源应用服务器,它在2007自始至终获得了社区更多的追捧。最近,我 们无法忽略Sun对MySQL AB的收购, MySQL背后的公司是MySQL AB,而MySQL似乎是当今最流行的开源数据库。

  所有这些发展都表明Java的鼻祖采取了一种受开源软件很大影响的商业模式。这意味我们在2008或者更远将看到Java平台更多的开放。当然,这会对Java生态系统的商业方面产生深远影响。相比最近Oracle以70十亿美金收购BEA,这似乎很绿色,很健康。

  Google flexes

  移动Java领曾经变的不景气,但是临近2007年尾时,却因Google的Android平台的发布而重焕青春。Android的目标是为新一代移动设备引入应用软件,且运行在由Google主导的开源操作系统之上。虽然Android是一个完整的平台(很像Java),但是构建Android应用程序的SDK却是建立在Java之上。

  此外,Android的Java与J2ME的Java 截然不同。实际上,在JVM层面,Android的JVM就已相当独特了。除了运行专门为Android而设计,高度优化的字节码格式的代码,它不可以运 行标准Java字节码。移动设备上运行不同实现的Java意味这我们将可以看到一些有趣的应用程序――当然,这也仅进一步说明了Java的无处不在。

  2007 年Google在Java世界移动领域之外也进展的很顺利。但是,备受关注的是Guice的发布,Guice是一个基于Java 5注解和范型的依赖注入开源框架。虽然IOC市场上的佼佼者还是Spring,因其摒弃XML文件,提倡使用注解和Guice本身的Module类型,注定了Guice在公开发布时就是一个先行者。

  考虑到Google对第二代IOC框架的影响和Google AdWrods本身的基础架构都是依赖Guice的,Guice在来年很有可能将得到更多的关注。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部