Java的未来
2011年03月18日
对于学习java的人来说,了解Java的历史,把握Java现在的态势,关注Java未来的发展是很有必要的!
对Java来说,2010年是不平凡的一年,从Oracle在年初完成对Sun的收购,使大家对Java的未来充满了关注。
在企业生根发芽
Java的第一次出彩是在服务器领域,这里仍然是它的主要舞台,人们总是寄希望于Java虚拟机。大 型服务器也是Oracle的看家本领,所以这里他们的组合可以轻松搭配在一起。虽然PHP程序员会喜爱MySQL,但在许多最重要的数据密集的项目中,企 业依旧会使用Java搭配Oracle,这不会很快改变,尤其是那些最严肃的企业比如银行和保险企业,因为Java的真正跨平台能力和它的快速和安全。根 据Sun的统计,GlassFish应用服务器每个月有超过100万次下载,而Tomcat等旧平台仍然很受欢迎。
的确,Java不再是最新最时髦的语言。一些年轻程序员开始抱怨并且转向那些更新或是更简单的语言,比如Ruby、Python或PHP,这样他们可以快速的编写一些比较简单的Web应用,因为这些语言确实方便,能够快速改变和快速成型。
然而这些新兴的语言都与Java有着千丝万缕的联系。Ruby的开发者常常要用到JRuby这个Java语言实现,因为Java虚拟机在处理多 线程的大量工作时做得更好。Jython,一个基于Java的Python克隆语言也采用了相似的处理方法。虽然这些语言拥有不同的名字,不同的语法和特性,但相同的一点时他们都是基于JVM的语言,并对Java API非常友好。
另外比如Ruby on Rails的许多简单声明模式来自于由Groovy 与Hibernate 等Java技术构建的Grails框架,直接连接到Java API。而Groovy本身添加了许多动态选择,这让Java程序员没有必要去考虑Python或Ruby,因为Groovy可以享用Java庞大的类库和牢固的虚拟机,同时又有时髦的现代语法。
走向移动设备
Java手机的数字是惊人的26亿,这是因为即便是在现在市场上最简单的手机里,都会有什么地方正在运行着JavaME。运行Java的智能手机数目没那么惊人。iPhone的巨大成功让许多人重新学习Objective C,为了能控制比如内存消耗这样的更低级别的系统问题。而Java把大多数的这些底层问题都隐藏起来了,程序员不容易微观管理这些资源,但智能手机几乎比 任何其它平台都更需要底层资源管理,因为就连电池的寿命这样的问题都非常关键。
然而Java依然会有需求,因为BlackBerry会继续使用JavaME作为新手机的平台,并且增加了对触摸屏的支持和配置文件的加速度。 Android有点特殊,Google搭建Android时使用的是开源的Apache Harmony平台及其类库,而不是Sun的JDK和JavaME,但在编写代码时看起来和Eclipse大致相同。
在10年6月份举行的JavaOne大会上,Oracle和Sun正式启动了Java软件商店 ,这也许会为Java在手机和其他设备领域的应用开发带来新的活力和增长。
获得桌面阵地
很多人一再声称Java在桌面上永远不会成功,这种质疑声从来没有停过。然而事实是,尽管缓慢,但Java已经稳步的挤入了现代操作系统中。虽 然基于Swing的标准应用在为了满足各平台的不同要求时依然显得左右为难,但新选择比如JavaFX和Webstart的发展则逐渐使通过网络发布软件成为可能。
JavaFX支持完整的Java API,作为图形引擎已经能与Adobe的Flash一较高下,但它的开发语言却和Java与JavaScript不太一样,Java程序员需要新学它的东西。当然,新的动画类会成为高度互动的桌面工具。RIA和炫目的桌面应用将成为Java发展的一个重点。
Webstart试图通过浏览器把软件直接带到桌面上,它一直在缓慢的进展着,虽然软件的链接依然会因为一些奇怪不兼容而出现故障,但方向是正确的。
什么是Webstart呢?传统情况下,通过 Web 发布软件需要用户在 Web 上查找、下载,而后在系统中存放并执行安装程序。执行安装程序后,将提示指定安装路径和安装选项,例如完全、典型或最小安装。这是一项耗时而又复杂的任务,并且在安装软件的每个新版本时都必须重复进行。相反,通过 Webstart 部署的应用程序,Web 浏览器使整个过程自动完成。没有复杂的下载、安装和配置过程,并且确保您始终使用最新版本。
嵌入式领域
Java在原先人们最不报期望的地方也持续着兴旺的势头。虽然C程序员可能永远不会承认Java虚拟机玩弄内存块的能力,但Java在低端手 机、机顶盒、嵌入式芯片和其它低功率小玩意上的成功表明,虚拟机在竞争中的表现相当不错。虽然从大铁块的平台转向小个头的嵌入式代码并不容易,但使用 Java标准比起其他工具还是要简单得多。
事实上,不管收购的最终结果如何,Java的代码基础仍然具有相当的凝聚力,Java将运行在世界的每一个角落,台式机、手机、蓝光播放器或任 何其他地方。想象一下,早晨被Android的智能提示叫醒,在Java的桌面上工作,晚上回家后在客厅使用蓝光播放器看电视,这样的生活多么惬意。
而有趣的是,那些躺在沙发上使用着Java应用的人可能不会想起Java的最初目标就是机顶盒,那时候它仍然叫做橡树。然而正是这样的一个目标为我们带来了一个如此强大的系统和跨平台的稳定性。
核心平台趋势:多语言,模块设计
Java平台的一个大趋势就是多个语言的发展,尤其是基于JVM的脚本语言。过去几年间,JVM上发展了如JRuby,Jython以及Groovy这些动态语言,以及Scala这样的静态语言。
Java已经被公认为是非常成功而流行的语言。现在,Java也同时也被认为是非常流行的平台,而基于JVM的语言正在开始流行。类似于"Java之外,选择Scala还是Groovy? "这样的问题,在一、两年前就开始出现在Java开发者们讨论的话题中,但在现阶段,Java开发者们普遍对这两种语言了解不多。
随着下一个核心Java平台JDK 7的推出,这种支持将变得更加强大。JDK 7中新增了一个bytecode:这是JVM上第一次新增的一个bytecode。还有其他的一些增强,这些增强将会使脚本语言这样的动态语言可以天然在 JVM上运行。这是JDK 7中最令人振奋的新特性之一。
RIA趋势:更加R(丰富)的RIA
RIA 具有的桌面应用程序 的 特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式(drag and drop)以及在线和离线操作能力。RIA具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采 纳的互联网标准。RIA具有通信的特点则包括实时互动的声音和图像。
客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。
发表评论
-
windows + pygtk
2012-01-20 09:44 735windows + pygtk 2010年08月21日 ... -
wxWidgets与其他工具库的比较(下)
2012-01-20 09:44 703wxWidgets与其他工具库的 ... -
跨平台团队协作项目源码管理软件Mercurial客户端TortoiseHg
2012-01-20 09:44 853跨平台团队协作项目源 ... -
wxWidgets与其他工具库的比较(上)
2012-01-20 09:44 761wxWidgets与其他工具库的比较(上) 2010年10月 ... -
零和竞争
2012-01-19 14:49 859零和竞争 2010年11月28日 零和竞争:通常指一种技 ... -
业务推动
2012-01-19 14:49 703业务推动 2010年11月30日 业务推动 策划与实 ... -
上班的心情呀
2012-01-19 14:49 588上班的心情呀 2011年02月10日 这个冬天,东北 ... -
宝贝就这些了!
2012-01-19 14:49 657宝贝就这些了! 2011年05 ... -
原创:敢想才会有,爱拼一定赢
2012-01-19 14:49 814原创:敢想才会有,爱拼 ... -
利用NTLDR进入RING0的方法及MGF病毒技术分析
2012-01-17 04:33 922利用NTLDR进入RING0的方法及MGF病毒技术分析 20 ... -
十三个强大的Linux性能监测工具
2012-01-17 04:33 756十三个强大的Linux性能 ... -
《 微型计算机原理与接口技术 》期末复习资料
2012-01-17 04:33 628《 微型计算机原理与接 ... -
C#程序实现动态调用DLL的研究
2012-01-17 04:33 703C#程序实现动态调用DLL的研究 2011年04月26日 ... -
WinCE驱动开发问题精华集锦(一)
2012-01-17 04:32 587WinCE驱动开发问题精华 ... -
AS3+PNGEncoder PHP 上传图片
2012-01-16 03:25 1323AS3+PNGEncoder PHP 上传图片 2010年1 ... -
马未都说--商业方言
2012-01-16 03:25 568马未都说--商业方言 201 ...
相关推荐
一个奋斗多年的Java程序员给刚毕业的java程序员的建议 帮助刚毕业的Java程序员做好自己的职业规划! 希望更多的人实现自己的理想 中国的软件行业蒸蒸日上需要更多的有激情的人们
内含8个版本,由业内老鸟撰写供新人参考,规划java职业生涯。
近日在旧金山举行的javaone2010大会上,openGamma的技术工程师兼JodaTime开源API项目组长蒂芬.科尔波恩与Artima比尔.文纳斯就下一代大型jvm语言举行了一场对话,在这场对话中,斯蒂芬表达了对于下一代大型语言的思考...
多刷刷题二级肯定过
未来教育二级java激活码,机试软件,视屏,二级基础视屏
java发展前景 ppt 一个简单的10几页的ppt,大概讲了一下java的概念还有发展前景,适用于宣讲java的情况。
使用java代码得到未来6天天气
成为Java高手的25个学习目标,看完之后你就有了学习的目标了!
1.1.4 Java未来发展 1.2 Java程序设计环境 1.2.1 命令行工具——JDK 6.0 1.2.2 安装工具包JDK 1.2.3 设置JDK环境 1.2.4 集成开发环境安装——MyEclipse 8.5 1.2.5 MyEclipse的一些常用操作 1.3 创建和运行Java程序 ...
java开发机制,java运行原理,java优势,java未来发展方向
通过apache自带的日期类获取未来日期,自动识别大小月及是否闰年
java 前景规划很值得一看的java 前景规划很值得一看的java 前景规划很值得一看的java 前景规划很值得一看的java 前景规划很值得一看的java 前景规划很值得一看的java 前景规划很值得一看的java 前景规划很值得一看的
本程序为jsp程序 java+access 适合学校作业!
如今 Java 拥有庞大而活跃的开发者社区,并且仍然用于广泛的应用程序,包括 Web 开发、移动应用程序开发和企业级软件开发,但 Java 能在未来 10 年生存吗?让我们看看开发者对 Java 有哪些误解:
这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet...
JAVA的发展历史和未来
此系统是利用Java语言开发的,里面有封装好的需要预测地区的天气数据包,利用Java语言进行解析,然后绘制天气雷达图,并利用Java界面编程将数据动态的展示到界面上。需要的可以下载参考学习。