Java語言概述

AlwaysOptimistic發表於2020-12-22

概述

語言:

人與人交通溝流的表達方式

計算機語言:

人與計算機之間進行資訊交通溝流的一種特殊語言

Java語言:

Java是一門物件導向程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態物件導向程式語言的代表,極好地實現了物件導向理論,允許程式設計師以優雅的思維方式進行復雜的程式設計

特點

簡單

Java設計目標之一就是能夠方便學習,使用簡單。由於當初C++程式設計師很多,介紹C++語言的書 籍也很多,所以Java語言的風格設計成為類似於C++語言風格,但Java摒棄了C++中容易引發程 序錯誤的地方,如指標、記憶體管理、運算子過載和多繼承等。一方面C++程式設計師可以很快遷移 到Java;另一方面沒有程式設計經驗的初學者也能很快學會Java

物件導向

物件導向是Java最重要的特性。Java是徹底的、純粹的面嚮物件語言,在Java中“一切都是對 象”。Java完全具有物件導向三個基本特性:封裝、繼承和多型,其中封裝性實現了模組化和信 息隱藏,繼承性實現了程式碼的複用,使用者可以建立自己的類庫。而且Java採用的是相對簡單的 物件導向技術,去掉了多繼承等複雜的概念,只支援單繼承

分散式

Java語言就是為分散式系統而設計的。JDK(Java Development Kits,Java開發工具包)中包含了支 持HTTP和FTP等基於TCP/IP協議的類庫。Java程式可以憑藉URL開啟並訪問網路上的物件,其 訪問方式與訪問本地檔案系統幾乎完全相同

結構中立

Java程式需要在很多不同網路裝置中執行,這些裝置有很多不同型別的計算機和作業系統。為 能夠使Java程式能在網路的任何地方執行,Java編譯器編譯生成了與機器結構(CPU和操作系 統)無關的位元組碼(byte-code)檔案。任何種類的計算機,只要可以執行Java虛擬機器,位元組碼文 件就可以在該計算機上執行

可移植

體系結構的中立也使得Java程式具有可移植性。針對不同的CPU和作業系統Java虛擬機器有不同的 版本,這樣就可以保證相同的Java位元組碼檔案可以移植到多個不同的平臺上執行

解釋執行

為實現跨平臺,Java設計成為解釋執行的,即Java原始碼檔案首先被編譯成為位元組碼檔案,這些 位元組碼本身包含了許多編譯時生成的資訊,在執行時候Java直譯器負責將位元組碼檔案解釋成為 特定的機器碼進行執行

健壯

Java語言是強型別語言,它在編譯時進行程式碼檢查,使得很多錯誤能夠在編譯期被發現,不至 於在執行期發生而導致系統崩潰

Java摒棄了C++中指標操作,指標是一種很多強大的技術,能夠直接訪問記憶體單元,但同時也很 複雜,如果指標操控不好,會引起導致記憶體分配錯誤、記憶體洩漏等問題。而Java中則不會出現 由指標所導致的問題

記憶體管理方面C/C++等語言採用手動分配和釋放,經常會導致記憶體洩漏,從而導致系統崩潰
而Java 採用自動記憶體垃圾回收機制,程式設計師不再需要管理記憶體,從而減少記憶體錯誤的發生,提高了程式的健壯性

安全

在Java程式執行過程中,類裝載器負責將位元組碼檔案載入到Java虛擬機器中,這個過程中由位元組碼 校驗器檢查程式碼中是否存在著非法操作。如果位元組碼校驗器檢驗通過,由Java直譯器負責把該 位元組碼解釋成為機器碼進行執行,這種檢查可以防止木馬病毒

另外,Java虛擬機器採用的是“沙箱”執行模式,即把Java程式的程式碼和資料都限制在一定記憶體空間 裡執行,不允許程式訪問該記憶體空間外的記憶體

高效能

Java編譯器在編譯時對位元組碼會進行一些優化,使之生成高質量的程式碼。Java位元組碼格式就是針 對機器碼轉換而設計的,實際轉換時相當簡便。Java在解釋執行時採用一種即時編譯技術,可 使Java程式的執行速度提升很大。多年的發展Java虛擬機器也有很多改進這都使得Java程式的執行 速度提升很大

多執行緒

Java是為網路程式設計而設計的,這要求Java能夠併發處理多個任務。Java支援多執行緒程式設計,多執行緒 機制可以實現併發處理多個任務,互不干涉,不會由於某一任務處於等待狀態而影響了其它任 務的執行,這樣就可以容易的實現網路上的實時互動操作

動態

Java應用程式在執行過程中,可以動態的載入各種類庫,即使是更新類庫也不必重新編譯使用 這一類庫的應用程式。這一特點使之非常適合於網路環境下執行,同時也非常有利於軟體的開發

平臺

Java不僅是程式語言,還是一個開發平臺,Sun公司根據Java應用領域的不同將Java分成三個平臺: Java SE、Java EE和Java ME

Java SE

Java SE是Java Standard Edition的簡寫,主要目的是為桌上型電腦和工作站桌面應用(Application)程式的版本

Java SE是其他平臺的基礎

Java EE

Java EE是Java Enterprise Edition的簡寫,主要目的是為簡化企業級系統的開發、部署和管理。Java EE是以 Java SE為基礎的,並提供了一套服務、API介面和協議,能夠開發企業級分散式系統、Web應用程式 和業務元件等,其中的包括:JSP、Servlet、EJB、JNI和Java Mail等

Java ME

Java ME是Java Micro Edition的簡寫,主要是面向消費類電子產品,為消費電子產品提供一個Java的執行平 臺,使得Java程式能夠在手機、機頂盒、PDA等產品上執行。Java ME在早期的諾基亞塞班手機系統有 很多應用,而現在的iOS和Android等智慧手機中基本上沒有它的用武之地

JVM、JRE和JDK

JVM

Java Virtual Machine是Java虛擬機器,Java程式需要執行在虛擬機器上,不同的平臺有自己的虛擬機器,因此Java語言可以實現跨平臺

JRE

Java Runtime Environment包括Java虛擬機器和Java程式所需的核心類庫等。核心類庫主要是java.lang包:包含了執行Java程式必不可少的系統類,如基本資料型別、基本數學函式、字串處理、執行緒、異常處理類等,系統預設載入這個包
如果想要執行一個開發好的Java程式,計算機中只需要安裝JRE即可

JDK

Java Development Kit是提供給Java開發人員使用的,其中包含了Java的開發工具,也包括了JRE。所以安裝了JDK,就無需再單獨安裝JRE了。其中的開發工具:編譯工具(javac.exe),打包工具(jar.exe)等

相關文章