java常用命令
1. 成為java高級程序員需要掌握哪些
張小喜告別996 實現高效編程 減少開發壓力 開啟Java高效編程之門(完整版高清視頻)網路網盤
鏈接: https://pan..com/s/1kKaGzsXHu3Cy7MqvIY7r3g
若資源有問題歡迎追問~
2. java是什麼東西
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程[1]。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點[2]。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等[3]。
3. java啟動windows命令行
這是摘自JAVA NB 網 http://www.javanb.com 上的例子。
如何用java啟動windows命令行程序: http://www.javanb.com/java/1/17740.html
先請編譯和運行下面程序:
import java.util.*;
import java.io.*;
public class BadExecJavac2
{
public static void main(String args[])
{
try
{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("javac");
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch (Throwable t){
t.printStackTrace();
}
}
}
我們知道javac命令,當不帶參數運行javac 程序時,它將輸出幫助說明,為什麼上面程序不產生任何輸出並掛起,永不完成呢?java文檔上說,由於有些本地平台為標准輸入和輸出流所提供的緩沖區大小有限,如果不能及時寫入子進程的輸入流或者讀取子進程的輸出流,可能導致子進程阻塞,甚至陷入死鎖。所以,上面的程序應改寫為:
import java.util.*;
import java.io.*;
public class MediocreExecJavac
{
public static void main(String args[])
{
try
{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("javac");
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
System.out.println("");
while ( (line = br.readLine()) != null)
System.out.println(line);
System.out.println("");
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch (Throwable t){
t.printStackTrace();
}
}
}
下面是正確的輸出:
D:\java>java MediocreExecJavac
Usage: javac 〈OPTIONs>
where possible options include:
-g Generate all debugging info
-g:none Generate no debugging info
-g:{lines,vars,source} Generate only some debugging info
-nowarn Generate no warnings
-verbose Output messages about what the compiler is doing
-deprecation Output source locations where deprecated APIs are used
-classpath Specify where to find user class files
-cp Specify where to find user class files
-sourcepath Specify where to find input source files
-bootclasspath Override location of bootstrap class files
-extdirs Override location of installed extensions
-endorseddirs Override location of endorsed standards path
-d Specify where to place generated class files
-encoding Specify character encoding used by source files
-source Provide source compatibility with specified release
-target Generate class files for specific VM version
-version Version information
-help Print a synopsis of standard options
-X Print a synopsis of nonstandard options
-J Pass directly to the runtime system
Process exitValue: 2
D:\java>
下面是一個更一般的程序,它用兩個線程同步清空標准錯誤流和標准輸出流,並能根據你所使用的windows操作系統選擇windows命令解釋器command.com或cmd.exe,然後執行你提供的命令。
import java.util.*;
import java.io.*;
class StreamGobbler extends Thread
{
InputStream is;
String type; //輸出流的類型ERROR或OUTPUT
StreamGobbler(InputStream is, String type)
{
this.is = is;
this.type = type;
}
public void run()
{
try
{
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line=null;
while ( (line = br.readLine()) != null)
{
System.out.println(type + ">" + line);
System.out.flush();
}
} catch (IOException ioe)
{
ioe.printStackTrace();
}
}
}
public class GoodWindowsExec
{
public static void main(String args[])
{
if (args.length < 1)
{
System.out.println("USAGE: java GoodWindowsExec ");
System.exit(1);
}
try
{
String osName = System.getProperty("os.name" );
System.out.println("osName: " + osName);
String[] cmd = new String[3];
if(osName.equals("Windows XP") ||osName.equals("Windows 2000"))
{
cmd[0] = "cmd.exe" ;
cmd[1] = "/C" ;
cmd[2] = args[0];
}
else if( osName.equals( "Windows 98" ) )
{
cmd[0] = "command.com" ;
cmd[1] = "/C" ;
cmd[2] = args[0];
}
Runtime rt = Runtime.getRuntime();
System.out.println("Execing " + cmd[0] + " " + cmd[1]+ " " + cmd[2]);
Process proc = rt.exec(cmd);
// any error message?
StreamGobbler errorGobbler = new StreamGobbler(proc.getErrorStream(), "ERROR");
// any output?
StreamGobbler outputGobbler = new StreamGobbler(proc.getInputStream(), "OUTPUT");
// kick them off
errorGobbler.start();
outputGobbler.start();
// any error???
int exitVal = proc.waitFor();
System.out.println("ExitValue: " + exitVal);
} catch (Throwable t){
t.printStackTrace();
}
}
}
下面是一個測試結果:
D:\java>java GoodWindowsExec " Test.java Test1.java"
osName: Windows XP
Execing cmd.exe /C Test.java Test1.java
OUTPUT>已復制 1 個文件。
ExitValue: 0
D:\java>
下面的測試都能通過(windows xp+jdk1.5)
D:\java>java GoodWindowsExec dir
D:\java>java GoodWindowsExec Test.java
D:\java>java GoodWindowsExec regedit.exe
D:\java>java GoodWindowsExec NOTEPAD.EXE
D:\java>java GoodWindowsExec first.ppt
D:\java>java GoodWindowsExec second.doc
function TempSave(ElementID) { CommentsPersistDiv.setAttribute("CommentContent",document.getElementById(ElementID).value); CommentsPersistDiv.save("CommentXMLStore"); } function Restore(ElementID) { CommentsPersistDiv.load("CommentXMLStore"); document.getElementById(ElementID).value=CommentsPersistDiv.getAttribute("CommentContent"); }
4. JAVA學習
零基礎學習java可按照這份大綱來進行學習
第一階段:Java專業基礎課程
----------
階段目標:
1. 熟練掌握Java的開發環境與編程核心知識
2. 熟練運用Java面向對象知識進行程序開發
3. 對Java的核心對象和組件有深入理解
4. 熟練應用JavaAPI相關知識
5. 熟練應用JAVA多線程技術
6. 能綜合運用所學知識完成一個項目
知識點:
1、基本數據類型,運算符,數組,掌握基本數據類型轉換,運算符,流程式控制制。
2、數組,排序演算法,Java常用API,類和對象,了解類與對象,熟悉常用API。
3、面向對象特性,集合框架,熟悉面向對象三大特性,熟練使用集合框架。
4、IO流,多線程。
5、網路協議,線程運用。
---------
第二階段:JavaWEB核心課程
階段目標:
1. 熟練掌握資料庫和MySQL核心技術
2. 深入理解JDBC與DAO資料庫操作
3. 熟練運用JSP及Servlet技術完成網站後台開發
4. 深入理解緩存,連接池,註解,反射,泛型等知識
5. 能夠運用所學知識完成自定義框架
知識點:
1、資料庫知識,範式,MySQL配置,命令,建庫建表,數據的增刪改查,約束,視圖,存儲過程,函數,觸發器,事務,游標,建模工具。
2、深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理。為Java後台開發打下堅實基礎。Web頁面元素,布局,CSS樣式,盒模型,JavaScript,jQuery。
3、掌握前端開發技術,掌握jQuery。
4、Servlet,EL表達式,會話跟蹤技術,過濾器,FreeMarker。
5、掌握Servlet相關技術,利用Servlet,JSP相關應用技術和DAO完成B/S架構下的應用開發。
6、泛型,反射,註解。
7、掌握JAVA高級應用,利用泛型,註解,枚舉完成自己的CRUD框架開發為後續框架學習做鋪墊。
8、單點登錄,支付功能,項目整合,分頁封裝熟練運用JSP及Servlet核心知識完成項目實戰。
---------
第三階段:JavaEE框架課程
階段目標:
1. 熟練運用linux操作系統常見命令及完成環境部署和Nginx伺服器的配置
2. 熟練運用JavaEE三大核心框架:Spring,SpringMVC,MyBatis
3. 熟練運用Maven,並使用SpringBoot進行快速框架搭建
4. 深入理解框架的實現原理,Java底層技術,企業級應用等
5. 使用Shiro,Ztree和Spring,SpringMVC,Myts完成企業項目
知識點:
1、Linux安裝配置,文件目錄操作,VI命令,管理,用戶與許可權,環境部署,Struts2概述,hiberante概述。
2、Linux作為一個主流的伺服器操作系統,是每一個開發工程師必須掌握的重點技術,並且能夠熟練運用。
3、SSH的整合,MyBatis,SpringMVC,Maven的使用。
4、了解AOP原理,了解中央控制器原理,掌握MyBatis框架,掌握SSM框架的整合。
5、Shiro,Ztree,項目文檔,項目規范,需求分析,原型圖設計,資料庫設計,工程構建,需求評審,配置管理,BUG修復,項目管理等。
6、獨立自主完成一個中小型的企業級綜合項目的設計和整體架構的原型和建模。獨立自主完成一個大型的企業級綜合項目,並具備商業價值
5. java工程師需要掌握哪些技能
想從事於java軟體開發的朋友們參考。
1 java語法。通過任何一本Java入門書籍,都可以學會Java的基本語法。千萬不要認為,你把書上的例子程序都能寫出來就算學會了Java語法。要想真正掌握,還需要做大量的測試題。對語法不準確的理解,會使你寫的代碼出現邏輯錯誤。而這些錯誤會使你在真正的項目開發中吃盡苦頭:你認為正確才會寫上去。而在幾十萬行代碼中找出幾行有邏輯錯誤的代碼,非常困難。因為你幾乎不會懷疑你認為正確的代碼存在錯誤。
2 常用類。永遠不要寫別人已經實現的代碼。有很多功能,用JDk中現有的類就可以完成。你需要熟悉JDK.可以通過研究JDK幫助文檔和JDK源代碼的方式,逐漸了解,你需要的類都在什麼地方。一方面,要熟悉有哪些可以直接使用的資源,另一方面,學習一下,SUN公司的工程師怎樣寫代碼。
3 IDE 集成開發環境。現在企業最常用的是IBM公司的eclipse。類似的還有JBuilder,Idea,NetBeans等等。畢竟,只有5%的頂尖高手在使用簡單的文本編輯器在寫Java代碼。多數程序員都是在使用這些東西。
4 資料庫.MySql,Oracle,DB2.小項目多數使用MySql這樣的免費資料庫。大一些的項目會考慮使用Oracle或者DB2. Java項目很少使用SqlServer.因此,你還需要學習資料庫方面的一些知識。可以從SQL語言開始。這些資料庫都支持標准SQL.學會基本的SQL,參考具體的資料庫手冊,就可以完成一般的項目開發了。當然,要想使你的程序運行的效率更高,需要更深入的學習。大部分的程序優化,都是從這部分開始的。
5 JDBC Java資料庫連接。使用Java程序操作資料庫。這部分非常重要。幾乎所有的企業項目都會用到。
6 HTML CSS Javascript。
HTML--(HyperTextMark-upLanguage) 超文本標記語言。 CSS --(Cascading Style Sheets)層疊樣式表。你千萬不要以為,CS又出了加強版。呵呵。 JavaScript--是一種由Netscape的LiveScript發展而來的腳本語言.
准確的說,這些東西和Java語言本身關系不大。但是,現在的企業項目,以B/S結構的居多。因此,我們的Java程序,會有大量的機會和它們打交道。需要提前准備一下。
7 你需要學習如何使用及管理WEB伺服器,例如tomcat,並且知道如何在其基礎上擴展和維護WEB程序,如何使用它的附加服務,如連接池。
8 JSP Servlet.這兩個是初級Java程序員必須掌握的基本技能,是所有B/S結構框架的基礎。相應的,還需要學習EL以及JSTL(StandardTagLibraries)和可以選擇的第三方TagLibraries,以提高表示層的處理能力。
9 企業流行框架 Struts,Spring,Hibernate等。
10 Java設計模式。有一些特殊的功能,只有按照特定的設計模式才能實現。如果你有了5萬行以上的代碼經驗,可以開始研究一下設計模式。
11 你還要跟上技術發展的步伐,了解在Java項目中使用的新技術。如Ajax等。
希望對您有所幫助!~
6. java編寫一個命令行工具,執行常見的命令,如dir,md,,move等
main函數的參數String[] args,就是處理這些參數的。
你可以在main程序里用循環去讀args[i],再一個一個判斷是否是你預定的-t、-p、-c等內容。
如果發現沒有帶參數,也就是args的length是0,則直接輸出一個字元串,該字元串的內容就是你想提示給用戶的各種命令的用法。
如果用戶輸入 java xxx -t t1 -p p1 (這里xxx就是你的class名)
那麼args這個數組就是:{"-t","t1","-p","p1"}
7. 怎樣用Java程序輸出「Hello World,」
打開java運行環境(就是編寫java程序用的軟體),然後輸入以下語句,點擊編譯運行後即可輸出「Hello World,」。
public class Test{
public static void main(String args[]){
System.out.println("Hello World.");
}
}
該法是直接調用java的printfln函數來完成輸出操作。
第1行是創建一個「HelloWorld」類。
第2行是主方法的聲明語句。
第3行是輸出語句,輸出「HelloWold」。
(7)java常用命令擴展閱讀:
「Hello World」撰寫時必須注意以下幾點:
1、擴展名是.java。
2、主文檔名必須與類名相同。類名是指class關鍵字後的名稱。
3、注意每個字母的大小寫。Java程序區分字母大小寫,System與system對Java程序來說是不同的名稱。
4、空格只能是半形空格符或Tab字元:有些初學者可能不小心輸入了全形空格符,這很不容易檢出出來。
8. jdk的所有命令,比如javac java javadoc 等的具體使用
JDK 常用命令
JDK 後,JAVAHOME 下會出現許多可執行的 exe 文件,它們的用途如下: 文件,它們的用途如下: javac:Java 編譯器,將
Java 源代碼換成位元組代 : 編譯器, java:Java 解釋器,直接從類文件執行 Java 應用程序代碼 : 解釋器,
appletviewer(小程序瀏覽器 :一種執行 HTML 文件上的 Java 小程序類的 Java 瀏覽器 小程序瀏覽器): 小程序瀏覽器
javadoc:根據 Java 源代碼及其說明語句生成的 HTML 文檔 : jdb:Java 調試器,可以逐行地執行程序、設置斷點和檢查變數 :
調試器,可以逐行地執行程序、 javah:產生可以調用 Java 過程的 C 過程,或建立能被 Java 程序調用的 C 過程的頭文件 :
過程, Javap:Java 反匯編器,顯示編譯類文件中的可訪問功能和數據,同時顯示位元組代碼含義 :
反匯編器,顯示編譯類文件中的可訪問功能和數據, jar:多用途的存檔及壓縮工具,是個 java 應用程序,可將多個文件合並為單個 JAR 歸檔
:多用途的存檔及壓縮工具, 應用程序, 文件。 文件。 htmlConverter——命令轉換工具。 ——命令轉換工具。 ——命令轉換工具
native2ascii——將含有不是 Unicode 或 Latinl 字元的的文件轉換為 Unicode 編碼字元的文 ——將含有不是 ——
件。 serialver——返回 serialverUID。語法:serialver [show] 命令選項 show 是用來顯示一個簡
——返回 —— 。語法: 單的界面。 鍵或"顯示 按鈕, 顯示"按鈕 單的界面。輸入完整的類名按 Enter 鍵或 顯示 按鈕,可顯示
serialverUID。 。 javac.exe 用法: 選項> 源文件> 用法:javac <選項 <源文件 選項
源文件 可能的選項包括: 可能的選項包括: -g 生成所有調試信息 -g:none 生成無調試信息 -g:{lines,vars,source}
生成只有部分調試信息 生成只有部分調試信息 -O 優化;可能妨礙調試或者增大類文件 優化; -nowarn 生成無警告 -verbose
輸出關於編譯器正在做的信息 -deprecation 輸出使用了不鼓勵使用的 API 的源程序位置 -classpath <路徑
指定用戶類文件的位置 路徑> 路徑 -sourcepath <路徑 指定輸入源文件的位置 路徑> 路徑
-bootclasspath <路徑 覆蓋自舉類文件的位置 路徑> 路徑 -extdirs <目錄 多個
覆蓋安裝的擴展類的位置 目錄(多個 目錄 多個)> -d <目錄 指定輸出類文件的位置 目錄> 目錄 -encoding
<編碼 指定源文件中所用的字元集編碼 編碼> 編碼 -target <版本 生成指定虛擬機版本的類文件 版本> 版本
-help Print a synopsis of standard options appletviewer.exe 用法:
用法:appletviewer <options> url
其中, 包括: 其中,<options> 包括: -debug 在 Java 調試器中啟動 applet 小程序查看器
-encoding <encoding> 指定由 HTML 文件使用的字元編碼 -J<runtime flag> 向
Java 解釋器傳遞參數 -J 選
9. 昆明java培訓學校告訴你Dos常用命令
1、dir
無參數:查看當前所在目錄的文件和文件夾。
/s:查看當前目錄已經其所有子目錄的文件和文件夾。
/a:查看包括隱含文件的所有文件。
/ah:只顯示出隱含文件。
/w:以緊湊方式(一行顯示5個文件)顯示文件和文件夾。
/p:以分頁方式(顯示一頁之後會自動暫停)顯示。
|more:前面那個符號是「」上面的那個,昆明北大青鳥http://www.kmbdqn.cn/認為這個叫做重定向符號,就是把一個命令的結果輸出為另外一個命令的參數。more也是一個命令,dir/w|more得到的結果和dir/w/p的結果是一樣的。
其他的參數大家可以用:dir/?查看。
2、cd
cd目錄名:進入特定的目錄。如果看到有個目錄顯示為:abcdefghi就輸入:cdabcdef.ghi進入該目錄。
cd退回到根目錄。
cd..退回到上一級目錄。
3、mdrd
md目錄名:建立特定的文件夾。(dos下面習慣叫目錄,win下面習慣叫文件夾。)
rd目錄名:刪除特定的文件夾。
4、cls
清除屏幕。
5、
路徑文件名路徑文件名:把一個文件拷貝到另一個地方。
6、move
move路徑文件名路徑文件名:把一個文件移動(就是剪切+復制)到另一個地方。
7、del
del文件名:刪除一個文件。
del*.*:刪除當前文件夾下所有文件。
del不能刪除文件夾。
8、deltree
刪除文件夾和它下面的所有子文件夾還有文件,厲害??不要亂用。
9、format
formatx::x代表盤符,格式化一個分區。在dos下是用fat文件系統格式化的,在windows2000安裝的時候會問你要不要轉換為ntfs。
10、type
type文本文件名:顯示出文本文件的內容。
11、edit
其實這是個小程序,編輯文本文件用的。
12、ren
ren舊文件名新文件名:改文件名。
10. 運行JAVA軟體需要做什麼
java環境變數配置2009-08-27 11:49windows xp下配置JDK環境變數:
1.安裝JDK,安裝過程中可以自定義安裝目錄等信息,例如我們選擇安裝目錄為D:\java\jdk1.5.0_08;
2.安裝完成後,右擊「我的電腦」,點擊「屬性」;
3.選擇「高級」選項卡,點擊「環境變數」;
4.在「系統變數」中,設置3項屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊「編輯」,不存在則點擊「新建」;
5.JAVA_HOME指明JDK安裝路徑,就是剛才安裝時所選擇的路徑D:\java\jdk1.5.0_08,此路徑下包括lib,bin,jre等文件夾(此變數最好設置,因為以後運行tomcat,eclipse等都需要依*此變數);
Path使得系統可以在任何路徑下識別java命令,設為:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
CLASSPATH為java載入類(class or lib)路徑,只有類在classpath中,java命令才能識別,設為:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示當前路徑)
%JAVA_HOME%就是引用前面指定的JAVA_HOME;
6.「開始」->;「運行」,鍵入「cmd」;
7.鍵入命令「java -version」,「java」,「javac」幾個命令,出現畫面,說明環境變數配置成功;
8.好了,打完收工。下面開始你的第一個java程序吧。
下面講講java幾個環境變數的含義和linux下的配置方法:
通常,我們需要設置三個環境變數:JAVA_HOME、PATH 和 CLASSPATH。
JAVA_HOME:該環境變數的值就是 Java 所在的目錄,一些 Java 版的軟體和一些 Java 的工具需要用到該變數,設置 PATH 和 CLASSPATH 的時候,也可以使用該變數以方便設置。
PATH:指定一個路徑列表,用於搜索可執行文件的。執行一個可執行文件時,如果該文件不能在當前路徑下找到,則依次尋找 PATH 中的每一個路徑,直至找到。或者找完 PATH 中的路徑也不能找到,則報錯。Java 的編譯命令 (javac),執行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安裝路徑下的 bin 目錄中。因此我們應該將該路徑添加到 PATH 變數中。
CLASSPATH:也指定一個路徑列表,是用於搜索 Java 編譯或者運行時需要用到的類。在 CLASSPATH 列表中除了可以包含路徑外,還可以包含 .jar 文件。Java 查找類時會把這個 .jar 文件當作一個目錄來進行查找。通常,我們需要把 JDK 安裝路徑下的 jre\lib\rt.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。
PATH 和 CLASSPATH 都指定路徑列表,列表中的各項 (即各個路徑) 之間使用分隔符分隔。在 Windows 下,分隔符是分號 (;),而在 Linux 下,分隔符是冒號 (:)。
下面分別說明三個環境變數在 Windows 和 Linux 下如何設置,不過在此之前,我們需要做個假設。假設 JDK 在 Windows 下的安裝路徑是 C:\jdk\,在 Linux 下的安裝路徑是 /usr/local/jdk/。那麼,安裝後的 JDK 至少會包括如下內容:
C:\jdk (/usr/local/jdk)
|-- bin
|-- demo
|-- include
|-- jre
| |-- bin
| `-- lib
`-- lib
***** 在 Windows 下設置
Windows 下使用 set 命令設置環境變數,為了使每一次啟動計算機都設置這些環境變數,應該在系統盤根目錄下的 autoexec.bat 文件中進行設置,如:
set JAVA_HOME=C:\jdk
set PATH=%JAVA_HOME%\bin;C:\Windows;C:\Windows\Command
set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;.
有些版本的 Windows 不能用 %變數名% 來替換環境變數的內容,那麼就只好直接寫 C:\jdk 而不是 %JAVA_HOME% 了。另外,C:\Windows 和 C:\Windows\Command 是 Windows 會自動加入路徑的,所以可以從設置中去掉。如果在 autoexec.bat 中已經設置了 PATH,那隻需要將 %JAVA_HOME%\bin 加到原來設置 PATH 的那條語句中就行了。
CLASSPATH 也可以根據需要設置或者加入其它的路徑,比如你想把自己寫的一些類放在 C:\java 中,就可以把 C:\java 也添加到 CLASSPATH 中去,set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;C:\java;.。
注意,在 CLASSPATH 中包含了一個「當前目錄 (.)」。包含了該目錄後,就可以到任意目錄下去執行需要用到該目錄下某個類的 Java 程序,即使該路徑並未包含在 CLASSPATH 中也可以。原因很簡單:雖然沒有明確的把該路徑包含在 CLASSPATH 中,但 CLASSPATH 中的 「.」 在此時就代表了該路徑,如:
假設在 C:\java 目錄下有可運行的類 HelloJava.class,那麼
C:\> set CLASSPATH=C:\jdk\jre\lib\rt.jar;. // 設置 CLASSPATH 環境變數,注意最後有一個 「.」
C:\> cd java // 轉到 C:\java 目錄
C:\java> java HelloJava // 運行 HelloJava
Hello, Java. // 運行結果
C:\java> _
**** 在 Linux 下設置
Linux 下使用「變數名=變數值」設置變數,並使用 export 命令將其導出為環境變數。為了使每一次登錄都自動設置好這些變數,你需要在 ~/.bash_profile 里或者 ~./bashrc 里進行設置,如
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.
設置 PATH 時用的 $JAVA_HOME 是指替換變數 JAVA_HOME 的值到 $JAVA_HOME 所在位置。如上句實際就是 export PATH=/usr/local/jdk/bin:$PATH。這句中 $PATH 也是同樣的作用,不過這里的 PATH 是指以前設置的 PATH 變數的值,而非本次設置 PATH 變數的值。
注意,在 CLASSPATH 中包含了一個「當前目錄 (.)」。包含了該目錄後,就可以到任意目錄下去執行需要用到該目錄下某個類的 Java 程序,即使該路徑並未包含在 CLASSPATH 中也可以。原因很簡單:雖然沒有明確的把該路徑包含在 CLASSPATH 中,但 CLASSPATH 中的 「.」 在此時就代表了該路徑,例如
假設在 /home/fancy/java 目錄下有可運行的類 HelloJava.class,那麼
[fancy@matrix fancy]$ export CLASSPATH=/usr/local/jdk/jre/lib/rt.jar:. // 設置 CLASSPATH,注意最後的「.」
[fancy@matrix fancy]$ cd ~/java // 轉到 /home/fancy/java
[fancy@matrix java]$ pwd // 顯示當前目錄
/home/fancy/java // 當前目錄是 /home/fancy/java
[fancy@matrix java]$ java HelloJava // 運行 HelloJava
Hello, Java // 運行結果
[fancy@matrix java]$ _