- 零基礎學Java程序設計
- 祝明慧編著
- 1170字
- 2022-05-06 19:55:50
1.4.2 Java的特點

Sun公司在1995年推出Java的同時發(fā)布了一條關于Java的白皮書,這樣描述Java:Java是一種簡單的(Simple)、面向對象的(Object Oriented)、分布式的(Distributed)、健壯的(Robust)、安全的(Secure)、體系結構中立的(Architecture Neutral)、可移植的(Portable)、解釋型的(Interpreted)、高性能的(High Performance)、多線程的(Multi Threaded)和動態(tài)的(Dynamic)語言。下面依次對這些特點進行講解。
1.Java是簡單的
Java的語法與C和C++等語言的語法很接近,使得大多數(shù)程序員很容易學習和使用。Java舍棄了C++中很少使用的、很難理解的那些特性,如操作符重載、多繼承、自動的強制類型轉換。而且,Java語言不使用指針,而是引用,并提供了自動分配和回收內存空間功能,使得程序員不必為內存管理而擔憂。
2.Java是面向對象的
Java提供類、對象、接口、繼承、包等面向對象的特性。為了簡便起見,Java只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關鍵字為implements)。使用Java開發(fā)程序,需要采用面向對象的思想設計程序和編寫代碼。
3.Java是分布式的
Java支持因特網(wǎng)(Internet)應用的開發(fā)。在基本的Java應用編程接口中,有一個網(wǎng)絡應用編程接口(java net),它提供了用于網(wǎng)絡應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的遠程方法激活(RMI)機制也是開發(fā)分布式應用的重要手段。
4.Java是健壯的
Java的強類型機制、異常處理機制、垃圾的自動收集機制等是Java程序健壯的重要保證,Java的安全檢查機制使得Java更具健壯性。對指針的丟棄是Java的明智選擇。
5.Java是安全的
Java通常被用在網(wǎng)絡環(huán)境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了具有的許多安全特性以外,Java對通過網(wǎng)絡下載的類提供一個安全防范機制(ClassLoader類),如分配不同的名稱空間以防替代本地的同名類或進行字節(jié)代碼檢查,并提供安全管理機制(SecurityManager類)為Java應用設置安全哨兵。
6.Java是體系結構中立的
Java程序(后綴為java的文件)在Java平臺上被編譯為體系結構中立的字節(jié)碼格式(后綴為class的文件),然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合異構的網(wǎng)絡環(huán)境和軟件的分發(fā)。
7.Java是可移植的
Java程序具有與體系結構無關的特性,Java的類庫也提供了針對不同平臺的接口,所有這些類庫也可以被移植。
8.Java是解釋型的
前已述及,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在連接階段被載入運行環(huán)境中。
9.Java是高性能的
Java編譯后的字節(jié)碼是在解釋器中運行的,所以它的速度較多數(shù)交互式運行程序提高了很多。
10.Java是多線程的
Java是多線程語言,能處理不同任務,使得進行具有線程的程序設計很容易。Java的lang包提供一個Thread類,支持開始線程、運行線程、停止線程和檢查線程狀態(tài)的方法。
11.Java是動態(tài)的
Java適用于動態(tài)變化的環(huán)境。Java程序需要的類可以動態(tài)地被載入運行環(huán)境中,也可以通過網(wǎng)絡來載入所需要的類。這有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
- Learning Python Web Penetration Testing
- Testing with JUnit
- 軟件架構設計:大型網(wǎng)站技術架構與業(yè)務架構融合之道
- 趣學Python算法100例
- 微信小程序入門指南
- Serverless computing in Azure with .NET
- 好好學Java:從零基礎到項目實戰(zhàn)
- Learning Unreal Engine Android Game Development
- Regression Analysis with Python
- Python計算機視覺和自然語言處理
- 測試架構師修煉之道:從測試工程師到測試架構師
- C語言從入門到精通
- Mastering PowerCLI
- 系統(tǒng)分析師UML用例實戰(zhàn)
- JavaScript程序設計基礎教程(慕課版)