此文主要講述什麼是 Java,以及 Java 常識性知識,方便親們進一步瞭解 Java 語言相關的常識。程序員
1、Java 概述編程
Java 語言是美國 Sun Microsystems 公司於 1995 年推出的面向對象的程序設計語言,其充分考慮了互聯網時代的特色,適合互聯網的開發。用 Java 實現的 HotJava 瀏覽器(支持 Java Applet)顯示了 Java 的潛力:跨平臺、動態的 Web、Internet計算。在設計上具備跨平臺、安全、面向對象等特色收到了廣大編程愛好者的喜好,同時也成爲了衆多公司編程語言的首選。另外如今不少的開源測試工具也都有 Java 的身影(例如 JMeter,Selenium等)。瀏覽器
Java是由Sun Microsystems公司推出的Java面向對象程序設計語言(如下簡稱Java語言)和Java平臺的總稱,是一個純的面向對象的程序設計語言。安全
Java 平臺由 Java 虛擬機(Java Virtual Machine)和 Java 應用編程接口(Application Programming Interface, API)構成。Java 應用編程接口爲 Java 應用提供了一個獨立於操做系統的標準接口,使 Java 語言實現了跨平臺。服務器
2、Java 可分爲如下三個體系:網絡
- JavaSE(Java Platform,Standard Edition,Java 標準版)。它容許開發和部署在桌面、服務器、嵌入式環境和實時環境中使用的Java應用程序。Java SE 包含了支持Java Web 服務開發的類,併爲Java Platform,Enterprise Edition(Java EE)提供基礎。
- JavaEE(Java Platform,Enterprise Edition,Java 企業版)。企業版本幫助開發和部署可移植、健壯、可伸縮且安全的服務器端 Java 應用程序。Java EE 是在Java SE 的基礎上構建的,它提供Web 服務、組件模型、管理和通訊API,能夠用來實現企業級的面向服務體系結構(service-oriented architecture,SOA)和Web 2.0 應用程序。
- JavaME(Java Platform,Micro Edition,Java 移動設備版)。Java ME 爲在移動設備和嵌入式設備(好比手機、PDA、電視機頂盒和打印機)上運行的應用程序提供一個健壯且靈活的環境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內置的網絡協議以及對能夠動態下載的連網和離線應用程序的豐富支持。基於Java ME 規範的應用程序只需編寫一次,就能夠用於許多設備,並且能夠利用每一個設備的本機功能。
3、Java 語言的特色:
多線程
Java 是一門優秀的程序設計語言,是一個簡單、面向對象、分佈式、解釋型、健壯性、安全、平臺無關性(跨平臺)、體系結構中立、可移植、高性能、多線程、自動內存管理、動態的語言。編程語言
- 簡單性:Java 是一種簡單易學的語言。其語法與 C 語言 和 C++ 語言很接近,比較容易學習和使用;同時,丟棄了 C++ 中不多使用的、很難理解的、使人迷惑的特性,如操做符重載、多繼承等。另外 Java 語言再也不使用指針,並提供了自動的垃圾回收處理機制,使程序員沒必要爲內存管理而擔心。
- 面向對象:Java 是一種面嚮對象語言,對於Java來講,一切皆是對象。Java 語言提供類、接口和繼承等原語,只支持類之間的單繼承,接口之間支持多繼承,並支持類與接口之間的實現機制(關鍵字爲 implements)。Java 語言全面支持動態綁定,C++ 僅支持對虛函數的動態綁定。如果理解了 Java 面向對象的基本概念,學習 Java 將更加輕鬆。
- 分佈式:Java 能夠應用於分佈式的互聯網環境中。Java 語言支持 Internet 應用的開發,在基本的 Java 應用編程接口中都有一個網絡應用編程接口(Java.net),提供了用於網絡應用編程的類庫,包括 URL、URLConnection、Socket、ServerSocket等。Java 的 RMI(遠程方法激活)機制也是開發分佈式應用的重要手段。
- 解釋型:Java 程序在 Java 平臺上被編譯爲字節碼格式,可在實現這個 Java 平臺的任何系統中運行。在運行時, Java 平臺中的 Java 解釋器對這些字節碼進行解釋執行,在執行過程當中須要的類在鏈接階段被載入到運行環境中。
- 健壯性:Java 主要經過在編譯期以及運行時的錯誤檢查,來儘量排除未知的錯誤。Java 的強類型機制、異常處理、垃圾的自動回收機制、安全檢查機制等是 Java 程序健壯性的重要保證。
- 安全性:Java 語言提供了一個安全機制以防止惡意代碼的攻擊。除了Java 語言具備許多安全特性之外,Java 對經過網絡下載的類具備一個安全防範機制(類 ClassLoader),如分配不一樣的名字空間以防止替代本地的同類名、字節代碼檢查,並提供安全管理機制(類 SecurityManager)成爲 Java 的安全保障。Java 的安全特性確保Java能夠用來開發無病毒、難篡改的系統。Java 的認證技術是基於公鑰加密的。
- 平臺無關性:Java 語言的設計不針對某種具體平臺結構,這點不像 C/C++ 等編程語言。在編譯時,是將 Java 程序編譯成與具體體系結構無關的字節碼。字節碼能夠發佈在互聯網上而且由 Java 虛擬機(JVM)解釋執行。
- 體系結構中立:Java 編譯器生成與平臺無關的字節碼格式文件(後綴爲 calss 的文件),這種文件能夠在實現這個 Java 平臺的任何系統中運行,適合用於異構的網絡環境和軟件的分發。
- 可移植性:來源於體系結構中立性。Java 語言與平臺無關,Java語言規範中也沒有規定任何與具體實現相關的內容,這使得 Java 具備可移植性。編譯器和 Java 依據 POSIX 方便移植的限制,用 ANSI C 語言寫成。
- 高性能:與解釋型的高級腳本語言相比, Java 是高性能的。同時,隨着 JIT(Just-In-Time)即時編譯技術的快速發展,使得 Java 將具備高性能特性。
- 多線程:Java 支持多線程編程,使用 Java 能夠編寫同時執行多個任務的程序。這種特徵使得開發者能夠構建穩定的交互式應用程序。
- 動態性:Java 是一種比 C/C++ 更具備動態特性的語言,它能夠適應不斷變化的環境。Java 程序能夠攜帶大量的運行時信息,這些信息用來驗證和解析運行時對象。