原文地址:docs.oracle.com/javase/tuto…html
關於Java技術的討論彷佛無處不在,但它到底是什麼呢?下面幾節將解釋Java技術是怎樣同時做爲編程語言和平臺的,而且提供這項技術能爲你作些什麼的概述。java
Java技術究竟是什麼?c++
Java技術能作什麼?程序員
Java技術將如何改變咱們的生活?數據庫
Java技術既是一門編程語言,同時又是一個平臺。編程
Java編程語言是一門高級語言,能夠用如下的全部流行詞彙來描述它:
簡單
面向對象
分佈式
多線程
動態的
體系結構中立
可移植
高效
健壯
安全安全
前面的每一個術語都在James Gosling和Henry McGilton撰寫的白皮書-《The Java Language Environment》中進行了解釋。
在Java編程語言中,全部的源代碼都是用.java拓展名的純文本文件編寫的,這些源文件經過javac編譯器編譯成.class文件。.class文件中包含的不是與本地機器相關的機器碼,而是可被Java虛擬機(Java VM)執行的字節碼,Java啓動工具使用Java虛擬機實例運行你的程序。網絡
由於Java VM能夠在不一樣的操做系統上使用,所以.class文件也能夠在Microsoft Windows,Solaris OS, Linux, 或者 Mac OS上運行。某些虛擬機(如HotSpot)在運行時執行額外的步驟來提升應用程序的性能。其中包括尋找性能瓶頸、重編譯(編譯成機器碼)熱點代碼。
平臺是程序運行的硬件或軟件環境,咱們已經提過一些流行的平臺,例如:Microsoft Windows, Linux, Solaris OS, 和 Mac OS。大多數的平臺能夠描述爲操做系統和底層硬件的組合,Java平臺與大多數其餘平臺的不一樣之處在於:它是一個運行在其餘基於硬件的平臺之上的純軟件平臺.多線程
Java平臺包含兩個組件:
一、Java虛擬機
二、Java API(Application Programming Interface)
你已經對Java虛擬機有了必定了解;它是Java平臺的基礎,並可被移植到各類基於硬件的平臺上。 API是大量現成的軟件組件的集合,提供了許多有用的功能。相關的類和接口被分到不一樣的庫;這些庫稱爲包(package)。下一節Java技術能作什麼?將突顯API提供的一些功能。oracle
做爲一個獨立於具體平臺的環境,Java平臺可能比本地機器碼要慢一些,可是隨着編譯器和虛擬機技術的進步使得性能接近於原生代碼,並具備良好的可移植性。
Java技術提供一個功能強大的軟件平臺,Java平臺的每一個完整實現都提供瞭如下特性:
開發工具:開發工具提供了編譯、運行、監視、調試和註釋應用程序所需的一切,做爲一個新開發人員,你主要使用的工具將是javac編譯器,java啓動器,javadoc文檔工具
API:API提供了Java編程語言的核心功能。它提供了大量有用的類,能夠在您本身的應用程序中使用。它涵蓋了從基本對象、到網絡和安全、到XML生成和數據庫訪問等全部方面,核心API很是龐大;要得到它所包含內容的概述,請參考Java Platform Standard Edition 8 Documentation
部署技術:JDK軟件提供了標準的機制,好比Java Web Start軟件和Java插件軟件,用於將應用程序部署到最終用戶
用戶界面工具包:JavaFX、Swing和Java 2D工具包使建立複雜的圖形用戶界面(GUI)成爲可能
集成庫:諸如Java IDL API、JDBC API、Java命名和目錄接口(JNDI) API、Java RMI、Java RMI-IIOP。
咱們不能保證你經過學習Java編程語言從而擁有名望、財富、或者是一份工做。可是,與其餘語言相比,它使得你的程序更好而且節省你的精力。咱們相信Java技術可以幫助你完成如下的工做:
簡單易學:儘管Java編程語言是一種強大的面嚮對象語言,但它很容易學習,尤爲是對於已經熟悉C或C++的程序員們來講。
代碼簡潔:對程序指標(類數、方法數等)的比較代表:用Java編程語言編寫的程序可能比用C++編寫的相同程序小四倍
代碼優美:Java編程語言鼓勵良好的編碼實踐,而且自動垃圾收集機制幫助您避免內存泄漏。它的面向對象、JavaBeans™組件體系結構和普遍的、易於擴展的API容許重用現有的、通過測試的代碼並引入更少的bug
快速開發:Java編程語言比c++簡單,所以,在用它編寫代碼時,您的開發時間可能比c++快兩倍您的程序也將須要更少的代碼行。
可移植性良好: 您能夠經過避免使用其餘語言編寫的庫來保持程序的可移植性。一次編寫,處處運行:由於用Java編程語言編寫的應用程序被編譯成與機器無關的字節碼,因此它們能夠在任何Java平臺上一致地運行。
易發佈性:使用Java Web Start軟件,用戶只需單擊鼠標就能夠啓動應用程序。啓動時的自動版本檢查確保用戶始終與軟件的最新版本保持同步。若是有更新可用,Java Web Start軟件將自動更新它們的安裝