一,Java 开发的第一步,就是安装JDK(Java Development ToolKit Java开发工具包)
JDK 是Java开发的核心,因为它包括Java 运行环境,工具包和命令。当我们安装完JDK以后,打发它所在的路径,如:C:\Program Files\Java\jdk1.8.0_31, 我们可以看到jre 文件夹,这就是Java运行环境(Java Runtime Envirnment); 还有bin 文件夹,打开看到所有的.exe 文件,这就是java 的所有命令,不过这里命令是要在命令行内使用,不是双击运行; 还有lib 文件夹,里面有.jar文件,就是经常听到的java 包(java 提供的API)。
JRE, Java 运行环境,就是所有的java 程序必须在JRE 下才能运行,如果没有安装JRE, java 程序是运行不起来的。它主要包括 JVM , JAVA核心类库和支持文件.
JVM(Java Virtual Mechinal)Java 虚拟机, 顾名思议,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机上的功能来实现的,JVM 有自己完善的硬件架构,如处理器、堆栈、寄存器等,还有相应的指令系统。它的主要功能就是解释自己的指令集(就是java 字节码文件 )并映射到木地cpu 指令集或OS(操作系统)的系统调用。所以Java 虚拟机的存在使得java 语言能够跨平台。
我们开发Java程序,实际上就是, 利用 JDK 提供的Java API, 编写java 源代码,再通过JDK 提供的命令(bin 文件夹下的javac 命令)把我们的文件编译成java 字节码文件, 再调用java 命令(同样是bin文件夹下),开启java 运行环境jre运行这些字节码文件,jre中的JVM 解析这些字节码,映射到CPU指令集或OS的系统调用。
简单一点就是,编写java源文件(源文件以 .java结尾)=》 编译器 编译成字节码文件(字节码文件以 .class 文件结尾)=》解释器对字节码文件进行解释执行。
二, 配置环境变量
在上面提到,我们要用到bin文件夹下的javac, java 命令,我们进入这个bin文件夹执行命令肯定没有问题,但是,我们的java 源代码,不会写在这个文件夹下,我们可以写到任意文件夹下,那怎么才能在任意文件下使用这两个命令? 先简单举一个其他的例子,在window 下,win + r 打开cmd, 我们输入一个命令,如nodepad, 按回车键,可以看到我们打开了记事本。但记事本命令并没有在任意的文件夹中,它是怎么做到的? 原来在window 下,执行一个命令,它先到当前文件夹下查找该命令,如果有这个命令,它就会执行,如果没有,它会继续寻找,不过是在系统配置好的环境变量中寻找,也就是说,我们要执行的javac,java命令也要配置到环境变量中,才能在任意文件夹中使用。
在win10下,打开一个任意文件夹,在左边有一个“此电脑”,
在其上面右击,选择“属性”, 在弹出的对话框中左侧有 “高级系统设置”,
点击,出现的对话框中 , 最下面有一个“环境变量”,
再点击出现下面对话框,底部是“系统变量”选择框,
选中里面的Path单击,弹出一个对话框,编辑环境变量,
点击右侧的新建按钮,它会在左侧的白色区域底部出现一个蓝色背景的输入框,我们把javac, java命令所在的文件夹路径复制到这个输入框中。如 C:\Program Files\Java\jdk1.8.0_31\bin, 路径最好复制,以免出现错误。复制成功后,点击任意一个空白区域,光标停止闪烁,我们就把java 常用的命令放到系统环境变量中。最好是把java命令放到最顶部,如上图所示,这也很简单,在左侧白色区域选中C:\Program Files\Java\jdk1.8.0_31\bin, 然后按右侧的上移按钮就可以了。这时配置环境变量完成。这时我们重新打开一个cmd命令窗口,输入javac 可以看到以下内容,表示配置成功。
配置临时环境变量: 主要是有可能在别人的电脑上进行开发。
这里主要用到命令行中的set命令,显示,设置或删除环境变量。win + r 打开cmd命令窗口,输入set 可以看到计算机中所有环境变量。
可以看到里面有path变量,有我们配置的java 环境变量。如果只想看path 变量,我们可以在命令行中输入set path,
只有环境变量path, 那怎么设置环境变量呢? 设置环境变量,就是给path变量赋一个值,如 set path=f:/sam, 等号左右两边不能有空格,
但这里有一个问题,path变量只有我们自己的变量,原来系统定义的变量没有了,如果我们想使用系统中的变量怎么办? 可以把path变量做如下配置 set path=f:\sam;%path%
这时我们就可以配置java环境变量了,只要把java所在的bin目录赋值给path 就可以了。如set path=H:\Java\jdk1.8.0_31\bin;%path% 这时在这个窗口中我们就可以使用javac,java命令了。当我们把这个窗口关闭时,我们配置的环境变量就失效了,所以这叫做临时环境变量。
CLASSPATH配置
classpath就是存放.class等编译后文件的路径, 因为我们的.class文件可以放在任意位置,而我们想在当前文件下,执行非当前文件夹中.class 文件,所以就要告诉操作系统到会什么地方去找,这就要配置classpath了,它和配置path 环境变量是一样的道理。
在环境变量弹出框中最下部有一个新建按钮,
点击它,会弹出一个框,然后在变量名中输入CLASSPATH, 变量值中输入 .; 存放.class文件的路径。
一定不要忘记前面的 . 号,它代表当前路径,表示java命令先从当前路径寻找要执行的.class 文件。路径和路径之间一定要用 ; 隔开。