Java(1)--基本概述


1.Java運行開發環境java

Sun在1996年年初發布JDK1.0(首版)。這個版本包含兩個部分:運行環境(jre)和開發環境(jdk)。數據庫

(1)運行環境包括:核心API、集成API、用戶界面API、發佈技術、Java虛擬機(JVM)5各部分;數組

(2)開發環境包括:編譯Java程序的編譯器(javac命令)。ide


2.Java程序的運行機制和JVM:spa

(1)Java語言編譯後不會生成特定平臺的機器碼,而是生成一種與平臺無關的字節碼(xxx.class),必須用Java解釋器解釋執行。對於Java而言編譯和解釋缺一不可;以下圖:線程

       wKiom1aYo_aSGtOEAAB8mgUgpTA776.png

(2)Java中負責解釋執行字節碼的是Java虛擬機,即JVM(Java virtual machine)。Java字節碼不面向任何平臺,只面向JVM。不一樣平臺的JVM是不一樣的,可是他們都提供相同的接口;3d


3.Java程序的編譯和運行對象

(1)使用記事本便可,編譯命令:Javac -d . HelloWorld.java(-d 表示生成.class文件的目錄,.表示當前目錄);運行命令:Java Java的類名(注意:運行時Java命令後接類名,而非.class文件名,更非源Java文件名)。blog

(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()方式只僅僅是建議系統回收垃圾;

相關文章
相關標籤/搜索