java环境无关行_JAVA基础梳理1java运行环境命令行编译执行path和classpath作用

2、在命令行编译执行java程序(windows)

要知道怎么在命令行编译执行程序,首先我们要知道java程序具体的执行过程。

如上图所示,一个java程序完整的执行过程是:

首先, 按照java的语法写一个以 .java 为后缀的源程序

其次,通过java编译器将源程序编译成字节码文件,即以 .class 为后缀的文件

然后,经过类装载器、字节码校验器、解释器等的层层运行,转变为操作系统平台认识的可执行文件。如在windows操作系统下,就转变为以 .exe为后缀的文件

最后,由操作系统平台执行,给出结果。

java的跨平台特性,就是在第三步将字节码文件转换成操作系统可执行文件时,对于不同的操作系统可以转换成不同操作系统可以执行的文件。java核心机制之一的java虚拟机机制就是这个作用。java虚拟机可以理解成一个以字节码为机器指令的cpu,对于不同的运行环境,有不同的虚拟机。

了解了java程序的执行过程,我们就可以知道在命令行下编译、执行java程序需要怎么做。先编译后运行。

在命令行下跳转到程序存放路径,

编译:输入javac  *.java   (*指源程序文件名)   将其编译成字节码文件,执行完后命令你会发现程序目录下出现了一个对应的 .class文件

运行:并不是输入java  *.class  而是输入 java   * (*指类名,即程序中的public 类名,与源文件程序文件名一致。java语法规则)

3、path和classpath作用

在安装了JDK以后,一般的教程都会直接让我们配置path和classpath,可是它们的作用是什么?为什么要配置成那样?

path

之前讲过,编译java程序需要在命令行输入javac *.java

在windows的DOS命令行下输入javac:

其实是执行了windows下的文件——例如D:jdk\bin(编译好的程序、可执行程序存放的地方)\javac.exe

那么windows为什么会知道去这条路径寻找javac.exe这个可执行文件呢?

当我们在命令行输入相关命令,windows一般会去环境变量path里的各个目录找,看看有没有相应可执行文件,有的话直接执行,  没有的话会给出相关信息。

因此,为了让javac这个命令生效,我们需要配置环境变量path,将javac的目录加进来。

在  我的电脑/属性/高级/环境变量/系统变量   中找到path,打开JDK中的bin文件夹,找到javac.exe存放地。将文件栏上的地址复制下来,黏贴到path当中的目录后面,目录与目录之间用分号;隔开。

classpath

系统知道去哪找javac,那么配置classpath是为了知道去哪找java?并不是,在配置path时就知道去哪找java命令了。javac.exe与java.exe是存放在一起的。

之所以配置classpath,是因为大项目中多个class文件要相互配合,一个class要用另一个class,去哪找另一个class。去哪找呢?

答案是在classpath里找。

所以我们在 我的电脑/属性/高级/环境变量/系统变量  里添加一个classpath 。同样的找到jdk下的lib(类库),那里存放着许多类文件,将目录添加进去就行了 。也是用;分开。(可以添加  ; .     ,就在当前执行程序目录下找 )

有些添加home变量不过是将path和classpath中的前半部分D:jdk提取出来,后面设置path和classpath需要引入

给出具体定义

path:windows系统执行命令时要搜寻的路径

classpath : java在编译和运行时要找的class所在路径

JAVA基础梳理1java运行环境命令行编译执行path和classpath作用相关教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值