文章目录
- 介绍JDK
- 编译运行过程
- 为什么要配置环境变量
- 配置环境变量的作用
- 配置JDK
- 验证
- ps:
介绍JDK
【面试题】JDK、JRE、JVM之间的关系?
JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。
JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
JVM(Java vitual machine):Java虚拟机,运行Java代码
编译运行过程
- 先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节
码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。 - 注意:在运行Java程序前,必须先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了javac和java工具,Java程序最终是在JVM(Java虚拟机)中运行的。
为什么要配置环境变量
如果不使用集成开发环境,程序运行是通过命令提示符(cmd),并且要配置环境变量.
如果使用idea等集成开发环境,可以不配置环境变量
配置环境变量的作用
比如运行qq
找到exe文件,双击就能运行
也可以在cmd中让它跑起来 .
在exe文件所在目录下输入cmd回车,就会跳出cmd界面
这是通过命令行的形式,启动程序
但一定是在这个可执行程序的目录下
设置环境变量就是告诉cmd去找到这个qq.exe
过程如下:
在设置中搜索环境变量
一个操作系统可以有多个用户
- 如果设置用户变量,只对那个用户起效
- 如果设置系统变量,那不管是哪个用户都能起效
所以推荐设置系统变量(但我这好像没权限),就用用户变量做演示了
进入Path,我们加上qq的路径(可以上移,越上面越先被执行,效率高),确定
打开cmd,只输入qq,也能运行exe文件
这就是环境变量的意义
所以想用cmd执行java程序,得告诉cmd java程序在哪里
配置JDK
1.java 的安装路径(根据个人有所不同)
在path加上C:\Program Files\Java\jdk1.8.0_192\bin(含bin目录)
2.变量名:JAVA_HOME(不是在Path中加)
变量值:就是第一个的路径去掉bin目录
3.变量名:CLASSPATH(跟第二个一样,也要新建,但可有可无,不配置它也能运行java程序)
变量值:
,;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
验证
打开cmd输入java -version
可以显示版本号
输入javac
也可以验证
如果出现不是内部命令,那都是环境变量的问题
运行代码
public class helloworld{
public static void main(String[] args){
System.out.println("hello!");
}
}
在自己知道的路径下新建xxx.java文件,用记事本打开(文件主名不要有空格)
写下代码
这是源代码,需要javac(编译器)进行编译.
就在源文件所在目录下输入cmd回车
cmd就到当前目录下
输入javac xxx.java回车
运行成功后多出.class文件,是二进制的字节码文件
运行的话是在cmd输入java xxx(文件不用加后缀)
屏幕上就打印出了 hello!
ps:
- 只有一个类被public修饰,文件名和类名是一样的
- 一个java文件中可以有多个类
- 类里面是函数/方法
- 一个类会产生一个字节码文件