黑马程序员--01.Java开发前奏--02.开发环境的搭建

Java开发前奏--02.开发环境搭建

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

1.    JRE和JDK

1). JRE: Java运行时环境

(1). 全称Java Runtime Environment。

(2). 包含JVM和Java应用程序运行时的核心类库等。

2). JDK: Java开发工具包

      (1). 全称Java Development Kit

      (2). 是提供给Java开发人员使用的。

其中包含了java、javac、jar等开发工具。同时也包含了JRE。

(3)JDK中包含JRE的原因

JDK中的bin目录下的javac、jar、java等工具也是由Java语言编写的,运行的时候依靠JVM。所以必须自带JRE。

注意:

[1]. 安装了JDK之后,不用再次单独特意安装JRE

[2]. JDK中有JRE,JRE中有JVM

[3]. 双击某个exe可能出现一闪而过的现象

       原因就是:这个exe不是通过GUI(图形用户界面)而是通过CLI(命令行用户界面)来和用户进行交互的。此时应该在DOS窗口中打开这个exe。

安装时候注意:

[1]. 由于JDK中包含JRE,所以在安装完JDK之后,会自动跳出提示是否再次安装JRE。

       此时如果不安装JRE,则你的JRE文件夹是在JDK文件夹下面的

       如果此时安装JRE,则会并列JDK文件夹并列创建一个JRE目录。如图所示。

      

[2]. 安装之后的JDK文件夹可以剪切走,作为绿色版的Java开发套件到别的机器上进行Java

开发使用。

2.   开发环境搭建(一) 配置环境变量path

1). *当你在dos中的使用某个exe命令的时候,windows操作系统怎么查找这个exe的位置呢?

       Step1.首先到DOS窗口运行命令的所在的当前的文件夹目录去查找这个exe是否存在。 如果找不到这个exe,转Step2

       Step2.操作系统此时到系统的环境变量path中去查找这个exe所在的路径。如果查找到了,就能执行这个命令。否则,就会出现错误提示:xxx不是内部或者外部命令

如果出现上面的错误提示,修正办法就是把这个exe所在的目录位置设置到环境变量

path中。

2). 将JDK的bin目录配置到path中的技巧:

假设要配置的bin目录是: “C:\Program Files\Java\jdk1.7.0_02\bin”

      (1). 区分目录中的变化的部分和不变的部分

              [1].目录中容易变化的部分设置到JAVA_HOME变量

              这里面“C:\Program Files\Java\jdk1.7.0_02\”是容易随着每次安装java软件的版本

      的不同和安装软件的位置不同而变化的,所以把这部分起名叫做JAVA_HOME

              把变量JAVA_HOME添加到系统中。(这个变量和path不一样。不是os自带的,第一次使用的时候并不存在,需要自行手动创建)

       

              [2].目录中相对不变的部分采用和JAVA_HOME组合的方式设置到path中。

              **path变量如果想引用其他环境变量的值,使用%环境变量名%

                组合之后的要设置到path中的值就是 %JAVA_HOME%\bin

              **这样做的好处:一旦jdk目录被修改了,直接修改这个仅仅具有一个取值的JAVA_HOME变量即可,而不用重新修改还有很多目录的path变量

      **设置JAVA_HOME另一个好处:Tomcat服务器本身启动的时候,需要值为JDK下bin的JAVA_HOME环境变量

      **修改path的坏处如果path无意中修改错了,很有可能会导致系统的很多系统软件和应用软件无法使用。

      (2). 将设置好的jdk的bin的值添加到path中

[1]. OS在path中查找exe的特点

OS在path中查找所需的exe的顺序就是从path的值的最开始查找先查找到,就执行先查找到路径中的exe。

[2]. 为了使得OS能够率先查找到我们自己设定的jdk的目录,应该把自行设定的

%JAVA_HOME%\bin添加到path原有值的前面。如图:

3). 配置环境变量的两种方式

      (1). 永久配置

这种方式采用windows对话框来配置的。具体步骤就是:我的电脑(win7就是计算机)à属性à高级à环境变量   一劳永逸的配置:一次配置,永久生效

      (2). 临时配置

[1].应用场景

想在别的电脑(没有安装过Java软件)上进行Java程序的开发,此时要求不能修改path变量。这个时候采用临时配置jdk最为方便。

[2].临时配置步骤

Step1. 打开dos命令行窗口。(>set 某个环境变量的名字   可以查看这个环境变量的值)

Step2. 输入set path=xxxxx;%path%

其中:xxxxx是要设置jdk的目录  %path%是获取原始path变量中的值

**注意:这种临时配置jdk的方式仅仅在当前的dos和通过当前dos窗口通过start命令生成的新窗口有效。如果关掉这个dos窗口之后,重新手动打开一个新的dos窗口,刚才的set path无效。

 

4). 主函数main的作用

(1). 可以保证指定类独立运行。

(2). main方法是JVM运行一个程序的入口

注意:一个java源文件可以编写多个默认修饰符修饰的类。当使用javac工具进行编译这个.java源文件之后,会自动生成多个以每一个类名为名字的 .class文件。

3.   开发环境搭建(二) 配置环境变量classpath

 

如果想通过java.exe这个工具去运行某个字节码文件(.class),必须到这个字节码文件所在的目录下才能执行。否则会抛出异常

Exception in thread “main” java.lang.NoClassDefFoundError:xxx

想法: 能不能在任意目录下,都能执行某一固定文件夹下存放的.class的字节码文件

做法:可以像配置javac和java一样,把这个指定的目录告诉系统的某个环境变量。让系统自行查找指定位置的字节码文件。

-------------------这就需要配置classpath环境变量

配置classpath环境变量

(1). 临时配置

[1]. 在所在的命令行窗口中  输入set classpath=字节码文件所在的目录;

之后便可以在任意文件夹下面运行刚才在classpath中指定的字节码文件所在的目录

[2]. JVM执行class文件的原理:就是在执行java xxx.class回车之后,JVM就回到classpath中去查找有没有名叫xxx.class的字节码文件。如果有,就执行。

[3]. 清空环境变量:在cmd中输入 “set 环境变量名=”,就可以清空对应的环境变量的值。

 

注意:**当执行“java A”的时候,如果在当前目录classpath指定的都有同名的A.class的文件,JVM会执行哪一个?JVM先执行classpath指定的名叫A.class的字节码文件。如果在classpath中找不到A.classJVM才会到当前目录找A.class文件。

 

**如果set classpath=字节码文件所在的目录;结尾不加;JVM仅仅会在classpath中查找,而不会在当前目录查找。

[4]. 设置classpath环境变量来更改JVM查找class文件的顺序

       setclasspath=.;其他字节码文件存放的目录

       其中,.代表执行命令的当前目录

       这是推荐的设置办法。这样JVM首先去当前目录查找需要的class文件。如果没找到,再去后面指定的目录中去查找。如果在当前目录和指定的目录都没找到指定的字节码文件,则java命令指定之后就会抛出异常。

(2). 永久配置

步骤和通过windows对话框的方式配置path变量一样。只不过classpath不是OS自带的变量。第一次使用需要首先手动创建这个变量。其余配置方式一样。

4.    classpath和path的不同点

前提:classpath值的末尾加了;

path: 某个命令的时候,首先到当前目录下面查找这个命令是否存在。存在的话,就执行。如果不存在,才会到path的值查找这个命令是否存在。(先当前,后path)

classpath正好和path相反。java A 执行之后,JVM会首先到classpath中指定的目录去查找有没有指定的类文件。如果有就执行。如果没有,才会到当前目录查找。 (classpath,后当前)

 

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值