簡單地說,Java 是由 Sun Microsystems 公司於 1995 年推出的一門面向對象程序設計語言。2009 年 Oracle 公司收購 Sun Microsystems,以後由 Oracle 公司負責 Java 的維護和版本升級。程序員
其實,Java 仍是一個平臺。Java 平臺由
Java 虛擬機(Java Virtual Machine,JVM)和 Java 應用編程接口(Application Programming Interface,API)構成。Java 應用編程接口爲此提供了一個獨立於操做系統的標準接口,可分爲基本部分和擴展部分。在硬件或操做系統平臺上安裝一個 Java 平臺以後,Java 應用程序就可運行。編程
Java 發展至今,就力圖使之無所不能。按應用範圍,Java 可分爲 3 個體系,即
Java SE、Java EE 和 Java ME,
下面簡單介紹這 3 個體系。安全
JavaSE 容許開發和部署在桌面、服務器、嵌入式環境和實時環境中使用的 Java 應用程序。Java SE 包含了支持 Java Web 服務開發的類,併爲Java EE 提供基礎, 如 Java 語言基礎、JDBC 操做、I/O 操做、網絡通訊以及多線程等技術。服務器
Java EE 是在 Java SE 基礎上構建的, 它提供 Web 服務、組件模型、管理和通訊 API 能夠用來實現企業級的面向服務體系結構(Service Oriented Architecture,SOA)和 Web 2.0 應用程序。網絡
Java ME 爲在移動設備和嵌入式設備(好比手機、PDA、電視機頂盒和打印機)上運行的應用程序提供一個健壯且靈活的環境。基於 Java ME 規範的應用程序 只需編寫一次就能夠用於許多設備,並且能夠利用每一個設備的本機功能。多線程
Java 是一種面向對象的語言,它對對象中的 類、對象、繼承、封裝、多態、接口、包
等均有很好的支持。爲了簡單起見,Java 只支持類之間的單繼承,可是可使用接口來實現多繼承。使用 Java 語言開發程序,須要採用面向對象的思想設計程序和編寫代碼。分佈式
平臺無關性的具體表如今於,Java 是「一次編寫,處處運行(Write Once,Run any Where)」的語言,所以採用 Java 語言編寫的程序具備很好的可移植性,而保證這一點的正是 Java 的虛擬機機制。在引入虛擬機以後,Java 語言在不一樣的平臺上運行不須要從新編譯。
Java 語言使用 Java 虛擬機機制屏蔽了具體平臺的相關信息,使得 Java 語言編譯的程序只需生成虛擬機上的目標代碼,就能夠在多種平臺上不加修改地運行。性能
Java 語言的語法與 C 語言和 C++ 語言很相近,使得不少程序員學起來很容易。對 Java 來講,它捨棄了不少 C++ 中難以理解的特性,如操做符的重載和多繼承等,並且 Java 語言不使用指針,加入了垃圾回收機制,解決了程序員須要管理內存的問題,使編程變得更加簡單。操作系統
Java 程序在 Java 平臺運行時會被編譯成字節碼文件,而後能夠在有 Java 環境的操做系統上運行。在運行文件時,Java 的解釋器對這些字節碼進行解釋執行,執行過程當中須要加入的類在鏈接階段被載入到運行環境中。線程
Java 語言是多線程的,這也是 Java 語言的一大特性,它必須由 Thread 類和它的子類來建立。Java 支持多個線程同時執行,並提供多線程之間的同步機制。任何一個線程都有本身的 run() 方法,要執行的方法就寫在 run() 方法體內。
Java 語言支持 Internet 應用的開發,在 Java 的基本應用編程接口中就有一個網絡應用編程接口,它提供了網絡應用編程的類庫,包括 URL、URLConnection、Socket 等。Java 的 RIM 機制也是開發分佈式應用的重要手段。
Java 的強類型機制、異常處理、垃圾回收機制等都是 Java 健壯性的重要保證。
對指針的丟棄是 Java 的一大進步。另外,Java 的異常機制也是健壯性的一大致現。
Java 的高性能主要是相對其餘高級腳本語言來講的,隨着 JIT(Just in Time)的發展,Java 的運行速度也愈來愈高。
Java 一般被用在網絡環境中,爲此,Java 提供了一個安全機制以防止惡意代碼的攻擊。除了 Java 語言具備許多的安全特性之外,Java 還對經過網絡下載的類增長一個安全防範機制,分配不一樣的名字空間以防替代本地的同名類,幷包含安全管理機制。