Java語言概述
概述
語言:
人與人交通溝流的表達方式
計算機語言:
人與計算機之間進行資訊交通溝流的一種特殊語言
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)等
相關文章
- Java開發之路—java語言概述Java
- Java 語言概述與開發環境(1)Java開發環境
- Java 語言概述與開發環境(2)Java開發環境
- 02-Java語言概述及環境配置Java
- Java語言概述022_JVM與垃圾收集機制JavaJVM
- JSP 表示式語言概述JS
- 自然語言處理(NLP)概述自然語言處理
- Flutter系列之Dart語言概述FlutterDart
- 第二章 C語言概述C語言
- go語言編譯過程概述Go編譯
- java語言屬於哪種語言Java
- 安全是一門語言的藝術|威脅調查分析語言概述
- C_Primer第2章 C語言概述C語言
- Java語言規範Java
- java語言學習Java
- 語言模型文字處理基石:Tokenizer簡明概述模型
- Go 語言程式碼風格規範-概述篇Go
- Java Platform SE 8(Java™程式語言)JavaPlatform
- Wfurent 語語法概述
- 鴻蒙HarmonyOS實戰-ArkTS語言基礎類庫(概述)鴻蒙
- Java概述Java
- Java 概述Java
- Java (計算機程式語言)Java計算機
- Java語言編碼規範Java
- 8.17----學習JAVA語言Java
- 7.27----學習JAVA語言Java
- JAVA語言程式設計思想Java程式設計
- Java語言程式設計—迴圈語句Java程式設計
- Java和Go語言二選一,選擇哪門語言好?JavaGo
- Java語言編碼規範(Java Code Conventions)Java
- Java語言入門:該如何學習JavaJava
- XPath 語法概述
- RSS 語法概述
- Java程式語言特點簡介Java
- Java備忘錄《語言特點》Java
- Java語言有什麼特點Java
- Java與C語言的區別?JavaC語言
- java語言的入門介紹Java