Java——基礎簡介

【歷史】

第三代語言:java

(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運行環境
相關文章
相關標籤/搜索