1. 程式人生 > >談談你對Java 平臺的理解

談談你對Java 平臺的理解

web應用 應用程序 applet 項目 機制 垃圾收集器 運算符重載 通信 健壯性

經典回答

Java語言是一種面向對象的高級語言,它最顯著的有兩個特性,一是通過平臺中立的class文件格式和屏蔽底層硬件差異的jvm實現‘一次編寫,到處運行’;二是通過‘垃圾收集器’管理內存的分配和回收。

Java 是一種簡單、嚴謹並且適合編寫的語言,它不像C/C++ 那樣有很多晦澀難懂的內容,如頭文件、指針、結構等等。我們編寫java 會接觸到 JRE(Java Runtime Environment)或者 JDK(Java Development Kit)。 JRE,也就是 Java 運行環境,包含了JVM 和豐富的 Java 類庫,比如集合,泛型,反射,並發,網絡,IO/NIO等。而 JDK 可以作是 JRE 的一個超集,提供了更多工具,比如編譯器、各種診斷工具等,讓java 語言更加安全、健壯。還有更多第三方類庫的支持,如spring、springmvc、mybatis等讓java 非常適合開發。

很多對Java 的影響是它很慢,因為它是解釋執行。其實不是這樣的,Java 是解釋執行+編譯執行混合型。一般JVM 是直接解釋執行.class文件,當出現高頻代碼時JVM 會通過JIT 即時編譯器把經常運行的代碼作為"熱點代碼"編譯與本地平臺相關的機器碼,並進行各種層次的優化。

知識點

1、Java是純面向對象的語言。《Java編程思想》中提到Java語言是一種“Everything is object”的語言,它能夠直接反映現實生活中的對象,例如車、動物等,因此通過它編寫程序更容易。

2、平臺無關性。Java語言可以“一次編譯,到處執行”。無論是在Windows平臺還是在Linux、MacOS等其他平臺上對Java程序進行編譯,編譯後的程序在其他平臺上都可以運行。由於Java是解釋性語言,編譯器會將Java代碼變成“中間代碼”,然後在Java虛擬機(Java Virtual Machine,JVM)上解釋執行。由於中間代碼與平臺無關,因此Java語言可以很好的跨平臺執行,具有很好的可移植性。

3、Java提供了很多內置的類庫,通過這些類庫,簡化了開發人員的程序設計工作,同時縮短了項目的開發時間,例如,Java語言提供了對多線程的支持,提供了對網絡通信的支持,最主要的是提供了垃圾回收器,這使得開發人員從內存的管理中解脫出來。

4、提供了對Web應用開發的支持。例如,Applet、Servlet和JSP可以用來開發Web應用程序;Socket、RMI可以用來開發分布式應用程序。

5、具有較好的安全性和健壯性。Java語言經常被用在網絡環境中,為了增強程序的安全性,Java語言提供了一個防止惡意代碼攻擊的安全機制(數組邊界檢測和Bytecode校驗等)。Java的強類型機制、垃圾回收器、異常處理和安全檢查機制使得用Java語言編寫的程序具有很好的健壯性。

6、去除了C++語言中難以理解、容易混淆的特性,如頭文件、指針、結構、單元、運算符重載、虛擬基礎類、多重繼承等,使得程序更加嚴謹簡潔。

談談你對Java 平臺的理解