關於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技術將幫助你完成如下工做: