1. 程式人生 > >Java學習筆記(1): 從JDK到IDE

Java學習筆記(1): 從JDK到IDE

什麼是JVM

JVM(Java Virtual Machine),即Java虛擬機器。Java是個高階語言,要讓計算機執行程式,必須通過編譯程式的翻譯。不過Java編譯時(原始碼副檔名.java)並不直接編譯為相依於某平臺的0、1序列, 而是翻譯為中介格式的位碼(.class)。要想執行位碼文件(可執行檔案),目標平臺必須安裝JVM,它將位碼翻譯為相依於平臺的機器碼。

區分JRE與JDK

  • JRE:Java Runtime Environment,即Java執行環境,包括Java SE API、JVM、部署技術。

  • JDK:Java Development Kit,即Java 軟體開發工具包,包括了javac、appletviewer、javadoc等工具程式。要開發java程式必須安裝JDK,總結來說,JDK包括了java程式語言、工具程式與JRE(本身附帶Private JRE)。

撰寫java程式需要JDK,執行java程式只要JRE就可以了,因為不需要javac這些工具程式

配置環境變數

JAVA_HOME ————–配置JDK安裝路徑
PATH————————配置JDK命令檔案的位置
CLASSPATH ————–配置類庫檔案的位置

PATH與CLASSPATH根本就是不同層次的環境變數,實際作業系統搜尋可執行檔案是看PATH,JVM搜尋可執行檔案.class只看CLASSPATH

管理原始碼和位碼文件

原始碼文件就是以.java結尾的原始碼,位碼文件就是以.class結尾的可執行檔案,如果我們在一個專案之中將兩種檔案放在一起,明顯會使java開發變得混亂,為了對Java進行有序的管理,所以我們一般會在專案目錄之下在建立兩個資料夾,分別命名為src(原始碼目錄),classes(位碼目錄),可以使用javac -d <classes目錄> ***.java

直接將編譯好的位碼文件放進classes目錄下

使用package管理類

一個應用程式會有多個類彼此合作,也有可能由多個團隊共同分工,完成各自功能塊,最後組合在一起。但是整合時,就會發生文件覆蓋的問題。Java語法中的package關鍵詞可以協助你避免這些的發生
比如在程式的最開始處加上這樣一行程式碼:package com.paranoid.unit1 也就是說我們將接下來所定義的類放在com.paranoid.unit1類下,這個命名通常是將我們個人或團隊域名進行反向命名所得到的,以目錄的形式也是一層層的從com包含到 unit1,這樣做的話不同的組織或單位要將原始碼放在一起管理的話就不會發生覆蓋的問題了

完全吻合名稱

在原始碼中指定使用某個類時,如果是相同包中的類,只要使用class所定義的名稱即可,而不同包的類,必須使用完全吻合名稱。由於Main與Console類是位於不同的包中,在Main類中要使用Console類,就必須使用cc.openhome.util.Console,這樣就可以避免發生名稱衝突問題

使用import偷懶

包管理解決了實體文件與撰寫程式時類名稱衝突的問題,但若每次撰寫程式都得輸入完全吻合名稱,就太麻煩了。使用import,可以使編譯器認識你呼叫的其他目錄下的類。

inport和#include不同,無論原始碼中有沒有import,編譯後的.class都是一樣的,不會影響執行效能。所以簡單地說import是偷懶工具,不能偷懶就回歸最保守的寫法

IDE

由IDE代勞一些原始碼文件與位碼文件等資源管理工作,可以提升效率。學長推薦使用IDEA,正在學習中~