Javase前期准备2
环境配置:JDK安装
一、.官网下载地址1:Java Downloads | Oracle
| 版本 | 发行 | 开源与否 | 许可 | 优势 |
| Oracle JDK版本 | 三年一发 | 并不是完全开源的,不会为即将发布的版本提供长期支持,用户每次都要通过更新到最新版本获得支持来获取最新版本 | 据二进制代码许可协议获得许可 | 更稳定,有更多的类和一些错误修复,在响应性和JVM性能方面更好 |
| Open JDK版本 | 三月一发 | 完全开源,是一个参考模型 | 据GPL v2许可获得许可 |
注:
安装时JDK和JRE不能放在同一个目录下(JDK中含有JRE)
安装JDK会自动安装专属JRE,所以不需要额外安装独立JRE(即取消“公共JRE”)
三、环境配置:
1.设置——高级系统设置——环境变量——系统变量
(1)path
配置:
- 主要作用:
- 让系统在Path中自动找到Javac.exe文件,将编写好的.Java文件进行编译,即可在任意路径下编译Java源码使用“Javac *.Java”命令(将.Java文件编译成.class文件))
- Javac.exe文件放置在jdk\bin文件夹内
- JDK的bin目录下两个重要执行文件:Javac.exe(代码编译文件)和Java.exe(代码执行文件)
- 主要原因:
- 运行Java程序时,需要编译(使用Javac.exe)和执行(使用Java.exe),系统默认的是在当前路径下去寻找这两个执行文件,不会去其他地方找
- 配置Path环境变量,会使每次程序运行自动到安装JDK的bin目录下去搜索Javac.exe和Java.exe文件
- 简洁布局:
- 自己的Java源码或者别人的源码一般是放在一个新的目录
- 主要是方便管理,如果都放在这里,会很混乱,编译还有class文件生成
- 失败:
- 报错“*不是内部或外部命令,也不是可运行的程序或批处理文件。”
- DOS命令(“win+R”,输入“cmd”进入)下输入相关应用程序名字,系统会自动在当前路径和Path路径中去寻找与之对应的.exe和.bat文件,找不到会报错
变量值:
- Windows
- 将安装的jdk\bin文件夹配置在Path中
- 未经验证:
- Linux,UNIX,Solaris,FreeBSD
- 环境变量PATH设定为指向Java二进制文件安装的位置(设置遇到困难,请参考shell文档)
- 如:使用bash作为shell,把下面的内容添加到 .bashrc文件结尾: export PATH=/path/to/Java:$PATH
- 找到最开始介绍的Javac.exe和Java.exe所在的目录复制到这里
(2)classpath
配置:
- 主要作用:
- 不配置时默认是当前文件夹下寻找.class文件,配置的方式不同,产生的效果不同
- 主要原因:
- classpath路径是Java虚拟机(JVM)调用.class文件时寻找的路径
- 告诉Java在执行的时候,去哪里找到需要的包和类供程序使用,所以配置时应把包的路径赋值给classpath
- 注意:
- 使用1.5以上版本的JDK,不设置classpath环境变量,也可正常编译和运行Java源码
变量值:
- E:\nihao: 虚拟机在E:\nihao目录下寻找.class文件,找不到报错
- E:\nihao;:虚拟机先寻找E:\nihao路径下的.class文件,找到就运行,找不到就找当前所在的路径
- .;E:\nihao:虚拟机先寻找当前所在的路径下的.class文件,找到就运行,找不到找E:\nihao路径下的.class文件
- 赋值的路径有三个,就以分号为间隔隔开
- 第一个英文的句号表示当前目录路径
- 第二个目录为lib库中的tools工具包路径
- 第三个为lib库中的dt包路径
- 有时候会自己编写一些包或类,所以把第一个当前路径加上最好,以免以后出错难找bug
(3)JAVA_HOME:
配置:
- 有一些基于 Java 开发的工具会用到JDK的路径,比如 tomcat,eclipse,所以配置JDK的路径给JAVA_HOME
变量值:
- JDK安装路径
3.安装后DOS命令下查询
| 命令 | 内容 | 相关配置 |
| java -version | 当前安装的 jdk 的版本信息 | jdk安装 |
| javac | 编译器 | path配置 |
| java | 解释器 | path配置 |
DOS命令运行Java代码
一、javac---空格---主类名.Java
1、源程序文件所在目录会产生一个主类名.class的字节码文件,这是编译后的文件
二、java---空格---主类名
三、遇到编码问题,使用 -encoding 选项设置 utf-8 来编译
1.Javac -encoding UTF-8 HelloWorld.Java