Java語言 教程
java語言 教程
java 是由 sun microsystems 公司于 1995 年 5 月推出的 java 語言和 java 平臺的總稱。由于 sun 公司已被 oracle 公司收購,所以 java 成為 oracle 公司的產品。
java 語言是一門面向對象的編程語言,功能強大,簡單易用,具有簡單性、面向對象、分布式等特點,可以編寫桌面應用程序、web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。
java 語言在服務器編程方面使用最廣泛、生態(tài)最完備。
java分為三個體系:
- javase(j2se):java2 platform standard edition,java平臺標準版。
- javaee(j2ee):java 2 platform,enterprise edition,java平臺企業(yè)版。
- javame(j2me):java 2 platform micro edition,java平臺微型版。
1. 主要特性
- java 語言是簡單的:
java 語言的語法與 c 語言和 c++ 語言很接近,使得大多數(shù)程序員很容易學習和使用。另一方面,java 丟棄了 c++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,java 語言不使用指針,而是引用。并提供了自動分配和回收內存空間,使得程序員不必為內存管理而擔憂。 - java 語言是面向對象的:
java 語言提供類、接口和繼承等面向對象的特性,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關鍵字為 implements)。java 語言全面支持動態(tài)綁定,而 c++語言只對虛函數(shù)使用動態(tài)綁定??傊?,java語言是一個純的面向對象程序設計語言。 - java語言是分布式的:
java 語言支持 internet 應用的開發(fā),在基本的 java 應用編程接口中有一個網絡應用編程接口(java net),它提供了用于網絡應用編程的類庫,包括 url、urlconnection、socket、serversocket 等。java 的 rmi(遠程方法激活)機制也是開發(fā)分布式應用的重要手段。 - java 語言是健壯的:
java 的強類型機制、異常處理、垃圾的自動收集等是 java 程序健壯性的重要保證。對指針的丟棄是 java 的明智選擇。java 的安全檢查機制使得 java 更具健壯性。 - java語言是安全的:
java通常被用在網絡環(huán)境中,為此,java 提供了一個安全機制以防惡意代碼的攻擊。除了java 語言具有的許多安全特性以外,java 對通過網絡下載的類具有一個安全防范機制(類 classloader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類 securitymanager)讓 java 應用設置安全哨兵。 - java 語言是體系結構中立的:
java 程序(后綴為 java 的文件)在 java 平臺上被編譯為體系結構中立的字節(jié)碼格式(后綴為 class 的文件),然后可以在實現(xiàn)這個 java 平臺的任何系統(tǒng)中運行。這種途徑適合于異構的網絡環(huán)境和軟件的分發(fā)。 - java 語言是可移植的:
這種可移植性來源于體系結構中立性,另外,java 還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。java 系統(tǒng)本身也具有很強的可移植性,java 編譯器是用 java 實現(xiàn)的,java 的運行環(huán)境是用 ansi c 實現(xiàn)的。 - java 語言是解釋型的:
如前所述,java 程序在 java 平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個 java 平臺的任何系統(tǒng)中運行。在運行時,java 平臺中的 java 解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。 - java 是高性能的:
與那些解釋型的高級腳本語言相比,java 的確是高性能的。事實上,java 的運行速度隨著 jit(just-in-time)編譯器技術的發(fā)展越來越接近于 c++。 - java 語言是多線程的:
在 java 語言中,線程是一種特殊的對象,它必須由 thread 類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構為 thread(runnable) 的構造子類將一個實現(xiàn)了 runnable 接口的對象包裝成一個線程,其二,從 thread 類派生出子類并重寫 run 方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是 thread 類已經實現(xiàn)了 runnable 接口,因此,任何一個線程均有它的 run 方法,而 run 方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。java 語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關鍵字為 synchronized)。 - java 語言是動態(tài)的:
java 語言的設計目標之一是適應于動態(tài)變化的環(huán)境。java 程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網絡來載入所需要的類。這也有利于軟件的升級。另外,java 中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
2. java 開發(fā)工具
1)什么是 jdk
java 有完善的開發(fā)工具包,稱為 jdk。jdk是什么?jdk即java development kit的縮寫,它是java語言的軟件開發(fā)工具包。
jdk最初由sun microsystems發(fā)明,提供給java開發(fā)人員,用來開發(fā)server、pc、移>動設備和嵌入式設備上的java應用程序。
jdk是整個java開發(fā)的核心,它包括java運行環(huán)境、java基礎類庫和java工具。
2)java 開發(fā)環(huán)境
使用 java 語言編程,開發(fā)環(huán)境要保證系統(tǒng)內存在 1g 以上。常見的操作系統(tǒng)都可以安裝 jdk,比如windows、linux、macos等。
java jdk 可以使用 jdk8 以上版本,目前最新版本為 java16,生產環(huán)境中以 jdk8 和 jdk11 居多。
常用的集成開發(fā)環(huán)境 ide 包括:intellij idea、eclipse 和 vscode 等。