与以往不同的是,2006年对于Java是具有决定性意义的一年。对于Java命运最重要的是Sun决定以GPL许可方式发布其Java实现,它已经发布了HotSpot VM、javac编译器、Java ME。而更多的源代码将会逐渐在明年开放..这是许多人在一年前不敢想像的,更没有人想到Sun会选择GPL
但未来会怎样?这是一个大问题。尽管今年发生了如此多的大事,但这些事情将会如何引导发展方向? 似乎并不明显。在这篇文章中,我们将列出这些主要事件,并指出它们在2007年的发展预期。
开放源代码Java
2006:Sun采用GPLv2发布其Java VM和编译器
2007:期待类库、关注衍生版Java
采用GPL发布Java编译器和VM表明Sun对于开放源代码Java是认真的,但要判断它的结果还为时过早。其一,Sun发布的是早期版Java SE 7,Sun不希望开放源代码影响在12月初发布的Java SE 6。Sun发布的代码还缺乏打造一个有用的Java环境所需要的类库。
提供类库的挑战之一是,必须从数百万行代码中找出Sun可以在Java中使用、但无权以GPL方式发布的代码。其中一些代码已经有了开放源代码版替代品,但是,Sun还必须重新许可、编写、放弃一些代码,这是不可避免的。
除此之外的一大问题是,在采用GPL后,人们会如何“处理”Java。除了与在一些版本的Linux中包含Sun的JVM所牵涉的“政治性”问题和将JVM移植到Sun没有兴趣这么做的平台上外,人们还会做出一些不可预测的事来。HotSpot的动态运行编译器会服务于其它语言的runtime吗?开发人员会通过修改编译器或者增添和删除功能构建多种不同版本的Java语言吗?这样的语言可能不能再叫Java了,但它叫什么呢?Java可能被用于某些特定域相关的语言, 使用"J"开头进行命名。
2006:Sun制定并推广Java分销许可(Distro License for Java,DLJ)
2007:Java分销许可还有用吗?
如果你是一家Linux分销商,Sun现在无疑给了你当头一棒。在选定GPL前,Sun向Ubuntus和Debians推荐了Java分销许可,它使平台开发商能够以对它们的平台有意义的方式封装Java SE,使用户能够象apt-get那样获得JVM,而无需人工安装。
有了GPL版Java,DLJ似乎就再无用武之地了,用户能够方便地修改类库、JVM。因此,只有在GPL Java被封装为.dpkg软件包时,DLJ才是必需的。
Java平台
2006:Java SE 6发布
2007:开发人员何时会采用它
Java SE 6在12月中旬发布,比原定计划略微晚了一些。Java SE 6提供了包括XML Digital Signature在内的一些新API,更新了JDBC 4.0和JAXB 2.0等API,重新设计了图形渲染管道,提高了Swing的Windows的精度GTK。
但是,由于开发人员、部署人员、用户在采用新版Java方面的动作比较缓慢,Java SE 6能够立即吸引人们吗?除非需要一些特定的新功能,安装全新的JVM值得吗?尽管性能有所提高,特别是对于桌面应用软件而言,但在进入2007年时,SE 6不会成为许多人的缺省Java版本。
2006:Java SE 6支持Java之外的其它语言
2007:我们会在JVM上运行什么语言?
Java SE 6中最有趣的变化是它内置地支持脚本语言。新的javax.script API使我们能够在Java中使用脚本语言引擎,在脚本语言和Java之间交换数据。Java SE 6提供了对JavaScript的内置支持,第三方厂商肯定会增添更多的脚本语言。
由于Sun在9月份招聘了JRuby的开发人员,最可能的“下一种语言”是Ruby。很显然的是,Sun还在吸引Perl和PHP等其它脚本语言的开发人员。
2006:JDK 7开发工作启动
2007:与closures有关的争论达到顶峰
JDK 7的开发已经在进行,但功能清单的发布还需要一段时间。JDK 7中最有争议的语言功能是在Java语言中增添closures。
在这一问题上有二种观点。其一是closures是否有必要,或者说closures带来的复杂性是否超过了它带来的好处。考虑到closures提供的一些功能已经能够由inner类完成,closures能够减轻的“痛点”可能只不过是证明另一种语言结构是不必要的;第二种观点与closure的语法有关,即它对简洁的期望是否会使Java closures不容易理解。
2006:Java EE 5发布
2007:EJB 3能够重新赢得开发人员的青睐吗?
Sun在今年夏季发布了Java EE 5以及EJB 3.0企业对象框架。
2007年值得关注的是EJB 3.0能否重新赢得放弃了EJB 2.x的开发人员的青睐。
2006:Java ME在手机上非常普及
2007:GPL ME会改变什么吗?
在三大Java平台中,Java ME最不引人注目,但由于被应用到了手机上,它的应用比SE或EE要广泛得多。尽管有了一个开放源代码CLDC/MIDP平台,是否有人采用它还是个问题。手机制造商可能会选用当前的许可协议,但GPL ME对于其它领域的初创厂商是非常理想的。<o:p></o:p>
分享到:
相关推荐
9. **反思与展望**:一年的Java学习让作者从门外汉逐渐成长为有一定基础的开发者,他认识到自己的错误和不足,并对未来的学习有了更明确的规划。持续的反思和自我评估对于个人成长至关重要。 总之,学习Java编程是...
"大语言规模-神经网络七十年:回顾与展望" 神经网络是人工智能发展中的重要方法,也是当前类脑智能研究中的有效工具。自二十世纪四十年代的M-P神经元和Hebb学习规则,到五十年代的Hodgkin-Huxley方程、感知器模型与...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...
六、Java基础知识回顾 1. 掌握Java基本概念和API的使用,例如String与StringBuffer的区别、集合类的区别等。 2. 理解Java的异常机制,掌握同步机制的使用,以及Java内存管理等关键概念。 七、Java技术细节深入 1. ...
- **背景**:介绍了Java语言项目诞生的历史背景,强调了该项目始于对现有编程语言和技术局限性的观察与反思。 - **目标**:项目旨在开发一种全新的编程语言和环境,能够克服当时编程语言中存在的问题。 ##### 1.2 ...
本文作为Java开发者的个人技术总结,旨在通过回顾与反思,为日后的技术成长和职业发展提供指导和参考。 一、项目经验 我的项目经验主要来自于参与联通116114门户网站的开发。在这个项目中,我扮演了重要角色,不仅...
基于Java技术的仓储管理系统设计与实现,正是为了解决企业在仓储管理中遇到的问题,提升物流效率,减少错误,降低成本,从而提高企业的核心竞争力。本系统采用软件工程的理论和方法,结合Java EE技术,构建了一个...
在本Java工程师的述职报告中,主要涵盖了四个部分:工作回顾、自我评价、工作体会以及工作规划和展望。这份报告详细记录了工程师在过去三个月中的工作内容、成就、个人成长以及对未来的设想,展示了其在Java开发领域...
- **个人成长**:回顾过去一年中自己的成长与变化,特别是技术能力、项目经验等方面的提升。 - **未来规划**:明确未来的职业发展方向,设定具体目标,表达对未来充满信心的态度。 - **团队合作**:强调团队合作的...
#### 七、总结与展望 - **回顾**:总结课程中的核心知识点。 - **后续学习方向**:推荐进一步深入学习的方向,如Java高级特性、框架技术等。 - **资源推荐**:提供在线资源、书籍等学习材料供学员继续深造。 ### ...
- **未来趋势**:探讨Java技术的发展趋势,包括新版本的语言特性、框架的发展方向等。 - **学习资源推荐**:推荐一些优质的在线课程、博客、社区等资源,帮助读者持续提升自己的技能。 综上所述,《Java解惑》不仅...
作为一名Java开发工程师,年终述职报告是对一年工作成果的总结,也是对未来规划的展望。这份报告通常包括以下几个核心部分:年度任务完成情况、工作中遇到的问题与不足、改进措施以及明年的计划。 首先,年度任务...
根据给定的标题“Java入门与实例教程”及其描述:“java学习的入门级教程,概念讲得清晰,而且附带实例讲解。很多代码开发中可以重用。”我们可以推断出这本书主要面向Java初学者,旨在通过简洁明了的概念介绍及实际...
自加入公司以来,我作为Java程序员在技术岗位上经历了从青涩到成熟的转变。这段时间内,我不仅深入理解了公司的文化和价值观,更在业务理解和技能提升方面取得了显著进步。以下是我对这段时间工作的详细总结与回顾。...
#### 三、总结与展望 - **回顾**:通过对上述知识点的学习,读者可以建立起对Linux环境的基本认识,并掌握一系列实用的命令操作技巧。 - **未尽事宜**:虽然本书覆盖了很多重要的内容,但仍然有许多高级主题没有...