java基础知识1_环境变量

java重要特性:跨平台(平台:操作系统),一次编译,到处运行。

java虚拟机:不跨平台

java基础知识1_环境变量

java环境搭建:

        jre:java运行环境。            jre = java虚拟机 + 核心类库(辅助java虚拟机运行的文件)

        jdk:java开发工具集。        jdk = jre + java开发工具        (jdk安装路径不能出现中文和空格)


JDK目录分析:

        bin目录:存放的是java的开发工具。例如:java.exe  、 javac.exe

                java.exe:启动java虚拟机解释并执行指定的class文件。

                javac.exe:启动java编译器对指定的java源文件进行编译。java基础知识1_环境变量

        db目录:存放的是jdk7.0附带的一个轻量级的数据库,名字叫做Derby。

        include目录:存放的是调用系统资源的接口文件。

        jre:java的运行环境。

        lib:核心类库。

        src.zip:因为java是开源的。这里是java开放出来的原始代码。


编译:javac java源文件

        编译过程中,面临的问题:每次编译的时候,都需要写上java源文件的完整路径。烦!

        解决方案:如果可以在任意的路径下,都可以找到java的开发工具,那么该问题就解决了。

        在控制台写一个可执行文件的文件名 的执行原理:

                在控制台写一个可执行文件的文件名,那么系统首选会在控制台当前路径下去搜索是否存在该文件,如果可以找到指定的文件,那么就执行该文件;如果找不到该文件,那么系统还会根据path的环境变量所保存的路径信息下 去搜索是否有指定的文件,如果能找到,那么就执行该文件。


配置path环境变量:

    path:将javac所在的路径拷贝到path环境变量中,用;与其他隔开即可。

    编译:javac Demo.java

    运行:java Demo(Demo是类名,不需要加.class)

    path环境变量除了保存我们自己的配置的信息以外,还有系统自带的信息。如果一不小心删除了path环境变量信息,那么就可能导致系统部分功能无法使用。所以要尽量避免修改path环境变量信息。如何避免频繁修改path环境变量?

    解决办法:新建一个环境变量保存jdk安装目录会发生变化的部分,然后在path环境变量上引用新环境变量所保存的信息。

    1、在系统变量中,新建JAVA_HOME环境变量,值例如D:\JDK\JDK(把会发生变化的路径写入JAVA_HOME的值中)

    2、在path变量中,引用JAVA_HOME的值,%JAVA_HOME%\bin;(bin是系统生成的文件夹名,不会发生变化)


    需求:临时环境变量

    在现实开发中有时候jdk版本的信息只会使用一次或者几次就不再使用了,如果是这种需求,我们一般都是通过set命令配置临时环境变量。临时环境变量就是仅对于当前控制台窗口起作用,窗口一旦关闭,那么配置的临时环境变量信息就会发生消失。

    set命令:【注意:但凡是看到set命令设置的环境变量信息,都是临时环境变量信息。】

        set                                                查看所有的环境变量信息

        set 环境变量的名字                         查看制定的环境变量信息        例如:set path

        set 环境变量的名字=路径信息          设置指定的环境变量信息        例如:set path=E:\JDK5.0\bin

        set 环境变量的名字=空                    清空指定的环境变量信息        例如:set path=

        set 环境变量的名字=新路径;%环境变量名%     在指定的环境变量的原有信息前,加入新信息     

                例如:set path=F:\aa%path% 


第一个hello world例子常见的问题:

    1、找不到对应的文件

         原因:1、系统中文件后缀名被隐藏了,你的不是java文件而是txt文件;

                   2、javac编译的时候写错了文件名。

    2、找不到或无法加载主类Demo1

        原因:java运行的时候写错了类名,注意,class文件的文件名 对应的是java文件中的类名,而不是java文件的文件名。

    3、java的代码是严格区分大小写的

    4、‘javac’不是内部或外部命令

        原因:没有配置path环境变量信息,或者配置错误了。

        

classpath环境变量:(不建议大家把classpath配置成永久环境变量)

        当设置了classpath环境变量时,启动JVM(java虚拟机)的时候,JVM就会根据classpath环境变量所保存的路径信息下,去寻找对应的class文件。(解决以下问题:Demo.class文件在E:\,控制台当前盘符在F:\ ,此时去执行java Demo运行 时找不到class文件的问题)

设置classpath环境变量信息 有分号与无分号的区别:

        1、如果配置classpath信息时,没有加上分号,那么JVM仅会在classpath所保存的路径下 去搜索对应的class文件,不会在当前路径下去搜索了;

        2、如果配置classpath信息时,加上了分号,那么JVM除了会在classpath所保存的路径下 去搜索对应的class文件 之外,如果能找到对应的class文件,那么就马上运行对应的class文件,否则还会去当前路径下去搜索;

        3、把classpath中的分号想象成当前路径,如果分号在指定盘符后(classpath=F:\;),那么先检索指定盘符,在检索当前路径;如果分号在指定盘符前(classpath=;F:\),那么先检索当前路径,再检索指定盘符。若“set classpath=;” 意思就是只检索当前路径。

java基础知识1_环境变量

        

配置classpath的作用:设置了class文件的路径信息。

        

main方法:程序的主入口,代码是从主方法上开始执行的;

                 写法是固定的;

                 定义一个类中使用;

                 如果一个类需要独立运行的时候,就需要main方法。