Java學習筆記——第1篇

Java程序運行機制

Java程序要通過先編譯,後解釋兩個步驟java

編譯型:高級語言源碼 -->機器碼(一次性)    生成可執行程序,脫離開發環境,在指定平臺上運行。(C/C++/Objective-C/Swift/Kotlin編程

解釋型:每執行一次,都須要編譯一次,效率低,可移植性高(JavaScript/Ruby/Pythonwindows

僞編譯型:瀏覽器

 

 

Java編譯後生成的是與平臺無關的字節碼(*.class文件),該字節碼文件面向JVM,用Java解釋器能夠來解釋執行這個字節碼文件。 編輯器

 

 

 

JVM(Java Virtual Machine)負責解釋字節碼文件,任意平臺的JVM向編譯器提供相同的編程接口(任意平臺JVM內部不一樣),而編譯器只須要面向JVM,生成JVM能理解的代碼,而後由JVM來解釋執行。在一些JVM的實現中,還會將JVM代碼轉換成特定系統的機器碼實現,從而提升執行效率。工具

 

JVM是Java跨平臺的關鍵部分。開發工具

 

  

開發Java的準備

下載安裝JDK(包括Java編譯器、Java運行時環境(JRE)、經常使用Java類庫),即Java標準版開發包spa

JRE包含JVM,JVM是核心虛擬機,JRE還包含運行Java程序的其餘環境支持。操作系統

ps:若是隻是運行Java程序,能夠只安裝JRE。若是要開發,下載JDK便可,JDK包含JRE。命令行

 

Java分爲:Java SE(JDK)  、Java  EE (Java EE SDK->包含最新版JDK) 、Java  ME 。

 

 

 

 

開發工具:JDK核心,包含了JRE

源代碼:Java核心類庫的源代碼

公共JRE:一個獨立的JRE系統,會向IE等瀏覽器和系統註冊Java運行時環境,這樣系統中任何應用程序均可以使用公共JRE。可是JDK裏有JRE,不必安裝公共JRE

ps:安裝路徑最好沒有空格。

 

 

JDK 9 引入新的JMOD格式,近似JAR格式,但JMOD能夠包含本地代碼和配置文件。

 

設置PATH環境變量

windows操做系統在Path的一系列路徑中依次查找命令

Linux設置PATH環境變量:

①進入當前用戶的home路徑,而後輸入:ls -a

②使用無格式編輯器打開 .base_profile 文件

③在該文件的PATH變量後添加JDK安裝路徑

 

 ④在.base_profile 文件最後添加導出PATH變量的語句

 

 ⑤從新登陸Linux平臺,或者執行以下命令,爲了運行該文件,讓文件設置中PATH變量值生效

 

 第一個Java程序

Java源代碼可使用任何無格式的文本編輯器(Windows->記事本/Editplus  |  Linux->VI)

在記事本中新建一個文本文件,並輸入以下代碼:

 

  

Java嚴格區分大小寫

將上述文件保存爲HelloWorld.java,該文件就是Java程序的源程序了。

接下來就是編譯該Java源文件來生成字節碼。

 

編譯命令:javac

javac -d destdir srcFile

一般將字節碼文件放在當前路勁下

javac -d . HelloWorld.java

運行後在指定路徑下會生成一個HelloWorld.class文件

 

javac以類爲單位生成相應的字節碼文件,而且編譯命令中省略 -d ,則默認爲當前路徑。

ps:還可使用Editplus 

 

 

 

 

 

 

運行Java程序

運行命令:java

java Java類名

ps:java命令後面的參數是Java類名,不是字節碼的文件名,也不是源文件名。

先經過命令行進入HelloWorld.class所在的路徑

輸入:

java HelloWorld

能夠看到輸出

 

 

 

 

ps:一樣可使用Editplus

 

 

 

 

 

CLASSPATH環境變量:

1.4之前版本的JDK中沒有設計在運行Java程序時到當前路徑下搜索Java類。也就意味着,即便當前路徑已經包含了HelloWorld.class ,並在當前路徑下執行java命令,系統同樣提示找不到HelloWorld 類。

 

 

 

JDK 1.5以上的版本也能夠設置CLASSPATH環境變量(一般用於加載第三方類庫)

若是想在運行Java程序時臨時指定JRE搜索Java類的路徑,則可使用-classpath選項(或用-cp選項,-cp是簡寫,做用徹底相同)

java -classpath dir1;dir2;dir3...;dirN Java

多個路徑在windows平臺上以分號隔開,在Linux上以冒號隔開。

相關文章
相關標籤/搜索