【java學習】JDK(Java Development Kit)
1,概念:
JDK是用於支援Java程式開放的最小環境。
JDK是整個java開發的核心,它包含了JAVA的執行環境(JVM+Java系統類庫)和JAVA工具。
平時較常用的是Sun免費提供的JDK,當然還有其他的開發環境,比如ibm。
1)版本
①SE(JavaSE,standard edition,標準版)
是我們通常用的一個版本,從JDK 5.0開始,改名為Java SE。
②EE(JavaEE,enterprise edition,企業版)
使用這種JDK開發J2EE應用程式,從JDK 5.0開始,改名為Java EE。從2018年2月26日開始,J2EE改名為Jakarta EE [1-2] 。
③ME(J2ME,micro edition)
主要用於移動裝置、嵌入式裝置上的java應用程式,從JDK 5.0開始,改名為Java ME。
2)組成
Java程式設計語言、Java虛擬機器、Java API類庫等三部分組成。
2,包含元件
1)Javac.exe
是收錄於JDK中的Java語言編譯器。可以將字尾名為.java的原始檔編譯為字尾名為.class的可以執行於JVM的位元組碼。
2)java
執行工具,執行.class的位元組碼
3)jar
打包工具,將相關的類檔案打包成一個檔案
4)javadoc
①介紹
文件生成器,它從程式原始碼中抽取類、方法、成員等註釋形成一個和原始碼配套的API幫助文件。
javadoc只能為public、protected成員進行文件註釋。private和daulft的註釋會被忽略掉。通過-private標記,可以把private成員的註釋也包括在內。
②使用方式
i>嵌入HTML
ii>使用文件標籤
獨立文件標籤以“@”開頭的命令,且要置於註釋行的最前面。
行內文件標籤可以出現在javadoc註釋的任何地方,但要在花括號內,同樣以@開頭。
③常用標記
標籤 | 說明 |
---|---|
@author 作者 | 作者標識 |
@version 版本號 | 版本號 |
@param 引數名 描述 | 方法的入參名及描述資訊,如入參有特別要求,可在此註釋。 |
@return 描述 | 對函式返回值的註釋 |
@deprecated 過期文字 | 標識隨著程式版本的提升,當前API已經過期,僅為了保證相容性依然存在,以此告之開發者不應再用這個API。 |
@throws異常類名 | 建構函式或方法所會丟擲的異常。 |
@see 引用 | 檢視相關內容,如類、方法、變數等。 |
@since 描述文字 | API在什麼程式的什麼版本後開發支援。 |
{@link包.類#成員 標籤} | 連結到某個特定的成員對應的文件中。 |
{@value} | 當對常量進行註釋時,如果想將其值包含在文件中,則通過該標籤來引用常量的值。 |
5)jdb debugger(jdb.exe)
除錯工具
6)jps
顯示當前java程式執行的程式狀態
7)javah
從Java類生成C標頭檔案和C原始檔。這些檔案提供了連線膠合,使Java和C程式碼可進行互動。
8)javaprof.exe
剖析工具
3,Java類庫(Java API)
Java官方為開發者提高的很多功能強大的類,分別放在各個包中。
Java類庫具有跨平臺的特點,保證了軟體的可移植性。
①java.*開頭:
java的核心包。
a>java.lang
java程式設計的基礎類。如:Object,Math,String,StringBuffer,System,Thread等。
提供核心功能
–java.lang.ref 使能與垃圾回收互動
–java.lang.reflect 執行時分析程式碼
b>java.util
java的utility工具包,包含集合框架、遺留的集合類、事件模型、日期和時間實施、國際化和各自實用工具類(字串標記生成器、隨機數生成器)。
–java.util.jar 生成和開啟JAR檔案
–java.util.zip 讀寫壓縮或解壓縮檔案
c>java.io
通過檔案系統、資料流和序列化提供系統的輸入與輸出。
d>java.net
實現網路應用與開發的類。
e>java.sql
使用Java語言訪問並處理儲存再資料來源(通常是一個關係型資料庫)中的資料API.
f>java.awt(Abstract Window Toolkit,抽象視窗工具包)
GUI設計與開發的類:建立介面和繪製圖形影像的所有類。
AWT是JAVA的language核心語言包;如String、Math、Integer、System、Thread,提供常用的功能。特殊之處是不需要匯入,是作為預設匯入的包。
早期編寫圖形介面應用程式的包。
AWT和Swing的實現原理不同。
AWT實現原理:
圖形函式與作業系統提供的圖形函式一一對應。也就是說,當我們利用 AWT構件圖形使用者介面的時候,實際上是在利用作業系統的圖形庫。
不同的作業系統其圖形庫的功能可能不一樣。為了實現Java語言所宣稱的"一次編譯,到處執行"的概念,AWT不得不通過犧牲功能來實現平臺無關性。因此,AWT 的圖形功能是各作業系統圖形功能的“交集”。
因為AWT是依靠本地方法來實現功能的,所以AWT控制元件稱為“重量級控制元件”。
–java.awt.color
支援顏色空間和外形
–java.awt.datatransfer
與系統的剪貼簿交換資料 java.awt.dnd 支援拖拉操作
–java.awt.event
處理事件
–java.awt.font
描述多種字型型別
–java.awt.geom 允許你使用幾何形狀
–java.awt.im 允許編輯元件中日文,中文,韓文的的輸入
–java.awt.im.spi 支援二選一的輸入裝置 (在java 2, v1.3中加入)
–java.awt.image 處理影像
–java.awt.image.renderable 支援獨立顯示影像
–java.awt.print 支援一般的列印功能
g>java.swing
GUI設計與開發的類:是一組輕量級的元件。
是為解決 AWT 存在的問題而新開發的圖形介面包。Swing是對AWT的改良和擴充套件,在各平臺通用。
例如:並不是所有的作業系統都提供了對樹形控制元件的支援, Swing則利用了AWT中所提供的基本作圖方法模擬了一個樹形控制元件。
因為Swing不使用本地方法,故Swing控制元件稱為“輕量級控制元件”。
AWT和Swing之間的區別:
i>AWT 是基於本地方法的C/C++程式,其執行速度比較快;Swing是基於AWT的Java程式,其執行速度比較慢。
ii>AWT的控制元件在不同的平臺可能表現不同,而Swing在所有平臺表現一致。
h>java.text
與自然語言無關的方式來處理文字、日期、數字和訊息的類和介面。
格式化,查詢和處理文字 。
i>java.security
處理證照,金鑰,摘要,簽名和其他安全功能
–java.security.acl 管理訪問控制列表
–java.security.cert 分析和管理證照
–java.security.interfaces 為DSA(數字簽名演算法)定義介面
–java.security.spec 設定金鑰和演算法引數
j>java.math
處理大整數和十進位制數
k>java.rmi
支援遠端方法呼叫
–java.rmi.activation 啟用永久物件
–java.rmi.dgc 管理分佈垃圾回收
–java.rmi.registry 對映名稱到遠端物件引用
–java.rmi.server 支援遠端方法呼叫
l>java.beans
允許你建立軟體元件
m>java.beans.beancontext
為bean 提供可執行環境
n>java.applet
是建立APPLET的必須包。支援小應用程式的結構
②javax.*開頭:
擴充套件包。x是extension的意思。是對java.*的優化和擴充套件。
③org.*開頭:
是各個機構或組織釋出的包。這些組織有影響力,且程式碼質量高。
④com.*開頭:
由盈利性公司釋出,有版權問題。
注意:為防止命名重複,慣例:以自己的域名倒寫形式作為開頭來為自己開發的包命名,如百度:com.baidu.*開頭。
4,安裝配置
jdk安裝需要兩次:第一次是JDK,第二次是jre,分別放入不同的資料夾。
1)windows配置
環境配置:
【系統與安全】,【系統】,【高階系統設定】,【系統屬性-高階】,【環境變數】
①JAVA_HOME
值為jdk安裝目錄
②PATH
變數值為
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
③CLASSPATH
變數值為
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
檢測安裝是否成功:
【WIN+R】,【cmd】,輸入【java -version】,【javac】【javah】,【回車】,若出現很多英文,代表配置
問題:【java -version】有結果,【javac】【javah】不可以。
解決:在使用者變數和系統變數都配置PATH(注意區分大小寫)。
2)mac配置
①下載jdk並安裝
②配置環境
終端,在.bash_profile中寫入:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
完成後終端輸入:
source .bash_profile
輸入 echo $JAVA_HOME
顯示剛才配置的路徑
5,JRE(Java Runtime Environment)
1)概念:
JRE是支援Java程式執行的標準環境。
2)組成:
把Java API類庫中的Java SE API子集和Java虛擬機器這兩部分統稱為JRE。
相關文章
- Java JDK 9學習筆記JavaJDK筆記
- JAVA學習——JDK開發環境配置JavaJDK開發環境
- Houdini Development Kit ( HDK ) VC小記dev
- Beans Development Kit (BDK)分析(四) (轉)Beandev
- Beans Development Kit (BDK)分析(五) (轉)Beandev
- Beans Development Kit (BDK)分析(六) (轉)Beandev
- Java Development Without SpringJavadevSpring
- java併發包學習系列:jdk併發容器JavaJDK
- java學習之道 --- 如何學習java?Java
- [Java學習筆記]JDK1.8新特性學習(一)Lambda表示式Java筆記JDK
- 【Java筆記】Java JDKJava筆記JDK
- 學習scala,java安裝jdk及jre的問題JavaJDK
- Java 學習Java
- Java學習Java
- Java學習—java-RedisJavaRedis
- Java學習之路 -- Java怎麼學?Java
- 新手如何學習Java——Java學習路線圖Java
- ADRV9371 + Arria 10 SoC Development Kitdev
- JAVA java學習(24)——————java修飾符Java
- JAVA學習--JAVA基礎(一)Java
- 學習Java: Java中的字串Java字串
- java學習之路Java
- Java學習自學Java
- Java學習方法Java
- Java學習:反射Java反射
- Java學習_反射Java反射
- 學習Java系列Java
- java學習6Java
- 如何學習JavaJava
- 學習java之路Java
- Java學習概要Java
- Java NIO 學習Java
- Java的學習Java
- Java反射學習Java反射
- java如何學習Java
- 學習Java: QueueJava
- java學習02Java
- java學習03Java