JAVA核心技术I---JAVA基础知识(命令行)
一:命令行编译文件
手动在c:\temp创建cn.com.test.Man.java
–即c:\temp\cn\com\test\Man.java
–c:\temp可以替换成任何路径,后续命令同样替换
编译:
–X:\>java c:\temp\cn\com\test\Man.java
运行
–X:\>java -classpath .;c:\temp cn.com.test.Man
X代表任意盘符或路径


二:运行class文件
java -classpath .;c:\temp cn.com.test.Man
第一部分:java,执行命令,是java.exe的简写
第二部分:-classpath 固定格式参数,可以简写成-cp.
第三部分:是一个(Windows分号,Linux/Mac冒号连接起的)字符串。按分隔符隔开,得到一个个子路径。当运行cn.com.test.Man类的过程中,如果需要用到其他的类,就会分裂第三部分的字符串,得到多个子路径,然后依次在每个路
径下,再去寻找相应类(全称,包名以点隔开对应到目录)
第四部分:主执行类的全称(含包名)
package cn.com.test;
public class Man{
public static void main(String[] args){
System.out.println("Hello");
}
}

三:编译和运行规则
–编译一个类,需要java文件的全路径,包括扩展名。
–运行一个类,需写类名全称(非文件路径),无须写扩展名。
–编译类的时候,需要给出这个类所依赖的类(包括依赖的类再次依赖的所有其他类)的所在路径
–运行类的时候,需要给出这个类,以及被依赖类的路径总和。
–classpath参数也可以包含jar包。如果路径内有空格,请将classpath参数整体加双引号。
–java -classpath “.;c:\test.jar;c:\temp;c:\a bc” cn.com.test.Man
按照路径前后优先级进行搜索,其中空格隔开c:\a bc表示在这个c目录下的a和bc文件夹下查找文件

(一)C.java编译运行

package A.B.C;
public class C{
public int number=;
public int getNum(){
return number;
}
public void setNum(int num){
this.number=num;
}
public static void main(String[] args){
C c=new C();
System.out.println("Hello C"+c.getNum());
}
}
C.java

(二)F.java编译运行

package D.E.F;
import A.B.C.C;
public class F{
public int number=;
public int getNum(){
return number;
}
public void setNum(int num){
this.number=num;
}
public static void main(String[] args){
C c=new C();
c.setNum();
System.out.println("Hello F"+c.getNum());
}
}
F.java
(三)H.java编译运行

package G.H;
import D.E.F.F;
public class H{
public static void main(String[] args){
F f=new F();
f.setNum();
System.out.println("Hello H"+f.getNum());
}
}
H.java

四:总结
–包名和类所在的目录必须严格一致
–在命令行中,必须依靠classpath来指引所需要的类
–编译需要文件的全路径,运行需要类的完整
JAVA核心技术I---JAVA基础知识(命令行)的更多相关文章
- 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...
- Java核心技术 卷1 基础知识-第一天
基本数据类型 java是一种强数据类的的语言 共有8种基本数据类型 其中: 整型4种 int(4字节) short(2字节) long(8字节) byte(1字节) java中整型的范围与机器无关 长 ...
- Java基础教程——命令行运行Java代码
视屏讲解:https://www.bilibili.com/video/av48196406/?p=4 命令行运行Java代码 (1)使用记事本新建文本文件[Test.java]. 注意,默认状态下W ...
- [Java面试三]JavaWeb基础知识总结.
1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静 ...
- Java学习之旅基础知识篇:数据类型及流程控制
经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...
- Java学习1——计算机基础知识
本文包含了一些计算机基础知识:计算机组成:Windows常用快捷键:DOS常用命令:计算机语言发展史.
- Java中浮点数的基础知识
偶然查看Math.round的JDK public static int round(float a) { if (a != 0x1.fffffep-2f) // greatest float val ...
- 《Java 程序设计》课堂实践项目-命令行参数
<Java 程序设计>课堂实践项目 课后学习总结 目录 改变 命令行参数实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改.加了 ...
- [Java][Android][Process] 分享 Process 运行命令行封装类型
我在以前的文章中提到,使用Java不会有一个问题,创建运行命令来创建太多进程后创建进程行语句. [Android] ProcessBuilder与Runtime.getRuntime().exec分别 ...
- java 程序运行的基础知识【Java bytecode】
聊聊文字,写一篇关于 java 基础知识的博文. JVM 线程栈 到 函数运行 每一个JVM线程来说启动的时候都会创建一个私有的线程栈.一个jvm线程栈用来存储栈帧,jvm线程栈和C语言中的栈很类似, ...
随机推荐
- IDEA Failed to prepare an update: Temp directory inside installation
具体错误: Connection Error Failed to prepare an update: Temp directory inside installation: F:\IDEA_Tool ...
- Codeforces1073E Segment Sum 【数位DP】
题目分析: 裸的数位DP,注意细节. #include<bits/stdc++.h> using namespace std; ; int k; ][],sz[][],cnt[][]; ] ...
- 安卓Android基础第五天
使用HttpUrlConnection方式提交到服务器2 Get方式:组拼url地址把数据组拼到url上,有大小限制1kb(浏览器)或4kb(http协议) Post方式:post方式提交安全,没有大 ...
- mysql索引技巧
索引 索引是对数据表一列或多列的值进行排序的一种结构,用于加速基于索引字段的数据排序以及优化查询的执行速度,避免全表扫描.索引是直接影响数据库性能的数据库模式对象,因此十分重要.在定义主键和唯一键约束 ...
- Mysql 语句优化
通过 show status 命令了解各个 sql 语句的执行频率格式:Mysql> show [session | global] status;注:session 表示当前连接global ...
- [SDOI2015]序列统计(多项式快速幂)
题目描述 小C有一个集合S,里面的元素都是小于M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S.小C用这个生成器生成了许多这样的数列.但是小C有一个问 ...
- 【mysql】 mysql忘记密码
先关闭mysql服务 [root@localhost ~]# service mysql status Redirecting to /bin/systemctl status mysql.servi ...
- 【docker】docker安装和使用
一.docker简介: docker是容器技术的一个代表,而容器技术是将程序打包和隔离的一种技术,其实它并不是一个新技术,之前在linux内核中早已存在,真正被大众所用所了解是因为docker的出现. ...
- Go实战--golang中使用JWT(JSON Web Token)
http://blog.csdn.net/wangshubo1989/article/details/74529333 之前写过关于golang中如何使用cookie的博客: 实战–go中使用cook ...
- 【转】服务化框架技术选型与京东JSF解密
[京东技术]声明:本文转载自微信公众号“开涛的博客”,转载务必声明. 作者:章耿,原京东资深架构师,曾负责京东服务框架,配置中心等基础平台.近十年工作经验,专注于基础中间件等底层技术架构,对分布式系统 ...
