java程序運行機制 – JAVA編程語言程序開發技術文章

接觸java也將近三周瞭,從java的底層運行機制,到GUI界面設計,都是完全靠代碼編程。學習java之前使用vb.net開發,同樣的是面向對象的開發,vb.net把很多底層類的的編程和界面設計都封裝的特別好。我們隻是簡單地為自己使用。而java可以更靈活,依靠強大的api文檔,可以完全按照自己的意願編程。使用java編程才是“真正的編程”。vb.net是跨語言平臺,而java是跨平臺的一種編程語言。

 

     java之所以靈活,高效,安全。是因為有自己的獨立的運行機制,最核心的兩種機制-虛擬機(Virtual Machine)和垃圾收集機制(Grabage Collection).

 

     核心機制-虛擬機(virtual  machine)

      Java虛擬機(JVM)一種用於計算機設備的規范,可用不同的方式(軟件或硬件)加以實現。好比一個簡單地操作系統,有著自己獨立的cpu,硬件 、堆棧、寄存器等,還具有相應的指令系統。

      JVM有自己的編譯器和解釋器,通過一次編譯,再根據不同的系統解釋(一邊解釋一邊執行)為不同的目標文件(字節碼),使得在不同的系統平臺上直接執行,實現一次編譯,到處運行。所以不同的操作系統對應著不同的虛擬機。

  

 

 編譯器(javac)將程序編譯成字節代碼的Class文件,然後在裝有JDK(Java Development Kit  java環境運行)通過解釋器(java)編譯執行。

 

 

        核心機制-垃圾收集機制(Grabage Collection)

       其一,消除瞭程序員在編程過程中手動回收內存的責任。其二:實現瞭完全自動回收內存。其三根據程序執行時內存空間的分配不同,如下圖中對象(new)或變量(成員變量)等等的生命期不同,java提供瞭系統機線程跟蹤內存空間的分配情況,自動完成內存的釋放。

       java內存的分配大致如下圖

     
  

摘自 殷晶晶-信息技術提高班
 

發佈留言