Java是面向对象的编程语言,在我们开发Java应用的程序员的专业术语里,Java这个单词其实指的是Java开发工具,也就是JDK(Java Development Kit)。所以我们常常在CSDN等各大程序员论坛讨论到安装Java8或者JDK8或者JDK1.8或J2SE8或J2SE1.8或J2SE8或J2SE1.8,其实这3个专业词汇的概念是一样的。具体的区别可参考这篇文章。
原文链接:https://blog.csdn.net/wq6ylg08/article/details/91351339
一. java的安装
1. 去Oracle官网下载JDK14
2. 选择windows平台exe安装版本下载
jdk14.exe3.下载好后之间点击默认安装,165.962MB
jdk14
二. java的配置
1. 新建环境变量JAVA_HOME
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk-14.0.1 【变量值是自己的jdk安装目录】
2. 新建环境变量CLASSPATH
变量名:CLASSPATH
变量:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
需要注意变量值前面的“.;”和最后面的";"
3. 添加PATH路径
双击Path,点击新建,添加 %JAVA_HOME%\bin
注意: 因为新版本改进,不需要添加%JAVA_HOME%\jre\bin
path
注意:path路径在上面的系统优先使用靠上的地址,当cmd窗口中输入java命令,会优先调用橙色的路径下的java.exe程序。
4. 多版本共存
如果有多个版本共存,如还有Java8,那么可以将新增JAVA_HOME8,可随时切换,
5. 验证
打开cmd窗口,输入java - version,显示为jdk14版本
C:\Users\Administrator>java -version
java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
同样输入java - version,显示为javac 14版本
C:\Users\Administrator>javac -version
javac 14.0.1
三. java使用
1. 我们使用jdk14写一个helloworld程序
文件名为:hello.java
代码内容如下:
public class hello{
public static void main(String[] args){
System.out.println("hello world");
}
}
2. 运行java程序(含编译)
在cmd窗口 cd 到文件当前目录
F:\Documents_kiton>cd java_docu
输入命令java hello.java
,会显示hello world
F:\Documents_kiton\java_docu>java hello.java
hello world
3. 编译java程序
按照老版本jdk,是需要先编译再运行的,即先编译生成 *.class 文件,再利用命令 java *.class 运行java二进制文件。
需要注意的是新版本JDK可以之间java命令,且不生成.class文件。
如果需要生成hello.class文件,也可以和老版本一样分为两个步骤
- 先输入 javac hello.java 生成 hello.class 文件
- 输入 java hello 运行 hello.class二进制文件
运行情况如下:
F:\Documents_kiton\java_docu>javac hello.java
F:\Documents_kiton\java_docu>java hello
hello world
文件夹中文件如下:
java.class
4. 中文乱码问题
如果代码涉及到中文,需要在编译时,加上javac编码参数
javac -encoding utf-8 hello.java
代码如下:
public class hello{
public static void main(String[] args){
System.out.println("hello world");
System.out.println("你好啊世界");
}
}
若直接运行,可能导致javac 和java编码方式不一致
F:\Documents_kiton\java_docu>java hello.java
hello world
浣犲ソ鍟婁笘鐣?
若直接不加参数编译,会报错:
F:\Documents_kiton\java_docu>javac hello.java
hello.java:4: 错误: 编码 GBK 的不可映射字符 (0x8C)
System.out.println("浣犲ソ鍟婁笘鐣?");
^
1 个错误
先加参数编译再运行不会出问题:
F:\Documents_kiton\java_docu>javac -encoding utf-8 hello.java
F:\Documents_kiton\java_docu>java hello
hello world
你好啊世界
5. 修改默认编码方式
由于现在IDE一般默认是utf-8编码,而Java默认是GBK编码,如果不想每次编译都加参数那么麻烦,那我们就添加一个环境变量来修改默认编码方式。
创建系统环境变量:
变量名: JAVA_TOOL_OPTIONS, 变量值:-Dfile.encoding=UTF-8
默认编码utf-8直接运行效果如下:
F:\Documents_kiton\java_docu>java hello.java
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
hello world
你好啊世界
先编译再运行效果如下:
F:\Documents_kiton\java_docu>javac hello.java
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
F:\Documents_kiton\java_docu>java hello
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
hello world
你好啊世界
但是如果文件是GBK编码方式的,那么直接编译也会报错,如下:
F:\Documents_kiton\java_docu>javac hello.java
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
hello.java:4: 閿欒: 缂栫爜 UTF-8 鐨勪笉鍙槧灏勫瓧绗?(0xC4)
System.out.println("锟斤拷冒锟斤拷锟斤拷锟?);
^
hello.java:4: 閿欒: 缂栫爜 UTF-8 鐨勪笉鍙槧灏勫瓧绗?(0xE3BA)
System.out.println("锟斤拷冒锟斤拷锟斤拷锟?);
^
hello.java:4: 閿欒: 缂栫爜 UTF-8 鐨勪笉鍙槧灏勫瓧绗?(0xA1)
System.out.println("锟斤拷冒锟斤拷锟斤拷锟?);
^
hello.java:4: 閿欒: 缂栫爜 UTF-8 鐨勪笉鍙槧灏勫瓧绗?(0xCA)
System.out.println("锟斤拷冒锟斤拷锟斤拷锟?);
^
hello.java:4: 閿欒: 缂栫爜 UTF-8 鐨勪笉鍙槧灏勫瓧绗?(0xC0)
System.out.println("锟斤拷冒锟斤拷锟斤拷锟?);
^
hello.java:4: 閿欒: 缂栫爜 UTF-8 鐨勪笉鍙槧灏勫瓧绗?(0xBD)
System.out.println("锟斤拷冒锟斤拷锟斤拷锟?);
^
hello.java:4: 閿欒: 缂栫爜 UTF-8 鐨勪笉鍙槧灏勫瓧绗?(0xE7)
System.out.println("锟斤拷冒锟斤拷锟斤拷锟?);
^
7 涓敊璇?
四. JVM,JRE 和 JDK的关系
1. 什么是JVM
java虚拟机,简称JVM,是运行所有java程序的虚拟计算机,是java程序的运行环境,是java最具有吸引力的特性之一。我们编写java代码,都是运行在JVM之上,因此可以做到跨平台运行。
2. jre和jdk是包含关系
- JRE:是jav程序运行的环境,包含JVM和运行时所需要的的类库。
-
JDK: 是java程序开发的工具包,包含JRE和开发人员使用的工具。
即JDK包含JRE。
也就是说我们想要运行一个java程序只需要安装JRE即可(例如很多依赖java的软件,就必须要装java JRE),但是如果想要开发一个java程序那么就必须要安装JDK。
他们之间的关系如下:
JDK和JRE的关系
网友评论