如果有人问你“什么是 Java ?”,你可能会做出这样的回答“Java 就是 Java 语言、Java API、Java 字节码以及 Java 虚拟机的总称。”
好吧,这么说看起来也没什么错,不是吗?
Java 一出现就举着“一次编码处处运行”的大旗,这也是 Java 超高兼容性的体现,拥有这个基石,Java 迅速占据市场,并击败了众多竞争者。
但是,因为 Java 语言本身发展缓慢,于是 JVM 语言迅速出现。Groovy、JRuby、Jython、Clojure、Scala ......等等数不胜数,它们都拥有自己的编译器有能力将源码编译为 Java 的字节码文件。在 Java 7 之前,由这些非 Java 语言编译出的字节码比较冗长,效率低下,对 Java 语言本身并不构成实质的威胁。但是从 Java 7 版本之后,由于 Java 虚拟机正式支持 JSR 292 规范,JVM 语言终于迎来了自己的春天。由它们编译出来的字节码运行效率和 Java 语言已无区别,甚至效率比使用 Java 反射还高。至此,Java 语言不再独享 Java 平台,至少在问到“ 什么是 Java?”这个问题的时候,要为 JVM 语言留下一席之地。
JVM 语言的出现算是将 Java 语言和 Java 字节码相分离,Java 语言和 Java 字节码之间不再是一对一的关系,而是多对一的关系(即多个语言对 Java 字节码)。但是 Java 字节码、Java 虚拟机和跨平台等 Java 根本特性依旧无法动摇。
这时,Google 的 Android 系统正式登场,算是对 Java 进行了一次彻底的颠覆。Android 是一个开源操作系统,但也是一个开发平台,并且使用 Java 语言来开发 Android 应用。它不再使用 Java 字节码和虚拟机,而是使用自己的 Dalvik 字节码和虚拟机。Android 出现后,Java 语言不再跨平台,也不再“一次编写处处运行”,因为针对 Android 编写的应用只能在 Android 平台上运行。
Android 的出现,将 Java 语言和 Java 字节码再次分离,让 Java 语言可以对应多个不同的字节码(目前至少有 Java 字节码和 Dalvik 字节码)。至此,Java 语言、Java 字节码、Java 虚拟机之间出现了多对多的关系。
好了,再回到刚开始那个问题,究竟“什么是 Java”?
原文:
http://www.aptusource.org/2014/06/what-is-java/
分享到:
相关推荐
* 什么是Java?Java的特点有哪些? * 说一下Java的基本数据类型和包装类。 * 什么是Java的访问修饰符?Java中有哪些访问修饰符? * 什么是Java的接口?接口和抽象类有什么区别? * 什么是Java的多态性?多态的实现...
如何在 Web 浏览器中禁用 Java? 在本文中,我们将介绍如何在 Web 浏览器中禁用 Java,以确保浏览器的安全性和稳定性。本文适用于多种平台和浏览器,包括 Solaris SPARC、Solaris x86、Red Hat Linux、SUSE Linux、...
2. 什么是Java?Java是一种高级的编程语言,能够开发出独立于平台的应用程序。 3. JDK、JRE和JVM的关系:JDK(Java Development Kit)是Java开发工具包,JRE(Java Runtime Environment)是Java运行环境,JVM...
什么是 Java? **答案解析:** Java 是一种广泛使用的高级编程语言,由 Sun Microsystems 在 1995 年开发并发布。它的主要特点包括面向对象、平台独立性、安全性、可移植性以及高性能。Java 之所以能实现跨平台...
什么是Java? Java是一种编程语言,具有很多 buzzword-compliant特点,如简单、面向对象、分布式、解释型、强大、安全、架构中立、可移植、高性能、多线程和动态语言。 Java是什么? 根据詹姆斯·戈斯林(James ...
- 什么是Java?Java是一种跨平台的面向对象的编程语言,由Sun Microsystems(现已被Oracle收购)开发。 - Java的主要特性是什么?包括简单性、面向对象、健壮性、安全性、可移植性、高性能、多线程和动态性。 - ...
- 什么是Java?Java是一种解释型、类C++语法的、跨平台的编程语言,由Sun Microsystems(现为Oracle公司)开发。 - Java有哪些特性?主要特性包括:简单性、面向对象、健壮性、安全性、可移植性、高性能、多线程和...
什么是 Java?解释其含义与定义。 Java 是当今最流行的编程语言之一,在 Web 应用程序、移动应用、软件开发、游戏系统以及服务器端技术等领域扮演着重要角色。自二十多年前首次亮相以来,Java 对程序员和开发者而...
- 什么是Java?它的主要特性是什么? - Java有哪些版本?如Java SE、Java EE和Java ME分别代表什么? - 解释Java中的“一次编写,到处运行”(Write Once, Run Anywhere)理念。 - Java源代码的扩展名是什么?...
1. 什么是Java?Java语言的特点是什么? 2. 解释一下Java的跨平台特性,并描述JVM的工作原理。 3. Java有哪些访问修饰符,它们的作用分别是什么? 二、数据类型与变量 4. Java中的基本数据类型有哪些?它们的存储...
Java WEB 篇八 tomcat 容器是如何创建 servlet 类实例?用到了什么原 理?
- 什么是Java?它有哪些特点? Java是一种跨平台的、面向对象的编程语言,主要特点是简单性、面向对象、健壮性、安全性、高性能、可移植性、多线程和动态性。 2. **面向对象** - 什么是封装、继承和多态? 封装...
- 什么是Java?它的特点是什么? Java是一种跨平台的、面向对象的编程语言,主要特点是简单性、面向对象、健壮性、安全性、可移植性、高性能和动态性。 - Java的基本数据类型有哪些?它们的内存占用是多少? ...
如何学习Java?Java进阶学习方法论【Java一周入门教程8】
有什么是Java?、Java的特点是什么?、Java程序的基本结构是什么?、什么是Java虚拟机(JVM)?、什么是垃圾回收(Garbage Collection)?、什么是面向对象编程(OOP)?、Java中的继承和多态性是什么?、什么是接口...
反病毒,就需要反Java?
12. 什么是Java中的垃圾回收? 答:垃圾回收是Java中的机制,用于回收无用的对象,释放内存。 13. 在Java中,什么时候对象可以被垃圾回收? 答:对象可以被垃圾回收,当对象不再被引用时。 Java异常 14. 什么是...
Java面试题55.ORM是什么?ORM框架是什么?.mp4
z 什么是JDK? 即Java Develop Kit,Java开发工具包。 z Java1 ?Java2 ?Java5…Java6 ,传说?寂寞? 1998年12月,SUN公司发布了JDK1.2,开始使用“Java 2” 这一名称,目 前我们已经很少使用JDK1.1版本,所以我们...