標籤:
【曆史】
第三代語言:
(1)C、Pascal、Fortran面向過程的語言;(2)C++面向過程/物件導向;(3)Java跨平台的純物件導向的語言;(4).NET跨語言的平台。 第四代語言:SQL 【特點】(1)
純物件導向的語言;(2)與
平台無關的語言,提供者啟動並執行解釋環境;(3)健壯的語言,吸收了C/C++的優缺點,去掉了影響其程式健壯性的部分(例如,指標、記憶體的申請與釋放)。 【運行機制】(1)Java虛擬機器(JVM) <1>Java虛擬機器可以理解成一個
以位元組碼(*.class)為機器指令的CPU (這一點類似於Windows平台上的組合語言,只要編譯成class檔案,就可以實現跨平台) <2>對於不同的運行平台,有不同的虛擬機器 (JVM for UNIX/Windows/Other Platform) <3>Java虛擬機器機制屏蔽了地層運行平台的差異,實現了"
一次編譯,隨處運行"。 (C語言在編的比較好的情況下,可以實現“
一次編程,隨處運行”,但是還必須在不同的作業系統上編譯後才可以) 【面試題】 Java是編譯型語言還是解釋型語言? ----解釋型語言<1>C/C++語言可以直接編譯成作業系統識別的可執行檔的格式,不經過第二次,這叫做編譯型語言;<2>Java第一次編譯成自己的可執行檔格式*.class,當class檔案在執行時是JVM逐行進行解釋,產生目標平台識別的格式。 (2)垃圾收集機制(Garbage collection) <1>不再使用的記憶體空間需要回收; <2>在C/C++中,由程式員負責回收無用記憶體; <3>Java提供了一種系統級線程跟蹤儲存空間的分配情況,並在JVM空閑時,檢查並釋放那些可被釋放的儲存空間空間; <4>記憶體回收在Java程式運行過程中自動進行,程式員無法精確控制和幹預。 (Java程式會出現“卡機”的情況,例如eclipse出現反應慢的情況,這就是在動態進行記憶體回收) 【運行過程】來源程式(*.java檔案)--<Java編譯器>--位元組碼(*.class檔案)--<類裝載器>--<位元組碼校正器>--<解譯器>--<作業系統平台>----javac的作用是將*.java檔案編譯成*.class檔案(格式:javac HelloWorld.java)----java的作用是運行程式(格式:java HelloWorld) 【J2SDK】 ----軟體開發包 【JRE】 ----Java運行環境
Java——基礎簡介