1.Java運作開發環境
Sun在1996年年初釋出JDK1.0(首版)。這個版本包含兩個部分:運作環境(jre)和開發環境(jdk)。
(1)運作環境包括:核心API、內建API、使用者界面API、釋出技術、Java虛拟機(JVM)5各部分;
(2)開發環境包括:編譯Java程式的編譯器(javac指令)。
2.Java程式的運作機制和JVM:
(1)Java語言編譯後不會生成特定平台的機器碼,而是生成一種與平台無關的位元組碼(xxx.class),必須用Java解釋器解釋執行。對于Java而言編譯和解釋缺一不可;如下圖:

(2)Java中負責解釋執行位元組碼的是Java虛拟機,即JVM(Java virtual machine)。Java位元組碼不面向任何平台,隻面向JVM。不同平台的JVM是不同的,但是他們都提供相同的接口;
3.Java程式的編譯和運作
(1)使用記事本即可,編譯指令:Javac -d . HelloWorld.java(-d 表示生成.class檔案的目錄,.表示目前目錄);運作指令:Java Java的類名(注意:運作時Java指令後接類名,而非.class檔案名,更非源Java檔案名)。
(2)注意Java區分大小寫。
4.關于Java程式:
(1)類是Java程式的最小機關。最簡單的Java程式也就是僅有一個空類的程式class A{},但是該類隻能編譯通過,卻不可運作,因為Java程式運作需要main方法入口;
(2)main方法的寫法幾乎是固定的,即必須由public static void修飾,參數必須是字元串數組類型(String[] args),一般的Java程式都有且僅有一個main方法,其他方法均由main方法直接或間接調用;
5.垃圾回收機制
(1)Java程式的記憶體配置設定和回收都是由JRE在背景自動進行的,JRE回收不再使用的記憶體,稱為垃圾回收(Garbage Collection -- GC);
(2)JRE會提供一個背景線程來檢測和控制,一般是在CPU空閑或者記憶體不足時自動進行垃圾回收,而程式開發者無法精确控制垃圾回收的時間和順序;
(3)堆記憶體中儲存所有類的執行個體對象,如果不再被程式所引用,則有垃圾回收機制自動釋放;
(4)JVM除了釋放沒用的對象外,還可以清楚記憶體記錄碎片(碎片是配置設定給對象記憶體快之間的空閑記憶體區),JVM将整理出來的記憶體配置設定給新的對象;
(5)關于GC的幾點說明:
a.GC隻能回收記憶體資源,對于其他實體資源:資料庫連接配接、磁盤I/O的資源無能為力;
b.為了盡快使得無用的對象被回收,應将該對象賦null;
c.Runtime.getRuntime().gc();和System.gc()方式隻僅僅是建議系統回收垃圾;