`
dsotbs936
  • 浏览: 38005 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
文章分类
社区版块
存档分类
最新评论

Java语言将淡出 JVM宝座争夺战预热

阅读更多

发布时间:2009-09-11 来源:点睛考试网 作者:


  Java比JVM(Virtual Machine)更有分量的时代已经结束了。

  JVM作为一种机制用以提供Java应用在多个不同硬件上的可移植性,而现在它可以运行的语言更多了,从动态语言如JRuby, Jython和Clojure到静态型Scala语言。因此,JVM正在成为一个多元化的平台,开发人员可以充分利用不同语言来满足各自不同的需要。

  为什么JVM变得如此有吸引力呢?Sun Microsystems公司Web技术总监认为,这是因为JVM这个Java平台的性能以及它对其他语言的支持。例如,JVM尤其是HotSpot,具有尤其突出的性能。第二个原因是JVM有巨大的Java库。学习一种新语言最难的问题之一就是要汇集所有必要的库并使之可用,而在JVM上,你可以免费得到这一切。因此,许多企业也不会部署任何不适合Java生态系统的东西。

  Java平台比Java语言更加重要。Sun公司的Bray强调Java平台已越来越比Java语言本身重要。他说,我个人认为, 长远来看Java平台比Java语言有更多的战略重要性。

  对我们而言JVM已经完全成为伟大的产品,因为它在每一个新一代的JVM中都切实地改善了性能,这种性能提升稳定且有必要。 Scala语言的开发者Martin Odersky说。与此同时他指出,在一个公司的基础架构中Scala可以取代Java,比如Sony Pictures.

  不过,尽管其他语言在JVM上的使用越来越多,但Java还没有成为JVM中过时的语言。 Bray说,Java仍然是世界上最流行的编程语言,并将继续是企业和未来系统编程的核心语言。

  如果这样的事情(指Java不再是企业和系统编程的核心)会发生,那也将是在非常非常遥远的将来。 Odersky说。他指出,Java背后的种种庞大因素使得大多数公司都不愿意改变它。尽管如此,类如Scala和其他一些语言将获得JVM上更多的语言共享,而JVM平台也将变得比现在更加多语言化。 Odersky说道。

  JVM将变得更加多语言化的一个原因是Sun的Da Vinci Machine项目,该项目承诺将简化动态语言在JVM上的运行。Bray说,Da Vinci Machine解决[Java Specification Request] 292 ,目的是方便动态语言开发者能在JVM上获得很好的性能,无疑这将增加动态语言社区对JVM平台的吸引力。这项工作值得密切关注。

  Clojure的作者Rich Hickey认为,动态语言有利于解决在开始时并不确定答案的问题,如建立Web应用程序,尤其是因为没有一个正确的方式去建立一个Web应用程序;相比之下, Java更适合解决知道答案的问题,当然底层的基础架构尤其适合Java.

  同样的,其他语言也给JVM带来了更好的功能。JRuby和Jython的支持者认为他们的语言并非Java的竞争语言而是对Java的补充。一个Jython项目的leader Frank Wierzbicki说,Jython更多的是对JVM上Java语言的补充,它因为将Ruby带入JVM中而进一步提升了这个Java平台。

  JRuby.JRuby可以说一直是JVM上的最引人注目的动态语言。它可以追溯到2001年,是Ruby语言的一个解释器。JVM上实现Ruby有两个非常重要原因。首先,它使Java开发者接触到一个更高层次的编程语言, JRuby 的核心开发者Bini说,第二,Ruby有许多有趣的库,比如Rails和RSpec,可用于JVM上 .用于JVM上也意味着当你使用Ruby时,你仍然可以使用所有现有的Java库。JRuby可以像使用Ruby类一样来使用任何Java类。这意味着你综合了Ruby语言生态系统以及Java环境的功能。他说。

  Jython.与此同时, Jython所有的方式都回到1998年7月,那时它还被称为JPython.Wierzbicki表示,有大量的Java在那里,Jython提供了一种从高效的Python语言访问代码的方式。例如,Jython一直被测试框架使用作为一个嵌入式的脚本工具。我已经在许多的Python会议如PyCon、EuroPycon以及EuroDjangoCon上说过,而且我也切实地发现许多Python社区的开发者希望能够在JVM上使用Python.他补充说。

  Clojure .JVM上仍是Clojure (发音为closure ),它用来支持JVM上的功能型以及更好的并行程序设计。Hickey称,这将推动多线程应用程序的开发。任何Java有用的地方Clojure都有用。因此它使用Java库和语法支持Java调用。

  Scala.首次亮相于2004年,用以提升Java.虽然Java平台提供了诸如类安全性和垃圾处理等功能,但这些仍然不够。他说,我们希望让Java更具表达性,因此人们的开发效率将更高。Scala不同于JVM兼容的其他语言,如JRuby、Jython Clojure ,它部署了一个完善的静态型系统,并提供更多的编程功能。

  Groovy .JVM上的另外一个语言。被称为JVM的敏捷动态语言Groovy构建在Java的优势上,并从Ruby和SmallTalk等语言吸取灵感新增了很多功能。

  有了Groovy,这肯定更容易编程,与Groovy比Java说,SpringSource的首席软件工程师Jon Travis说,他负责监督Groovy语言的开发。世界各地的Groovy开发者为熟悉Java的朋友们增加了很多令人印象深刻的功能。
http://www.gradjob.com.cn/cms/html/jyks/jsj/java/zxzx/20090911/5710.html
分享到:
评论

相关推荐

    Java语言规范和JVM规范官网文档

    Java语言规范和JVM规范是理解Java编程基础和高级特性的关键参考资料,它们定义了Java程序的语法、语义以及虚拟机的行为。本压缩包包含了Java6至Java9的版本,涵盖了一系列重要的语言和虚拟机改进,对于Java开发者来...

    Java语言规范和JVM虚拟机规范.zip

    Java语言规范和JVM虚拟机规范是理解Java编程基础及其执行机制的核心文档,它们由Oracle官方发布,确保了Java开发的准确性和一致性。本压缩包包含的文件详细阐述了Java编程语言的各个方面以及Java虚拟机(JVM)的工作...

    框架->java语言->jvm->os->汇编->硬件

    标题 "框架->java语言->jvm->os->汇编->硬件" 描述了一条技术学习路径,从上至下深入理解软件开发的核心技术栈。这个路径涵盖了从应用框架到底层硬件的关键环节,让我们逐步解析其中涉及的知识点: 1. **框架**:...

    JAVA8虚拟机(jvm)规范_Chinese version.rar

    Java虚拟机(JVM)是Java程序运行的核心组件,它负责解释和执行字节码,为Java应用程序提供了一个跨平台的运行环境。《JAVA8虚拟机(jvm)规范_Chinese version》提供了关于JVM的详细中文指南,对于理解Java程序的运行...

    Java语言规范和JVM规范(7、8、9)

    Java语言规范和JVM规范是理解Java编程语言和其运行机制的基石,它们定义了Java程序的语法、语义以及虚拟机如何执行这些程序。在Java SE 7、8、9这三个版本中,规范都有所更新,以适应技术的发展和需求的变化。 Java...

    jvmjava,java实现的JVM。.zip

    本项目“jvmjava”是一个开源项目,由Java语言实现,目的是为了让开发者能够更深入地理解JVM的工作原理,并提供了一个动手实践的机会。 一、JVM概述 Java虚拟机(JVM)是Java平台的核心,它负责执行字节码,提供了...

    揭秘Java虚拟机-JVM设计原理与实现

    《揭秘Java虚拟机-JVM设计原理与实现》这本书深入探讨了Java虚拟机(JVM)的工作原理及其在Java编程中的核心地位。Java虚拟机是Java平台的核心组成部分,它负责执行字节码,为开发者提供了跨平台的运行环境。以下是...

    java11-jvm白皮书

    Java 11 JVM 白皮书是一份详细阐述Java虚拟机(JVM)在Java 11版本中的特性和优化的文档。这份白皮书主要关注JVM的内部工作原理,包括垃圾收集、内存管理、类加载机制、性能优化等方面,是Java开发者深入理解Java...

    jvm规范和java规范

    Java虚拟机(JVM)规范和Java语言规范是Java开发者深入理解这个平台和技术的基石。这两部分规范分别定义了Java程序如何在JVM上运行以及Java编程语言的语法和语义。 《Java语言规范》(Java Language Specification...

    JAVA命令大全-JVM设置.rar

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。JVM(Java虚拟机)是Java平台的核心组成部分,它负责运行Java程序。理解并熟练掌握JVM设置对于优化应用程序性能至关重要。这份“JAVA命令...

    java虚拟机JVM详解ppt

    Java虚拟机(JVM)作为Java编程语言的核心组件之一,其重要性不言而喻。本文将深入剖析JVM的基本概念、架构及其内存管理机制,重点解读堆和栈内存溢出的情况及案例分析。 #### 二、Java虚拟机(JVM)简介 Java虚拟机...

    java未来发展——JVM7

    JVM7还加强了对动态语言的支持,通过JSR 292( invokespecial 字节码指令的扩展)使得其他非Java语言能在JVM上运行得更加顺畅,为JVM上的语言多元化奠定了基础。这一改变为Scala、Groovy等现代动态语言在Java平台上...

    Java Jar JVM Exe

    Java Jar JVM Exe 可执行文件 Java Jar JVM Exe 可执行文件 Java Jar JVM Exe 可执行文件 Java Jar JVM Exe 可执行文件 Java Jar JVM Exe 可执行文件

    JAVA虚拟机(JVM)规范(中文版).rar

    JAVA虚拟机(JVM)是Java语言的核心组成部分,它为Java程序提供了运行环境,使得Java代码能在任何支持JVM的平台上运行,实现了“一次编写,到处运行”的目标。JVM规范定义了Java程序如何在特定系统上被加载、解析、...

    java 核心知识 包含 JVM 线程 集合 数据库 算法 负载等一系列

    本文将深入探讨Java的核心知识,包括JVM(Java虚拟机)、线程、集合、数据库、算法以及负载均衡等多个方面。 首先,让我们从Java虚拟机(JVM)开始。JVM是Java程序运行的基石,它负责解析字节码并执行。理解JVM的...

    2024年java面试题-jvm之java虚拟机面试题

    - **JVM执行字节码**:JVM负责解释并执行字节码,最终将指令转换为机器语言供处理器执行。 **2. Java为何被称为跨平台语言** Java之所以能跨平台运行,主要得益于其“一次编写,到处运行”的设计理念。这是通过JVM...

    实战Java虚拟机——JVM故障诊断与性能优化 pdf

    《实战Java虚拟机——JVM故障诊断与性能优化》内容简介:随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为一个充满活力的生态圈。本书将通过200余示例详细介绍Java虚拟机中的...

    java JVM 详解

    Java JVM 是 Java 语言的核心组件之一,负责将 Java 字节码翻译成机器语言并执行。要深入了解 JVM,可以从 Java 的特性入手,描绘 JVM 的大致应用,然后细细阐述 JVM 的原理及内存管理机制和调优。最后,还需要讲述...

    linux 下用java 获取系统信息 cpu mem jvm等

    linux 下用java 获取系统信息 cpu mem jvm等 用java调用系统命令得到,方便实用

Global site tag (gtag.js) - Google Analytics