JDK
Java語言的軟體開發工具包
JDK(Java Development Kit) 是 Java 語言的軟體開發工具包(SDK)。
EE(JavaEE),enterprise edition,企業版,使用這種JDK開發J2EE應用程序,從JDK 5.0開始,改名為Java EE。從2018年2月26日開始,J2EE改名為Jakarta EE 。
沒有JDK的話,無法編譯Java程序(指java源碼.java文件),如果想只運行Java程序(指class或jar或其它歸檔文件),要確保已安裝相應的JRE。
以下是各版本的名稱及發布日期:
版本 | 名稱 | 發行日期 |
JDK 1.1.4 | Sparkler(寶石) | 1997-09-12 |
JDK 1.1.5 | Pumpkin(南瓜) | 1997-12-13 |
JDK 1.1.6 | Abigail(阿比蓋爾–女子名) | 1998-04-24 |
JDK 1.1.7 | Brutus(布魯圖–古羅馬政治家和將軍) | 1998-09-28 |
JDK 1.1.8 | Chelsea(切爾西–城市名) | 1999-04-08 |
J2SE 1.2 | Playground(運動場) | 1998-12-04 |
J2SE 1.2.1 | none(無) | 1999-03-30 |
J2SE 1.2.2 | Cricket(蟋蟀) | 1999-07-08 |
J2SE 1.3 | Kestrel(美洲紅隼) | 2000-05-08 |
J2SE 1.3.1 | Ladybird(瓢蟲) | 2001-05-17 |
J2SE 1.4.0 | Merlin(灰背隼) | 2002-02-13 |
J2SE 1.4.1 | grasshopper(蚱蜢) | 2002-09-16 |
J2SE 1.4.2 | Mantis(螳螂) | 2003-06-26 |
Java SE 5.0 (1.5.0) | Tiger(老虎) | 2004-09-30 |
Java SE 6.0 (1.6.0) | Mustang(野馬) | 2006-04 |
Java SE 7.0 (1.7.0) | Dolphin(海豚) | 2011-07-28 |
Java SE 8.0 (1.8.0) | Spider(蜘蛛) | 2014-03-18 |
Java SE 9 | 2017-09-21 | |
Java SE 10 | 2018-03-14 | |
Java SE 11 | 2018-09-26 | |
Java SE 12 | 2019-03-20 | |
Java SE 13 | 2019-09-17 | |
Java SE 14 | 2020-03-17 |
jdk各個版本的特性
1997 年Servlet技術的產生以及緊接著JSP的產生,為Java對抗PHP,ASP等等伺服器端語言帶來了籌碼。1998年,Sun發布了EJB1.0標準,至此J2EE平台的三個核心技術都已經出現。於是,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),J2EE連接器技術(定義了擴展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關鍵字即可。
提供函數式介面
Java 8 允許你使用 :: 關鍵字來傳遞方法或者構造函數引用
我們可以直接在lambda表達式中訪問外層的局部變數。
1.
Java 8允許我們給介面添加一個非抽象的方法實現,只需要使用 default關鍵字即可。
2.
新增lambda表達式
3.
提供函數式介面
4.
Java 8 允許你使用 :: 關鍵字來傳遞方法或者構造函數引用
5.
我們可以直接在lambda表達式中訪問外層的局部變數。
JDK包含的基本組件包括:
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等。
在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.如果是Win95、Win98,在\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.如果是Win2000、WinXP系統,使用滑鼠右擊“我的電腦”->屬性->高級->環境變數
系統變數->新建->變數名:JAVA_HOME 變數值:JDK安裝目錄
系統變數->新建->變數名:CLASSPATH 變數值:.;%JAVA_HOME%\lib
系統變數->編輯->變數名:Path 在變數值的最前面加上:%JAVA_HOME%\bin;
c.如果是Vista、Win7、Win8系統,使用滑鼠右擊“計算機”->屬性->左側高級系統設置->高級->環境變數
系統變數->新建->變數名:JAVA_HOME 變數值:JDK安裝目錄
系統變數->新建->變數名:CLASSPATH 變數值:.;%JAVA_HOME%\lib
系統變數->編輯->變數名:Path 在變數值的最前面加上:%JAVA_HOME%\bin;
(CLASSPATH中有一英文句號“.”後跟一個分號,表示當前路徑的意思)
(使用命令行的方法設置環境變數,只會對當前窗口生效)
(改Path變數時,不是刪除原有的值而是添加新的路徑)
4.使用文本編輯器(比如:edit .com/記事本/UltraEdit/EditPlus)編寫如下代碼,並保存為文件:HelloWorld.java(必須大小寫正確!假設為c:\test\HelloWorld.java)
public class HelloWorld
{
{
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"
然後雙擊這個批處理文件,將出現cmd窗口下的編譯運行結果,結果如下:
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
(文件名)
安裝成功會在/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/lib:/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環境配置完畢
Java: Java解釋器,直接從位元組碼文件,又稱為類文件。執行Java應用程序的位元組代碼。
appletviewer.exe Java applet瀏覽器:appletviewer命令可在脫離萬維網瀏覽器環境的情況下運applet。
jar:java應用程序打包工具,可將多個類文件合併為單個JAR歸檔文件。
Javadoc:Java API文檔生成器從Java源程序代碼註釋中提取文檔,生成API文檔HTML頁。
jdb:Java調試器(debugger),可以逐行執行程序.設置斷點和檢查變Md。
jps:查看Java虛擬機進程列表。