java語言開發環境


【如何搭建Java開發環境】
【簡介】
JDK的全稱是  Java Development Kit,即Java標准版開發包。Sun公司提供的一套用於開發Java應用程序的開發包,提供了編譯、運行Java程序所需的各種工具和資源。包括Java編譯器、Java運行時環境,以及常用的Java類庫等。
Java運行時環境(Java Runtime Environment)JRE。是運行Java程序的必須條件。
JRM包含JVM。
JVM是運行Java程序的核心虛擬機。
JRM包含 JVM、類加載器、字節碼校驗器以及大量的基礎類庫。
如果只是運行Java程序,可以只安裝JRE,無須安裝JDK。
Oracle僅提供JRE的下載。
Oracle把Java分為JavaSE、JavaEE、JavaME三個部分。
為Java SE和 Java EE分別提供了 JDK 和 Java EE SDK (Software Development Kit)兩個開發包。有一個JavaEE SDK版本里已經包含了最新版的JDK,安裝Java EE SDK就包含了JDK。
【下載和安裝JDK】
JDK- DOWNLOAD
②選擇 Windows安裝包
③下載 JDK-10.0.1安裝包。(Accept License Agreement)
 
④下載文件   jdk-10.0.1_windows-x64_bin.exe 成功,雙擊運行安裝。
⑤安裝
Devepment Tools:JDK的核心,包括編譯Java程序必需的命令工具。
包含了JRE(會安裝在JDK安裝目錄的子目錄里)也是無需安裝公共JRE的原因。
Source Code:安裝這個選項將會安裝Java的所有核心類庫的源代碼。
選擇不安裝在有空格的路徑下,這樣可能導致一些未知的問題。
⑥安裝完成后,可在JDK安裝路徑下看到如下的路徑。(以jdk1.7.0_75解釋)
 
bin:存放了JDK的各種工具命令,常用的javac、java等命令就擋在該路徑下。
db:該路徑是安裝 Java DB的路徑。
include:一些平台特定的 頭文件。
jre:該路徑下安裝的就是運行Java程序所必需的 JRE環境。
lib:該路徑下存放的是JDK工具命令的實際執行程序,如果使用WinRAR打開lib路徑下tools.jar文件,將看到tools.jar\sun\tools\javac 中Main.class
用於編譯Java程序所使用的 javac.exe命令是使用Java編寫的。這個類就是lib路徑下tools.jar文件中 sun\tools\javac 中Main.class類
bin下絕大部分命令都是包裝了tools.jar文件里的工具類。
src.zip:該壓縮文件里存放的是Java所有核心類庫的源代碼。
README和LICENSE等說明性文檔。
【設置PATH環境變量】
編譯和運行Java程序的必備2步:
①將源文件編譯成字節碼。【java命令】
②解釋執行平台無關的字節碼程序。【javac命令】
 
【測試是否能使用這兩個命令】
雖然在計算機里安裝了JDK(有這兩個命令),但是計算機不知到去哪里找這兩個命令。
Windows操作系統根據Path環境變量來查找命令。Path環境變量存儲了一系列路徑。系統可根據其指定路徑依次查找。
若要找到,只需把java和javac兩個命令所在的路徑添加到Path環境變量中,就可以編譯和運行Java程序了。
【Win7設置環境變量】
【計算機】右鍵 ->【屬性】->【高級系統設置】->【高級】
單擊【環境變量】
分為【用戶變量】和【系統變量】
沒有Path環境變量,則添加,有則修改。(Windows變量大小寫不敏感)
追加變量后的值為安裝的路徑:D:\Program Files\Java\jdk1.7.0_75\bin
用戶變量和系統變量都進行過設置后,優先使用 用戶變量。
【繼續測試是否能使用這兩個命令】
java命令測試:
javac命令測試
可以使用。
【第一個Java程序】
編輯源代碼編輯器:NotePad,EditPlus等程序。
            不能用寫字板或者Word編輯,該工具中會有一些隱藏的格式化字符,這些隱藏字符會導致程序無法進行編譯、運行。
Java嚴格區分大小寫。
【源程序】HelloWorld.java 
public class HelloWorld
{
 //Java 程序的入口方法,程序將從這里開始執行
 public static void main (String[] args )
 {
  //向控制台打印一條語句
  System.out.println("Hello World!");
 }
}
用javac進行編譯java程序。
【語法格式】:javac -d destdir srcFile
 -d destdir:指定本地磁盤上的一個有效路徑。
