JDK是 Java 語言的軟件開發工具包,主要用于移動設備、嵌入式設備上的java應用程序。JDK是整個java開發的核心,它包含了JAVA的運行環境(JavaOS+Java系統類庫)和JAVA工具。
版本
JDK(Java Development Kit) 是 Java 語言的軟件開發工具包(SDK)。
SE(JavaSE),standard edition,標準版,是我們通常用的一個版本,從JDK 5.0開始,改名為Java SE。
EE(JavaEE),enterprise edition,企業版,使用這種JDK開發J2EE應用程序,從JDK 5.0開始,改名為Java EE。從2018年2月26日開始,JBoss改名為Jakarta EE ? 。
ME(J2ME),micro edition,主要用于移動設備、嵌入式設備上的java應用程序,從JDK 5.0開始,改名為Java ME。
沒有JDK的話,無法編譯Java程序(指java源碼.java文件),如果想只運行Java程序(指class或jar或其它歸檔文件),要確保已安裝相應的JRE。
以下是各版本的名稱及發布日期:
jdk各個版本的特性
1997 年Servlet技術的產生以及緊接著JSP的產生,為Java對抗PHP,ASP等等服務器端語言帶來了籌碼。1998年,Sun發布了EJB1.0標準,至此JBoss平臺的三個核心技術都已經出現。于是,1999年,Sun正式發布了J2EE的第一個版本。并于1999年底發布了J2EE1.2,在 2001年發布了J2EE1.3,2003年發布了J2EE1.4。
2.J2EE1.3 J2EE1.3的架構,其中主要包含了Applet容器,Application Client容器,Web容器和EJB容器,并且包含了Web Component,EJB Component,Application Client Component,以JMS,JAAS,JAXP,JDBC,JAF,JavaMail,JTA等等技術做為基礎。 1.3中引入了幾個值得注意的功能:Java消息服務(定義了JMS的一組API),JBoss連接器技術(定義了擴展J2EE服務到非J2EE應用程序的標準),XML解析器的一組Java API,Servlet2.3,JSP1.2也都進行了性能擴展與優化,全新的CMP組件模型和MDB(消息Bean)。
3.J2EE1.4 J2EE1.4 大體上的框架和J2EE1.3是一致的,1.4增加了對Web服務的支持,主要是Web Service,JAX-RPC,SAAJ,JAXR,還對EJB的消息傳遞機制進行了完善(EJB2.1),部署與管理工具的增強(JMX),以及新版本的Servlet2.4和JSP2.0使得Web應用更加容易。
4.JAVA EE 5
JAVA EE 5擁有許多值得關注的特性。其中之一就是新的 Java Standard Tag Library (JSTL) 1.2 規范。JSTL 1.2 的關鍵是統一表達式語言,它允許我們在 JavaServer Faces (JSF) 中結合使用 JSTL 的最佳特性。
jdk1.8新特性
Java 8允許我們給接口添加一個非抽象的方法實現,只需要使用 default關鍵字即可。
新增lambda表達式
提供函數式接口
Java 8 允許你使用 :: 關鍵字來傳遞方法或者構造函數引用
我們可以直接在lambda表達式中訪問散逸層的局部變量。
1.
Java 8允許我們給接口添加一個非抽象的方法實現,只需要使用 default關鍵字即可。
2.
新增lambda表達式
3.
提供函數式接口
4.
Java 8 允許你使用 :: 關鍵字來傳遞方法或者構造函數引用
5.
我們可以直接在lambda表達式中訪問外層的局部變量。
組成
JDK包含的基本組件包括:
javac – 編譯器,將源程序轉成字節碼
jar – 打包工具,將相關的類文件打包成一個文件
javadoc – 文檔生成器,從源碼注釋中提取文檔
jdb – debugger,查錯工具
java – 運行編譯后的java程序(.class后綴的)
appletviewer:小程序瀏覽器,一種執行HTML上的Java小程序的Java瀏覽器。
Javah:產生可以調用Java過程的C過程,或建立能被Java程序調用的C過程的頭文件。
Javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數據,同時顯示字節代碼含義。
jconsole: Java進行系統調試和監控的工具
jdk結構圖
分類
java.lang:這個是系統的基礎類,比如String等都是這里面的,這個包是唯一一個可以不用引入(import)就可以使用的包。
java.io:這里面是所有輸入輸出有關的類,比如文件操作等。
java.nio:為了完善io包中的功能,提高io包中性能而寫的一個新包,例如NIO非堵塞應用
java.net: 這里面是與網絡有關的類,比如URL,URLConnection等。
java.util:這個是系統輔助類,特別是集合類Collection,List,Map等。
java.SQL:這個是數據庫操作的類,Connection, Statement,ResultSet等。
javax.servlet:這個是JSP,Servlet等使用到的類。
環境配置
在Windows下
java運行環境安裝與測試及HelloWorld的實現。
1.下載j2sdk 1.6.0_21或更高版本 (http://java.sun .com,建議同時下載其Java Documentation,這是Java幫助文檔)。
2.運行剛剛下載的安裝程序進行正式安裝(以下假設安裝于c:\jdk1.6.0_21\,建議安裝路徑不要有空格,不宜安裝在\Program Files目錄下!)。
3.設置運行環境參數:
a.如果是Windows 95、Windows 98,在\autoexec.bat的最后面添加如下3行語句:
set JAVA_HOME=JDK安裝目錄
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.;%JAVA_HOME%\lib
注意:---可用dos命令notepad c:\autoexec.bat打開記事本,加入上面的3行語句。
b.如果是Windows 2000、Windows XP系統,使用鼠標右擊“我的電腦”->屬性->高級->環境變量
系統變量->新建->變量名:JAVA_HOME 變量值:JDK安裝目錄
系統變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib
系統變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%\bin;
c.如果是Windows Vista、Windows 7、Windows 8系統,使用鼠標右擊“計算機”->屬性->左側高級系統設置->高級->環境變量
系統變量->新建->變量名:JAVA_HOME 變量值:JDK安裝目錄
系統變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib
系統變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%\bin;
(CLASSPATH中有一英文句號“.”后跟一個分號,表示當前路徑的意思)
(使用命令行的方法設置環境變量,只會對當前窗口生效)
(改Path變量時,不是刪除原有的值而是添加新的路徑)
4.使用文本編輯器(比如:edit .com/記事本/UltraEdit/EditPlus)編寫如下代碼,并保存為文件:HelloWorld.java(必須大小寫正確!假設為c:\test\HelloWorld.java)
/* HelloWorld.java */
public class HelloWorld
{
public static void main(String[] arg)
{
System.out.println("Hello,World!");
}
}
5.開啟一個命令提示符窗口,跳轉到HelloWorld.java所在的目錄中
c:\>cd \test
6.編譯HelloWorld.java為HelloWorld.class
c:\test>javac HelloWorld.java
7.運行HelloWorld.class
c:\test>java HelloWorld
Hello,World!
其中步驟5~7可以簡化成批處理,這樣可以不用切換路徑,方法如下:
在java源文件所在文件夾建立一個記事本文檔,輸入以下3行代碼
javac HelloWorld.java
java HelloWorld
@pause
將其保存為"Java運行批處理.bat"
然后雙擊這個批處理文件,將出現運行指令窗口下的編譯運行結果,結果如下:
C:\test>javac HelloWorld.java
C:\test>java HelloWorld
Hello,World!
請按任意鍵繼續. . .
在Linux下
UbuntuLinux下jdk的安裝與配置
1.安裝
從sun公司網站www.sun .com下載linux版本的jdk
打開終端,用cd命令進入jdk所在目錄,執行復制命令
sudo cp jdk-6u7-linux-i586.bin /usr
即將jdk復制到/usr目錄下
然后進入/usr目錄
cd /usr
執行權限
chmod +x jdk-6u7-linux-i586.bin
執行安裝命令
./jdk-6u21-linux-i586.bin
(文件名)
如遇錯誤,可先切換至root用戶下,su root,再執行安裝命令
安裝成功會在/usr目錄下生成jdk1.6.0_07目錄,就是jdk的安裝目錄
重啟電腦,打開終端,輸入java -version
如若有顯示java的版本信息,則表示安裝成功,
2.配置
安裝成功后需要配置jdk環境變量
用cd命令進入/etc目錄
sudo vi profile
即執行編輯profile文件命令
在umas k022前添加如下內容:
export JAVA_HOME=/usr/jdk1.6.0_21
export JRE_HOME=/usr/jdk1.6.0_21/jre
export PATH=$PATH:/usr/jdk1.6.0_21/bin
export CLASSPATH=./:/usr/jdk1.6.0_21/天秤座:/usr/jdk1.6.0_21/jre/lib
保存退出,重啟電腦
3.測試
新建Test.java
public class Test{
public static void main(String[] args){
System.out.println("Hello,Welcome to Linux World!");
}
}
在終端用cd命令進入Test.java目錄,然后輸入
javac Test.java
java Test
若輸出
Hello,Welcome to Linux World!
則表明配置成功!
如不能通過編譯,可通過重新啟動系統試試
4.注意
在用vi命令編輯profile文件時,Linux初學者可能還不熟用
sudo vi profile進入編輯文件后如出現
Press ENTER or type command to continue
則按回車
然后按方向鍵“下”直到umas k022前一行
按字母o進入編輯狀態
輸入環境變量內容
回車,按幾次ESC鍵,直到聽到"嘀"聲,輸入
:x
回車
即保存退出
至此,Linux jdk環境變量配置完成
如果安裝完成時候在終端輸入:java -version 不顯示當前的安裝版本的話
則需要卸載原先的版本即可。
yum -y remove
例如:centos 版本
[root@localhost /]# yum -y remove java-1.4.2-gcj-compat 卸載它。
[root@localhost soft]# chmod 700 jdk-1_5_0_13-linux-i586.bin
[root@localhost soft]# ./jdk-1_5_0_13-linux-i586.bin
[root@localhost soft]# mv jdk1.5.0_13/ /usr/local/
為了方便以后升級,建立軟鏈接
[root@localhost local]# ln -s /usr/local/jdk1.5.0_13/ /usr/local/jdk
定義環境變量
[root@localhost local]# vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
ok,至此java環境配置完畢
常用基本工具
javac:Java源程序編譯器,將Java源代碼轉換成字節碼。
Java: Java解釋器,直接從字節碼文件,又稱為類文件。執行Java應用程序的字節代碼。
appletviewer.exe Java applet瀏覽器:appletviewer命令可在脫離萬維網瀏覽器環境的情況下運applet。
jar:java應用程序打包工具,可將多個類文件合并為單個JAR歸檔文件。
Javadoc:Java API文檔生成器從Java源程序代碼注釋中提取文檔,生成API文檔HTML頁。
jdb:Java調試器(debugger),可以逐行執行計算機程序設置斷點和檢查變Md。
jps:查看Java虛擬機進程列表。
參考資料 >