课时6:CLASSPATH环境属性

简介: 课时6介绍了CLASSPATH环境属性的概念,即类的加载路径。通过设置CLASSPATH,可以在不同目录下执行Java类文件。例如,在d:\mydemo目录下编译并运行Hello.java后,切换到其他目录(如E盘)将无法找到Hello.class文件而报错。通过命令`SET CLASSPATH=d:\mydemo`,可以确保在任意目录下执行该类文件。默认情况下,CLASSPATH为当前路径(`.`)。建议谨慎修改CLASSPATH,以免影响程序执行。后续课程将深入讲解CLASSPATH的应用。

课时6:CLASSPATH环境属性

本节介绍 CLASSPATH 概念。

现在只能对概念做初期解释,后面再对它进行完整解释。

CLASSPATH 指的是类的加载路径。

如图输入System.out.println("Hello world !")

image.png

打开cmd输入del *.class,输入dir,将不重要的文件删除。只留下Hello. Java 。

image.png

输入 Java c Hello. Java 编译 Java ,再输入dir查看目录存在Hello.class。

image.png

现在假设在d:\mydemo目录下存在一个Hello.class的程序类,如果现在要想执行这个程序类,则必须要求命令行所在目录也是d:\mydemo,如果切换到了其它目录(e:),将无法执行。因为没有Hello.class文件。

现在在mydemo目录下直接执行Hello可以直接执行程序。

image.png

但是退出到e盘,再执行Hello. Java 。E盘下没有Hello.class文件会显示找不到类。默认情况下 Class 在哪里生成,生成的地方可以执行程序类文件。

image.png

现在希望即使当前不在 d:\mydemo 目录下也可以执行该目录下的Hello.class 文件。就必须通过  CLASSPATH  来进行控制,所以执行如下命令:

输入SET  CLASSPATH =d:\mydemo,再次执行 Java  Hello。

image.png

在 Java 解释一个程序时会首先通过 CLASSPATH 获得类的加载路径,再进行解释。所以可以得出结论:当使用 Java 命令解释一个程序类的时候,一定要首先取得 CLASSPATH 设计的路径,再可以进行类的加载操作。

需要注意的是,如果现在的 CLASSPATH 设置的目录比较乱,对于程序的解释执行会非常不方便,最好的办法采用默认的机制:从当前所在的路径中进行类的加载,可以将 CLASSPATH 的内容设置为.

输入SET  CLASSPATH =.

在E盘中没有Hello.class文件,执行 Java Hello报错。

image.png

再返回到d盘,输入 Java  hello可以执行。

image.png

实际上默认就是从当前所在路径下进行类的加载,所以一般来讲不建议大家去改变 CLASSPATH 的配置,如果为了方便,可以为项目添加一个环境属性 CLASSPATH 。

点击我的电脑,找到属性,点击高级系统设置,点击高级,点击新建。

image.png

输入 CLASSPATH 。环境操作针对所有的命令行窗口起效。

image.png

如果安装一些软件,可能会自己修改 CLASSPATH 。所以使用时将 CLASSPATH 设置为.

CLASSPATH 是一个非常重要的概念,但是现在只能对其做基本认识,后期还会对 CLASSPATH 进行更深入的讲解。之后在一个项目中可能会有很多 CLASSPATH ,需要明白为什么文件存在目录中可以加载,正是因为 CLASSPATH 环境属性的原因。

 

相关文章
|
9月前
|
Java
课时10:Java数据类型划分(整型类型)
本文主要围绕Java中整型数据展开,详细讲解整型变量、常量的概念,整型数据运算规则,包括数据溢出问题及解决方法,数据类型转换(自动转换与强制转换)的原理和注意事项,同时介绍了整型数据默认值的相关知识,以及byte数据类型与int数据类型的关系和使用场景,帮助读者全面掌握Java整型数据的相关内容。
235 4
|
3月前
|
机器学习/深度学习 人工智能 负载均衡
在 Ray Data 和 Ray Serve 中推出原生 LLM API
https://www.anyscale.com/blog/llm-apis-ray-data-serve 译文
|
9月前
|
Java C语言 C++
课时9:Java数据类型划分(数据类型划分)
课时9介绍了Java的数据类型划分及其操作。Java数据类型分为基本数据类型和引用数据类型。基本数据类型包括八种:数值型(整形、浮点型)、字符型和布尔型;引用数据类型有数组、类和接口。重点讲解了每种数据类型的默认值、适用场景及选择原则,如整数用int,小数用double,日期时间用Long等。掌握这些内容对编程至关重要。
195 4
课时9:Java数据类型划分(数据类型划分)
|
9月前
|
Java
课时12:Java数据类型划分(字符型)
课时12介绍了Java中的字符型数据(char),包括字符的定义、与int类型的转换及应用。通过范例展示了如何观察字符、编码转换、大小写字母互转、保存中文字符,以及Java中字符处理的灵活性。字符型使用单引号声明,可与int互相转换,支持Unicode编码,能表示任何文字,包括中文。虽然实际开发中直接操作字符型的情况不多,但理解其特性有助于更好地编程。
229 17
|
9月前
|
Java
课时11:Java数据类型划分(浮点类型)
课时11介绍了Java中的浮点数据类型。主要内容包括:1. 定义小数,默认使用Double类型;2. 定义Float变量,需在数值后加"F"或"f"进行强制转换;3. 观察不同类型计算结果,如Int型除法会丢失精度,需至少包含一个Double或Float类型以确保准确性。总结指出,在复杂计算中推荐使用Double类型以避免精度损失。
227 5
|
9月前
|
Java C语言
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
193 4
|
9月前
|
Java 编译器
课时7:Java程序基本概念(注释)
课时7介绍了Java程序中的注释。编程语言有其语法和语义,注释有助于理解代码需求,防止断档。Java支持三类注释:单行(//)、多行(/* */)和文档注释(/** */)。注释不会被编译器编译。范例中展示了如何在代码中使用注释,并强调了注释对项目文档管理的重要性。
208 3
|
12月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
705 3
|
12月前
|
视频直播 UED
体育动画直播,观赛的新潮流
体育动画直播利用动画技术和实时数据,生动呈现比赛进程,增强观众参与感。篮球、足球及电竞赛事中,通过动画展示球员轨迹和比赛数据,使观众更直观了解比赛进展。熊猫比分推出的最新版体育动画直播产品,界面可高度定制,支持动画UI和品牌LOGO自定义,云传输技术确保比赛进度领先视频直播,极大提升用户体验。
|
存储 NoSQL 算法
Redis6入门到实战------ 三、常用五大数据类型(列表(List)、集合(Set)、哈希(Hash)、Zset(sorted set))
这是关于Redis 6入门到实战的文章,具体内容涉及Redis的五大数据类型:列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset(sorted set))。文章详细介绍了这些数据类型的特点、常用命令以及它们背后的数据结构。如果您有任何关于Redis的具体问题或需要进一步的帮助,请随时告诉我。

热门文章

最新文章