JDK的配置及运行过程

介绍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文件中可以有多个类
  • 类里面是函数/方法
  • 一个类会产生一个字节码文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值