`
cucaracha
  • 浏览: 142584 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A8f3fa2f-18ce-3862-897a-5d2209197c90
Java NIO.2
浏览量:88602
7a076ba7-8ec8-3241-aa3c-67bb2f7856a2
Java EE 7 简明教...
浏览量:37031
社区版块
存档分类
最新评论

什么是 Java ?

阅读更多
如果有人问你“什么是 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/
分享到:
评论
1 楼 xiaohu7924 2014-08-27  
  

相关推荐

    appjava服务端源码-java-all-basic-program-part-2:什么是Java?Java是一种流行的编程语言,创建于19

    什么是Java? Java是一种流行的编程语言,创建于1995年。它是Oracle拥有的,运行Java的设备超过30亿。 它用于:移动应用程序(特别是Android应用程序)桌面应用程序Web应用程序Web服务器和应用程序服务器游戏数据库...

    200道Java面试常见题目.pdf

    * 什么是Java?Java的特点有哪些? * 说一下Java的基本数据类型和包装类。 * 什么是Java的访问修饰符?Java中有哪些访问修饰符? * 什么是Java的接口?接口和抽象类有什么区别? * 什么是Java的多态性?多态的实现...

    10万字208道Java经典面试题总结(附答案)_Java攻城狮-CSDN博客_java经典面试题及答案.pdf

    1. 什么是Java? Java是一种面向对象的编程语言,具有平台独立、分布式处理等特点。 2. Java的特点是什么?Java的特点包括平台独立、面向对象、分布式处理等。 3. Java的应用领域有哪些?Java广泛应用于企业级软件...

    74个java面试题,只有题目没有答案

    * 什么是 Java?Java 是一种高级编程语言,具有平台独立性、对象oriented、分布式、多线程、动态加载等特点。 * 为什么使用 Java?Java 广泛应用于 Android APP 开发、Web 开发、企业级应用开发等领域。 * Java 是...

    如何在 Web 浏览器中禁用 Java?

    如何在 Web 浏览器中禁用 Java? 在本文中,我们将介绍如何在 Web 浏览器中禁用 Java,以确保浏览器的安全性和稳定性。本文适用于多种平台和浏览器,包括 Solaris SPARC、Solaris x86、Red Hat Linux、SUSE Linux、...

    2024年Java基础面试题,附带详细解析答案

    什么是 Java? **答案解析:** Java 是一种广泛使用的高级编程语言,由 Sun Microsystems 在 1995 年开发并发布。它的主要特点包括面向对象、平台独立性、安全性、可移植性以及高性能。Java 之所以能实现跨平台...

    Java入门简介.ppt

    什么是Java? Java是一种编程语言,具有很多 buzzword-compliant特点,如简单、面向对象、分布式、解释型、强大、安全、架构中立、可移植、高性能、多线程和动态语言。 Java是什么? 根据詹姆斯·戈斯林(James ...

    JAVA面试题

    - 什么是Java?Java是一种跨平台的面向对象的编程语言,由Sun Microsystems(现已被Oracle收购)开发。 - Java的主要特性是什么?包括简单性、面向对象、健壮性、安全性、可移植性、高性能、多线程和动态性。 - ...

    java面试题(1)

    - 什么是Java?Java是一种面向对象的、跨平台的编程语言,由Sun Microsystems开发,其特点是“一次编写,到处运行”。 - Java的三大特性是什么?封装、继承和多态性。 - 什么是JVM?JVM(Java虚拟机)是Java程序...

    常见的java面试题

    - 什么是Java?Java是一种解释型、类C++语法的、跨平台的编程语言,由Sun Microsystems(现为Oracle公司)开发。 - Java有哪些特性?主要特性包括:简单性、面向对象、健壮性、安全性、可移植性、高性能、多线程和...

    Java-Interview-Questions-and-Answers

    什么是 Java?解释其含义与定义。 Java 是当今最流行的编程语言之一,在 Web 应用程序、移动应用、软件开发、游戏系统以及服务器端技术等领域扮演着重要角色。自二十多年前首次亮相以来,Java 对程序员和开发者而...

    125条常见的java面试笔试题汇总

    - 什么是Java?它的主要特性是什么? - Java有哪些版本?如Java SE、Java EE和Java ME分别代表什么? - 解释Java中的“一次编写,到处运行”(Write Once, Run Anywhere)理念。 - Java源代码的扩展名是什么?...

    java基础知识30个经典问答

    1. **什么是Java?** Java是一种跨平台的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)开发,以其“一次编写,到处运行”的特性而著名。 2. **Java与C++的区别?** Java简化了C++的一些复杂特性,如...

    java面试题锦集.zip

    1. 什么是Java?Java语言的特点是什么? 2. 解释一下Java的跨平台特性,并描述JVM的工作原理。 3. Java有哪些访问修饰符,它们的作用分别是什么? 二、数据类型与变量 4. Java中的基本数据类型有哪些?它们的存储...

    java 面试题 及答案

    - **什么是Java?** Java是一种高级的、类C++的语言,由Sun Microsystems(现为Oracle公司)开发,具有“一次编写,到处运行”的特性,运行在Java虚拟机(JVM)上。 - **Java有哪些数据类型?** Java有8种基本...

    Java WEB 篇八 tomcat 容器是如何创建 servlet 类实例?用到了什么原 理?.xmind

    Java WEB 篇八 tomcat 容器是如何创建 servlet 类实例?用到了什么原 理?

    Java面试题目大全 很好的

    - 什么是Java?它有哪些特点? Java是一种跨平台的、面向对象的编程语言,主要特点是简单性、面向对象、健壮性、安全性、高性能、可移植性、多线程和动态性。 2. **面向对象** - 什么是封装、继承和多态? 封装...

    java面试题.rar

    - 什么是Java?它的特点是什么? Java是一种跨平台的、面向对象的编程语言,主要特点是简单性、面向对象、健壮性、安全性、可移植性、高性能和动态性。 - Java的基本数据类型有哪些?它们的内存占用是多少? ...

    如何学习Java?Java进阶学习方法论【Java一周入门教程8】

    如何学习Java?Java进阶学习方法论【Java一周入门教程8】

    java面试题参考.md

    有什么是Java?、Java的特点是什么?、Java程序的基本结构是什么?、什么是Java虚拟机(JVM)?、什么是垃圾回收(Garbage Collection)?、什么是面向对象编程(OOP)?、Java中的继承和多态性是什么?、什么是接口...

Global site tag (gtag.js) - Google Analytics