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]$ _