srcFile:源文件所在位置。
注:此處的2個路徑可以是絕對的也可以是相對的。
javac生成的目標文件名:以源文件所定義類的類名作為主文件名,以.class作為后綴名,
-d參數 不寫時 其默認指定為當前位置。  
【編譯結果】
 
【在EditPlus中配置工具把javac集成進來】
Tools->Configure User tools ->Group Name中編寫( 編譯運行Java)
Add tools中編寫
Menu text:編譯java程序
Command:javac
Argument:-d . $(FileName)
Initial:$(FileDir)
 
tools中增添了“編譯Java程序”
 
【運行結果】
命令行 語法: java JAVA類名
類名與源文件名與class文件前綴是一致的。此處為【HelloWorld】
 
【在EditPlus中配置工具把java集成進來】
 
Tools->Configure User tools ->Group Name中選擇( 編譯運行Java
Add tools中編寫
Menu text:運行java程序
Command:java
Argument:$(FileNameNoExt)
Initial:$(FileDir)
編寫HelloWorld.java(文件名需要和類名一致,有public,有且只有一個public):
【Ctrl+1】
【Ctrl+2】
【Java的CLASSPATH】 
1.5以上JDK版本完全可以不用設置這個環境變量。以上例子即使不設置也可以編譯和運行。
CLASSPATH環境變量的作用:
”java  java類名“運行java程序時。JRE在CLASSPATH環境變量指定的路徑中搜索java類。
CLASSPATH環境變量中指定:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
(%JAVA_HOME%代表JDK的安裝目錄)
 
后來的JRE會 自動搜索當前路徑下的類文件,使用java和javac時,系統可自動加載 dt.jar 和 tools.jar文件中的Java類
 
如果想在Java程序運行時 臨時指定JRE搜索類的路徑,則可以使用-classpath選項,即按如下格式來運行java命令。
java  -classpath dir1;dir2;dir3...;dirN   Java類
java  -classpath  %CLASSPATH%;.;dir1;dir2;dir3...;dirN Java類
%CLASSPATH%;來引用環境變量CLASSPATH的值,並在 -classpath中添加了一點,可在當前路徑下搜索Java類。
 
【Java程序必須滿足的基本規則】
Java程序是一種純粹的面向對象的程序設計語言,必須以類的形式存在。
Class是Java的最小程序單位。所有程序必須放在類里。
 
【最簡單的Java程序】
class Test
{
}
這是一個最簡單的Java程序
Java解釋器規定:如果某個類能被解釋器直接解釋執行,這個類里必須包含main方法,而且main方法必須使用public static void來修飾,且main方法的形參必須是字符串數組類型(String[] args是字符串數組的形式)。main方法是程序的入口。
 
【Java源文件命名規則】
①、后綴.java
②、通常情況下,Java程序源文件名可以任意。但有一種情況例外。
Java程序源代碼里定義了一個public類,該源文件名必須與該public類的類名一致。即一個java源文件里最多只能定義一個public類。
【程序解釋】
public static void main(string[] args)
以上程序入口固定不變。其中public和static可以互換
 
System.out.print(需要輸出的內容);
System.out.println(需要輸出的內容);
想控制台輸出內容,前者在輸出結束之后不會換行,后者在輸出之后會換行。
【垃圾回收機制】
java語言不需要程序員直接控制內存回收,java程序的內存分配和回收都是由JRE在后台自動運行。
java的堆內存是一個運行時數據區,用於保存類的實例(對象)
JRE會提供一個后台線程來進行檢測和控制,一般都是在CPU空閑或者內存不足時自動進行垃圾回收,程序員不可預期。這種機制為垃圾回收機制(Garbage Collection,GC)。
該機制優點
1.提高編程效率。2.保護程序的完整性,垃圾回收是java語言安全策略的一個重要部分。
缺點
開銷影響程序性能。
1.跟蹤有用對象才能確認無用對象,並釋放無用對象,需要花費處理器時間。
2.垃圾回收算法不完備,隨着算法改進,軟硬件效率提升,問題都可以迎刃而解。
特點
回收JVM堆里無用對象的內存空間。(對物理資源無能為力)
【關於IDE工具】
對於初學者而言,不要使用任何IDE工具來學習Java編程,我學習的是Java語言,不是任何工具。
 
【工欲善其事,必先利其器】
                                            ----學習筆記


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM