Java程序运行机制及cmd编译运行探究(一)准备工作
来源:互联网 发布:蔡康永的母亲 知乎 编辑:程序博客网 时间:2024/06/06 01:04
Java程序运行机制及cmd编译运行探究(一)准备工作
平时太依赖开发工具了,对Java的一些比较底层的东西不明白,现在脱离开发工具,在命令行写个小程序研究下整个流程。
1. 基本流程
Java是一种高级语言,它既具有编译型语言的特征,也具有解释型语言的特征。
它的运行过程一般要经过以下两个步骤:
(1) 编译
把源代码翻译成与平台无关的字节码(.class)文件,用的是javac命令
(2) 运行
解释执行与平台无关的字节码文件,用的是java命令。
2. 常用命令
要运用命令行进行Java程序的编译和运行需要一些基础的预备知识,先做个整理。
1. cmd基本用法
进入方式:win+R打开"运行",输入cmd,进入命令行。
常用命令:
进入某个目录cd d:\test\utils
进入d:\test\utils目录
cd ..
返回上一级
cd ../..返回上两级,以此类推盘符名+冒号
切换盘符d:切换到d盘dir
列出当前目录下所有文件
cls清屏
2. java基本命令
举例:
javac d:\cmdtest\Test.java
意义:编译d:\cmdtest目录下的Test文件,生成的字节码文件同样存在d:\cmdtest下
举例:
javac -d d:\cmdtest e:\Test.java
意义:编译e盘下的Test文件,生成的字节码文件存在d盘的cmdtest目录下
注意:这里的destdir可以是.,代表是当前目录,
例:javac -d . e:\Test.java意思是编译e盘下的Test文件,生成的字节码文件存在命令行的当前目录下
(就是你命令行停在C盘的时候去编译E盘的Test文件,生成的字节码文件放在C盘下,而不是E盘)
举例:
javac -classpath d:\classpackage e:\Test.java
意义:e盘下的Test文件编译过程中需要用到一些字节码文件,这些文件去从d盘下的classpackage目录下去找,找到后完成Test文件的编译举例:
java People
意义:运行People类的字节码文件
举个特殊情况:d:\javaclass\com\test\People.class,People类第一句package com.test;
这种情况比较复杂,有两点要注意:
1. 运行People字节码文件要在com路径下,命令为:java com.test.People(注意不是进入People字节码文件路径去运行java People)
2. javac命令srcFile可以是地址+文件名的组合,而java命令的类名部分只能是类名或者包加类名,不能加上地址,而第一点的com.test.People指的不是地址,
指的是全类名。
所以这种情况下在d盘根目录运行java javaclass\com.test.People是不行的,java javaclass\com\test\People就更不对了。
举例:参考java Classname(类名),就多提供一个寻找运行ClassName类时候其他相关字节码文件存放路径的参数
备注:
1. 以上我举的例子基本都是绝对路径,在实际情况下,javac命令还可以用相对路径来编译,例如.,..,../..等,但java不行,必须进入对应路径进行执行。
2. Window下原来斜杠/表示DOS参数,反斜杠\表示路径分隔符,现在的Windows内核在处理路径时确实可以同时支持斜杠和反斜杠,所以基本可以互用。
- Java程序运行机制及cmd编译运行探究(一)准备工作
- Java程序运行机制及cmd编译运行探究(二) cmd编译运行Java程序并打成jar包
- Java程序运行机制及cmd编译运行探究(三) 测试类运行jar包
- (一)1.3Java程序运行机制及运行过程
- cmd编译运行java程序
- cmd编译运行java程序
- cmd下使用java命令编译及运行程序
- Java程序编写及运行准备工作
- java入门(1) 程序运行机制及运行过程
- Java程序运行机制及运行过程
- Java程序运行机制及运行过程
- Java程序运行机制及运行过程
- Java程序运行机制及运行过程
- 在Dos环境下(cmd)编译及运行java程序教程
- cmd下编译、运行java工程(一)
- Cmd 中编译及运行java
- 浅谈java程序运行时内存分配及运行机制
- cmd运行java程序
- Java注解之一
- 数据结构04串
- linux进程管理
- c接口导出到lua中使用
- scope的生命周期
- Java程序运行机制及cmd编译运行探究(一)准备工作
- 5-2 输出全排列 (20分)
- 说说 JavaScript Date 类型
- css将彩图置灰
- IntelliJ 运行程序前设置运行参数,类似于用命令行运行时输入运行参数
- AR学习资源收集
- 关于ScheduledExecutorService
- printershare打印excel中的遇到的几个问题
- CCCC练习 5-11玩转二叉树