一、jdk和jre的区别
JRE:(Java Runtime Enviroment)是Java的运行环境。
JDK(Java Development Kit)又称J2SDK(Java2 Software Development Kit),是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提 供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。
如果安装了JDK,你的电脑就有两套JRE(JRE本身和JDK中的JRE),前面这套比后面那套少了Server端的Java虚拟机。
jdk的安装
二、环境变量的作用
在java5中,sun公司改进了JDK设计,JRE会自动搜索当前路径下的jar包,并自动加载dt.jar和tools.jar。所以从Java5开始,就不必再设置CLASSPATH环境变量了。
java 5 以及以后的java版本都不需要再设置了。
- 不配置环境变量如何执行java程序:
- 【jdk\bin\javac hello.java】
- 【jdk\bin\java hello】
- 类名和文件名相同
- 配置环境变量:
- 打开环境变量设置:【我的电脑】右击【属性】===【控制面板】[系统和安全][系统]右上角相关设置里的【高级系统设置】
- 【cmd】【control】===打开控制面板
- 添加系统变量:【JAVA_HOME】——【jdk目录】
- 添加path:【;%JAVA_HOME%\bin】
- 打开环境变量设置:【我的电脑】右击【属性】===【控制面板】[系统和安全][系统]右上角相关设置里的【高级系统设置】
- 环境变量作用:
-
环境变量(environment variables)
一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。
例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。当我们配置了环境变量之后,就是在系统属性->环境变量->path中添加的bin的所在目录,我们在dos命令窗口中再去执行java程序的时候,系统会先在你的类的当前目录寻找javac.exe如果没有找到就去path中去寻找,现在我们配置了环境变量后,系统会在path中寻找到javac.exe所以编译成功。jdk的安装、不配置环境变量如何运行Java程序、Java为什么可以跨平台、为什么要配置环境变量以及如何配置环境变量 - Java天堂 (javatt.com)
-
二、JVM是什么、java程序执行流程
- 编译性语言:编译性语言需要经过编译、汇编和链接才能输出目标代码,然后机器执行目标代码,然后输出结果。目标代码一般有机器语言或接近机器语言的代码组成。一般不能独立运行。
- 解释性语言:翻译器并不产生目标机器代码,而是产生容易执行的中间代码。这种中间代码与机器语言不同,中间代码可以由软件来解释。任务是将语句解释成可执行的机器指令。与编译性语言不同的是解释性语言是一个一个将源程序的语句解释成可执行的机器指令。
- Java需要先经过javac程序的编译,编译成.class文件(字节码文件,中间代码),然后经过jvm(java虚拟机)解释成机器能执行的机器执行,所以说Java既需要编译,也需要解释。只要你的电脑上安装了JVM(java 虚拟机)不管是什么系统,都可以执行.class文件,所以说java可以跨平台。(前提是你的电脑上需安装JVM)