关于Java技术的讨论彷佛无处不在,但到底是什么呢?下面几节将解释Java技术如何既是一种编程语言又是一种平台,并概述该技术能够为你作什么。html
Java技术既是编程语言又是平台。java
Java编程语言是一种高级语言,能够用如下全部流行语来描述它:c++
前面的每个流行语都在Java语言环境中获得了解释,这是一篇由James Gosling和Henry McGilton撰写的白皮书。程序员
在Java编程语言中,全部源代码首先用以.java
扩展名结尾的纯文本文件编写,而后,这些源文件由javac
编译器编译为.class
文件,.class
文件不包含处理器原生的代码;它包含字节码 — Java虚拟机(Java VM)的机器语言,而后,java
启动器工具使用Java虚拟机实例运行应用程序。数据库
由于Java VM可用于许多不一样的操做系统,相同的.class
文件可以在Microsoft Windows,Solaris™操做系统(Solaris OS),Linux或Mac OS上运行,例如Java SE HotSpot,在运行时执行其余步骤,以提升应用程序的性能。这包括各类任务,例如查找性能瓶颈和从新编译(对原生代码)常用的代码段。编程
经过Java VM,一样的应用程序能够在多个平台上运行。segmentfault
平台是程序运行的硬件或软件环境,咱们已经提到了一些最流行的平台,如Microsoft Windows、Linux、Solaris OS和Mac OS。大多数平台能够描述为操做系统和底层硬件的组合,Java平台与大多数其余平台的不一样之处在于,它是一个纯软件平台,能够在其余基于硬件的平台上运行。安全
Java平台有两个组件:网络
你已经了解了Java虚拟机,它是Java平台的基础,并移植到各类基于硬件的平台上。多线程
API是现成的软件组件大集合,提供许多有用的功能,它被分组到相关类和接口的库中;这些库称为包。下一节,“Java技术能够作什么?”重点介绍了API提供的一些功能。
API和Java虚拟机将程序与底层硬件隔离开来。
做为独立于平台的环境,Java平台可能比原生代码慢一点,可是,编译器和虚拟机技术的进步使性能接近原生代码,而不会威胁到可移植性。
术语“Java虚拟机”和“JVM”表示Java平台的虚拟机。
通用的高级Java编程语言是一个强大的软件平台,Java平台的每一个完整实现都为你提供如下功能:
javac
编译器,java启动器和javadoc
文档工具。若是你学习Java编程语言,咱们不能保证你的名气,财富,甚至一份工做,不过,它可能会使你的程序更好,而且须要比其余语言更少的努力,咱们相信Java技术将帮助你完成如下工做: