zoukankan      html  css  js  c++  java
  • 2010年InfoQ中文站Java社区回顾:让Java飞一

    纵观2010年,Java世界可谓变化万千,有关Java归属、走向、领袖去留、专利权等等问题在社区中引起了巨大反响,给人一种“飘忽不定”的感觉。InfoQ密切关注其发展动态,现将中文站Java社区在2010年的精华内容整理出来,让读者一睹为快。

    Java动态

    2010年1月底,在经过了将近9个月的漫长等待后,Oracle终于获得欧盟的批准成功完成对Sun的收购。Oracle宣布了对Sun技术与平台的未来规划。简单概括为:Oracle计划集成Sun HotSpot与Oracle JRockit Java虚拟机,打算“振兴”Java开发者社区并将Java编程模型的触角延伸到新近涌现的应用开发范式上来。比如说,Oracle计划增加模块化特性、为Java SE增加多核处理支持、为Java ME增加新的特性,如多点触摸等。Oracle将会一如既往地支持MySQL数据库的发展,将MySQL看作是对其核心数据库技术的有益补充而非竞争对手。

    2010年4月初,“Java之父”James Gosling通过其新博客宣布已经从Oracle离职了。他还没有寻找新的工作,在个人简介中称自己是“快乐的失业者”。在其博客中,他说到“在开始找工作之前,除了好好休息一下,我还不知道接下来要干什么”。

    2010年8月,Oracle就Android操作系统对Google发布了一项版权与专利诉讼,这开启了硅谷的两家公司在智能电话软件平台上的法律之争。此次诉讼主要内容是Google侵犯了Oracle的7项专利,这些专利是年初Oracle 收购Sun Microsystems时所获得的。所有这些专利都与Java有关。此次诉讼也标志着Oracle在使用Java专利上的首次尝试。Oracle CEO Larry Ellison认为收购Sun是正确的主要原因在于这使得Oracle能够控制Java了。Google随后对此做出了反驳:“Oracle选择以无事实根据的法律诉讼攻击Google和开源Java社区,我们感到失望。开源Java社区的发展不受任何一家公司的约束,每天都在致力于让世界变得更加美好。我们将坚决捍卫开源标准并继续与业界合作发展Android平台”。

    模块化、集成性和可维护性是未来Java SEJava EEJava 嵌入式平台的主要目标。2010年9月,Mark Reinhold、Roberto Chinnici和Greg Bollella在JavaOne 2010大会上阐述了JSE、JEE和Java嵌入式平台的新技术和新特性。Mark谈到了一些新的项目和特性,如Coin 项目PLambda项目DaVinci Machine项目(JSR 292)和Jigsaw项目。这 些功能将随着Java SE 7(计划2011年中发布)和Java SE 8(2012年中期)发布。他同时提到了其他特性如在Collections API新的类(Predicate和Extractor)中使用filter和map操作符添加块数据操作逻辑,以通过Lambda表达式简化代码。另一个语言新特性是给类似Collection的接口添加了默认方法。

    2010年10月,Apple发布了Mac OS X 10.6的Java更新版本,但是表示未来不会继续维护该平台上的Java。随着Java for Mac OS X 10.6 Update 3的发布,Apple公司移植到Mac OS平台的Java运行时将不再鼓励使用。开发人员在未来版本的Mac OS X系统中不应该依赖Apple提供的Java运行时。Mac OS X 10.6 Snow Leopard和Mac OS X 10.5 Leopard平台上的Java运行时将在产品的支持周期内继续得到支持和维护。这意味着,Apple可能在未来对Java停止支持,不鼓励用户在Mac平台上使用Java应用。不仅如此,有国外消息称,在Mac App商店即将发布的开发人员规范中,有一条准则明确指出:“采用不受推荐的技术(如Java)开发的Mac应用将被拒绝在网上商店销售”。

    2010 年12月,Apache软件基金会宣布离开JCP执委会,这也意味着他们彻底与JCP断绝了关系。根据他们此前围绕着JCP的声明以及关于Apache Harmony TCK的纷争,大多数观察家都认为Apache的这个举动应该在意料之内。在Apache软件基金会发布这个声明前,有很多人已经选择了离开,比如十月份离开的Doug Lea,他说 “我认为JCP已经不再是可信赖的规范和标准了”,还有最近离开的Tim Peierls,他对Java SE JSRs投了反对票。这个人们意料之中的决定反映出了这样一个事实:Oracle“没能履行其在JSPA中的职责”——为Java SE TCK提供合理、无差别的许可。事实上,Oracle最近在法庭上承认他们过去一直支持Apache拥有开放的TCK,同时声称“符合要求的大学、学院、 非营利组织以及个人”可以免费使用许可。

    Java技术

    即使是Java系统也会变成“遗留”系统。每当我们想起遗留系统时,就会想起那些存储着大量文件数据并只能用COBOL访问的嘎吱嘎吱作响的大型主机。但事实是,Java已经是一门具有15年历史的开发语言,用Java写就的成千上万的系统已经成功运行了十年甚至更久。因此,考虑到许多读者都会工作在某个遗留的Java系统上,作者根据自己的经验特地攒了这八个技巧,来帮助团队更新和激活他们的遗留Java应用。

    Hibernate是最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。在你的项目中引入Hibernate并让它跑起来是很容易的。但是,要让它跑得好却是需要很多时间和经验的。通过作者的使用Hibernate 3.3.1和Oracle 9i的能源项目中的一些例子,本文涵盖了很多Hibernate调优技术。其中还提供了一些掌握Hibernate调优技术所必需的数据库知识。

    Tellurium 自动化测试框架是由方剑在2007年6月创建的用于测试Web应用的框 架,并在2008年6月移步到Google Code成为一个开源项目。项目的核心已经历时两年,并繁衍出了多个子项目,包括:UDL、Core、Engine、Widget扩展、Maven Archetype、Trump、Tellurium IDE、TelluriumWorks以及参考项目。这个框架是从Selenium 框架发展而来,但又具有不同的测试理念。大多数Web测试框架,比如Selenium,主要致力于单独的UI元素。而Tellurium恰好相反,它把多个UI元素看作一个Widget整体,并将其称作UI module。

    Java 类文件中包含的字节代码可以被不同平台上的JVM所使用。Java字节代码不仅可以以文件形式存在于磁盘上,也可以通过网络方式来下载,还可以只存在于内存中。JVM中的类加载器会负责从包含字节代码的字节数组(byte[])中定义出Java类。在某些情况下,可能会需要动态的生成Java字节代码,或是对已有的Java字节代码进行修改。这个时候就需要用到本文中将要介绍的相关技术。

    本文将通过具体的实例(使用Scala、Spring和JPA编写)阐述如何借助于隐式转换和特征(traits)等Scala的强大概念来增强Spring应用。此外,本文还将介绍如何平滑填充Java框架与Scala之间的沟壑。

    内存屏障,又称内存栅栏,是一组处理器指令,用于限制对内存操作的顺序。本文介绍了内存屏障对多线程程序的影响,将研究内存屏障与JVM并发机制的关系,如易变量、同步和原子条件式。

    过去几年,Java模块化一直都是一个活跃的话题。从JSR 227(现已废止)到JSR 291,以及正在进行中的JSR 294,模块化看起来是Java进化过程中的必经一环。即便是基于JVM的未来语言,比如Scala,也考虑了模块化的问题。那么,模块化意味着什么?为什么要关注它呢?专题文章分别从入门静态模块化动态模块化声明式模块化四个方面详细分析该问题。

    把大型系统移植到OSGi架构上常常意味着解决复杂的类加载问题。这篇文章专门研究了面向这个领域最难问题的几个框架:有关动态代码生成的框架。这些框架也都是些超酷的框架:AOP包装器,ORM映射器以及服务代理生成器,这些仅仅是一些例子。

    Java社区迷你书

    Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。本书内容全面而系统,Maven的原理、使用方法和高级应用尽含其中;注重实战是本书的另一个特点,不仅在各个知识点都辅有大量的小案例,而且还有一个综合性的案例贯穿全书。如果你想使用Maven,或正在使用Maven,本书将给你绝佳的指导。

    Grails是基于Java和Groovy的快速Web开发框架。得益于Grails提供的脚手架和“惯例优于配置”,初次接触的新手会非常惊讶地看到可以快速地搭建 并运转起一个以页面为中心的MVC Web站点。高级的Web开发者则往往对可以轻易地利用他们现有的Spring和Hibernate经验而惊喜万分。《Grails入门指南》可以加速你对这一现代Web框架的了解。诸如LinkedIn、Wired、Tropicana和Taco Bell这样的公司都已经在使用Grails了。你是否也准备好开始了呢?

    最后,InfoQ中文站Java社区感谢读者长久以来的厚爱和关心,在2011年我们将努力向大家奉献更具价值的新闻和文章,敬请关注。

    [ 关键词:Java 原文/来源链接 ]


    ---------------------------------------------------------------------------------------------------------------------------------
    copyright:http://www.cnblogs.com/anee/
  • 相关阅读:
    如何使用log4net记录日志
    js鼠标左右键,键盘值
    MagicAjax的内部原理初探(一)
    关于VS2005内置web服务器和IIS的区别问题(讨论,收集)
    在Linux中使用C#
    方便你的测试(TestDriven.NET)
    转载:数据库sharding(scale up to scale out)
    单元测试--爱你不容易
    你期待已久的ASP.NET Atlas(一)[翻]
    Ajax底层代码简析(可直接用的框架)
  • 原文地址:https://www.cnblogs.com/anee/p/2675856.html
Copyright © 2011-2022 走看看