一篇有关《JAVA的未来和发展》文章 C

 
2.4 Java 将回归桌面应用
在2005年的JavaOne大会上,Sun公司透露Java将进军传统的桌面应用。并立志在这方面挤垮微软公司。然而在过去的几年里,每个Java开发爱好者都会认为java在桌面应用上没有优势,相反具有众多缺点。最明显的缺陷是界面难看,启动缓慢。而这两点足以让Java在桌面应用上丧失立足之地。不过庆幸的是,sun公司以及开源社区正在努力的改进这两点。
与界面外观和性能息息相关的是图形库和Java运行平台JVM。先来讨论下Java的性能,一个值得期待的好消息是:即将在2008年发布的Java7将重点提高桌面应用程序的开启速度。《Inside the Java Virtual Mathine》的作者Bill Venners在他的书中这样讲到:“和其它技术(诸如C++)相比,Java程序的执行速度可能比较低,这是Java在面向网络特性上所付出的最主要的代价之一。事实上,在Java诞生后的几年中,为了获取令人满意的性能,Java的开发者们进行了最艰苦的奋斗。尽管早期使用Java的经验使得开发者断言:Java很慢,但这并不是必然正确的结论。Java或许很慢,但它并不会永远这样慢。随着虚拟机技术的不断发展,虚拟机性能将会得到大幅度提高,到那时,Java的效率甚至会和本地编译的C程序不相上下。”这是一段鼓舞众多Java爱好者的话。不过我们要理智的认识到就目前而言,甚至是在将来,Java还是难以取代C或者C++的,或者永远不可能。
接着让我们回顾下Java在图形库上的发展历史。在它最早的版本中就推出了一个完整的AWT(Abstract Windowing Toolkit)库用来开发桌面应用。这个时期最典型的代表就是applet。AWT具有一个明显的特征,那就是在所有的操作系统上如windows,Linux,Unix上都具有Java特征的界面风格,尽管很难看。之所以这样的一个重要原因是当时Sun正以“一处编写,到处运行“的承诺推广Java。
这种Applet小程序运行在一种沙箱模式下,表面上看来是比较安全的,但也是因为它的自作主张,导致某些应该具有的功能被强制的剥夺,这也是导致Applet越来越不流行的一个原因。
AWT是丑陋的,Swing的出现后,界面外观方面得到了很大的改观。Swing是在1998年伴随JFC( Java Foundation Classes)的发布而诞生的。Swing较AWT主要是在架构上有了很大的改进,它不完全使用对等架构, Swing缺省情况下采用本地平台的显示外观。然而,它并不仅仅限于此,而是还可以采用插件式的显示外观。因此Swing应用程序可以看起来像Windows应用程序,Motif应用程序,Mac应用程序甚至它自己的显示外观--"金属" [4]。尽管如此,Swing做了大量的改进,但是还不足以让他成功。它仍然具有性能低下,界面不美观的缺点。
当Sun公司显得力不从心的时候,大名鼎鼎的Eclipse.org社区的开发者在开发Eclipse时意识到Swing和AWT都难以开发出商业应用,于是这批牛人开发出了一套自己的图形库(Google公司最近刚发布的Android中也有自己独立的图形库)。才有了现在Eclipse这样美观的界面。这个图形库被称为SWT(Standard Widget Toolkit)。它的思想是力求采用本地组件绘制图形,如果不能才使用Java的模拟机制进行绘制。这样SWT吸取了AWT和Swing的精华。在外观和性能上有了大的改进。
SWT的出现让java在桌面应用上看到了希望。在它的基础又出现了JFace,一个更强大的图形库。
2.5Java 将提升自己的多线程开发能力
Java的发明者James Gosling在谈到Java的未来时,他特别强调了并发编程的重要性。他认为,硬件在飞速的发展,而软件的发展却总是落后于硬件。在很久以前就已经出现多核技术。在不久的将来,多核会像现在的单核一样普及。这个变化必然引起软件开发的重新思考。尽管目前,很多的软件都采用了多线程技术,但是还没有达到那种“无所不用其极”的地步。Java为了对并发编程的支持,做出过一些努力。最具有代表性的就是在JDK5中新增了java.util.concurrent包,专门为并发编程提高封装的API。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值