Java的特點
- 簡單性:程序員只需要理解一些基本的概念,就可以編寫出適合各種情況的小程序。Java語言通過提供最基本的的方法啊來完成指定的任務。並通過實現自動垃圾回收基址,大大簡化了程序員的的內存管理工作。
- 面向對象:面向對象的方法基於信息隱蔽和數據抽象類型的概念,利用類和對象的機制將數據和方法封裝在一起,通過統一的藉口與外界交互,通過了類的繼承機制實現代碼重用。Java語言支持面向對象方法中的三個基本特性:封裝性、繼承性和多態性。
- 體型結構中立、可移植性:①Java語言規定同一種數據類型在各種不同的實現中,必須佔據相同的內存空間。因此保證了其程序的平臺獨立性。②Java的最終實現需編譯和解釋兩個步驟。Java語言的編譯器生成的可執行的代碼爲字節碼,該字節碼可在提供Java虛擬機(JVM,Java Virtual Machine)的任何一個系統上解釋運行,與任何硬件平臺無關。因此Java程序具有“Write once,run anywhere”的特點。Java語言採用的這種先編譯後解釋的方法是以犧牲速度來換取的與平臺無關,從而提高了可移植性。
- 魯棒性:反映了程序的可靠性。Java是強類型語言,沒有指針,進行自動回收,並且在編譯和運行時,對可能出現的錯誤進行檢查,以消除錯誤的產生。這幾個Java內置的特性使程序的可靠性得到改進。
- 安全性:Java具有強大的安全結構和安全策略。Java安全性最重要的保證來自字節碼檢查器。
- 高性能:爲實現高性能Java語言所採取的的先進技術:①設計Java語言時,採用的是一種中性結構方式。②Java語言是先編譯後解釋的類型。爲了提高解釋之行的速度,當前的Java解釋器普遍採用了即使編譯技術。③Java語言支持多線程。它通過同步關鍵字synchronized來保證多個線程不會同時訪問一個被說明爲同步方法,從而使得某些關鍵操作不被打斷。
- 動態性:使得Java程序能夠適應不斷變化的執行環境。Java的動態性體現在其對類庫變化後,相對應的程序不必重新編譯;以及其對動態數據樂行和動態協議的支持。
注:進程與線程執行過程的區別:進程的特點是在執行過程中擁有自己獨立的內存空間和系統資源,不同進程的內存數據和狀態是彼此獨立的。線程在執行過程中共享一塊內存空間和一組系統資源,線程之間可以直接進行數據交換。因此,線程比進程的開銷要小。多個線程並行執行,類似於多個CPU在同時運行