技术开发 频道

Java能为应用程序提供统一的平台吗?



四、       JVM——高层次的OS
 
在这样的一场游戏中,我们似乎可以把Java看作为构建于OS(操作系统)之上高层次的OS——可以为应用程序或框架提供重要的底层服务及功能。但这些服务及功能非一般的普通OS技术能提供,例如普通的OS可能有:内存管理;线程,处理及同步;执行本地程序或解释Shell脚本。而JVM这层OS,可提供:简易的垃圾回收;在应用程序中对内存进行安全管理;即时编译技术(JIT,Just In Time)执行动态代码。
在Windows程序设计领域处于发展初期时,Windows程序员可使用的编程工具唯有API函数。这些函数在程序员手中犹如“积木块”一样,可搭建出各种界面丰富、功能灵活的应用程序。不过,由于这些函数结构复杂,所以往往难以理解,而且容易误用。而随着软件技术的不断发展,在Windows平台上出现了很多优秀的可视化编程环境,程序员可以采用“所见即所得”的编程方式来开发具有精美用户界面和功能的应用程序。这些可视化编程环境操作简便、界面友好,比如:Visual C++,Delphi,Visual Basic等等。在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能。事实上,这些类库和控件都是构筑在Windows API的基础上的,但它们使用方便,加速了Windows应用程序的开发,所以受到程序员的普遍采用。有了这些类库和控件,程序员们便可以把主要精力放在 整体功能的设计上,而不必过于关注具体细节。不过,这也导致了非常多的程序员在类库面前“固步自封”,对下层API函数的强大功能一无所知。
当OS技术开始流行后,随着C/S开发模式的发展,每种语言/编译器/IDE等都具有各自专用的API和运行时。因此,在程序员的世界里充满了各种各样的内库及可供程序员调用的组件,有如Glibs/MSVC、OWL/MFC、VBRUN、Smalltalk VMs等等。
Java和.NET都竞争着开发高层次的OS。.NET由于嵌入进了Windows操作系统,因此显得更加的专业。但是,Java显然更加的关注如何使JVM为更多的开发语言提供更宽阔的平台。因此,Sun宣称,Java EE 7将会为更多的开发语言提供更好的统一平台。当然开源的Java JDK将使这一宣称更具可操作性,使Java不但可以嵌入到Windows中去,同时还有Solaris……
 
五、       小结
 
网上已经有将CRL Bytecode转成Java bytecode的编译器。据称,这使用得在.NET环境下开发的应用程序,其运行速度比在.NET环境下要块得多。同时,最近,相关组织已经采用Java开发了两个操作系统:JXJNode,当然这只是很前沿的探索,并非像Windows一样的成熟。IBM也宣称要在这方面进行更大的投入研究。同时,BEA采用Java开发的LiquidVM不再需要操作系统,它可以在自己的VMWare上运行。
我们有理由相信,走过了十多年风风雨雨的Java,是有足够的能力和潜力为应用程序提供一个统一的运行平台的。不管是PHP应用程序,Ruby on Rails应用程序,或是.NET应用程序,应该都可以在Java环境下运行,且应用程序在Java环境下的运行效率比在他们各自特定的环境下运行的效率还要高。这就是Java的魅力,同时也是它的潜力。
0
相关文章