Java概述与Windows版Java开发环境搭建

发布时间:2024-01-04 11:33:07

Java语言核心技术
Java概述与Windows版Java开发环境搭建

1.Java概述

1.1 Java发展历史

1990年末SUN(Stanford University Network)公司预料嵌入式系统将在未来的家用电器领域大显身手,于是SUN公司成立了由James Gosling领导的Green计划,准备为下一代智能家电(电视机、微波炉、电话)编写一个通用的控制系统。

James Gosling

一开始该团队决定使用C++语言,但是当时的C++不支持跨平台。因为不同的家电设备所使用的芯片不同,更换了家电设备则需要修改程序。

因此James Gosling在C++的基础之上重新开发一门语言-Oak,后来因为智能家电的市场需求没有预期的那么高,SUN公司放弃了该计划。

随着20世纪90年代中后期互联网的发展,SUN公司发现了Oak在互联网上的应用前景,于是改造Oak语言,并在1995年5月以Java(印度尼西亚爪哇岛)的名称正式发布。

Java Logo

互联网的特点和家电设备的特点类似:不同的计算机所使用的硬件设备(芯片)不同。

当时业界为了使得死板、单调的静态网页能够灵活起来,急需要用一种技术开发动态网页,这种程序可以通过互联网访问,还能够跨平台。得益于Java的跨平台,而且可以制作Applet逐渐流行起来,Applet是一种将小程序嵌入到网页中执行的技术。

伴随着互联网的高速发展,以及凭借自身强大的生态体系,目前Java已经成为Web应用程序的首选开发语言。

发行版本发行时间备注
Java1.01996/01/23SUN公司发布了Java的第一个开发工具包
Java1.11997/02/19JavaOne会议召开,创造当时全球同类会议之最
Java1.21998/12/08Java拆分成:J2SE(Java标准版),J2EE(Java企业版),J2ME(Java微型版)
Java1.32000/05/08
Java1.42002/02/06
Java5.02004/09/30①版本号从1.4直接升级到5.0 ②Java平台更名为JavaSE、JavaEE、JavaME
Java62006/12/11
2009/04/20Oracle公司用74亿美金收购SUN公司
Java72011/07/02Oracle公司收购SUN公司后发布第一个Java版本
Java82014/03/18此版本是Java5.0以来最大变化的版本,是长期支持版本(LTS)
Java92017/09/22①从此版本开始每半年更新一次 ② Java9.0开始不支持32位系统
Java102018/03/21非长期支持版本
Java112018/09/25JDK安装包取消独立JRE安装包,是长期支持版本(LTS)
Java122019/03/19非长期支持版本
Java132019/09/17非长期支持版本
Java142020/03非长期支持版本
Java152020/09非长期支持版本
Java162021/03非长期支持版本
Java172021/09目前最新长期支持版本,版本号也被称为21.9
Java182022/03非长期支持版本
Java192022/09非长期支持版本
Java202023/03非长期支持版本
Java212023/09长期支持版本

每个新版本JDK发布都会有些新特性(新功能)

Java新特性

注意事项

  1. Java5和JDK1.5指的是同一个版本,Java8和JDK1.8指的是同一个版本

  2. Java7以后Java由Oracle发布

  3. Java8仍然是目前主流互联网公司使用的版本

  4. Java9以后每半年发布一个版本,每2-3年发布一个长期支持版本(LTS),例如Java8,Java11,Java17,Java21是长期支持版本。

1.2 Java技术体系平台(Java 版本)

自从1998年以后Java被分成了三个版本,这三个版本分别是JavaSE、JavaEE(JakartaEE)、JavaME,每个版本都是有自己的应用场景(开发方向)

  • JavaSE(Java Standard Edition):Java标准版,主要是用于桌面应用的开发,不过目前绝大多数的桌面应用都是使用C/C++开发,很少使用Java开发桌面应用(IntelliJ IDEA),JavaSE是其他两个版本(JavaEE,JavaME)的基础,学习JavaSE是为了以后从事JavaEE开发打基础(锻炼逻辑思维能力)。

  • JavaEE(Java Enterprise Edition):Java企业版,主要是用于开发大型企业应用的后台,JavaEE在这个领域是No.1,所谓的企业应用就是那些商业组织、大型企业创建的应用,例如阿里巴巴的淘宝天猫、菜鸟物流,蚂蚁的支付宝等等大型企业应用的后台都是基于JavaEE技术栈实现的。

  • JavaME(Java Micro Edition):Java微型版,主要用于嵌入式电子设备(电视机、电冰箱、微波炉、烤箱)或者小型移动设备(诺基亚手机)应用开发,但是随着3G移动智能平台(Android,iOS)的时代到来,特别是以Java为核心编程语言的Android平台的快速普及,JavaME已经淘汰

如果去招聘网站搜索JavaME会发现搜索不到对应的岗位

Java ME岗位没有

JavaSE、JavaEE、JavaME三者之间的关系

JavaSE、JavaEE、JavaME三者之间的关系

1.3 Java应用场景(Java 能干什么)

Java主要是擅长企业级应用开发(大型分布式系统的后台开发)、大数据平台开发、Android应用开发三个开发方向

Java应用场景

  • 企业级应用开发 :主要指复杂的大企业软件系统、各种类型网站后台系统。 Java的安全机制以及它的跨平台优势、强大的生态体系,在大型分布式系统领域开发中有广泛应用。包括电商、物流、金融、电信、社交、外卖、出行等。

  • 大数据平台开发 :各类大数据平台开发框架有 Hadoop,Spark、Flink 等,就这类技术生态圈来讲,还有各种中间件如 Flume,Kakfa,Sqoop等,这些框架以及工具大多数是用 Java 编写而成,但提供诸如 Java,Scala,Python,R等各种语言API。

  • Android应用开发 :Android应用程序使用Java语言编写,Android开发水平的高低很大程度上取决于 Java语言是否扎实 。

Java语言是这三个开发方向的基石语言,无论选择哪个开发方向,首先必须要学习Java语言,然后根据市场的需求再结合自己的兴趣选择对应的开发方向。

根据现在的市场就业形势,一般大部分人都会选择企业级应用开发(大型分布式系统的后台开发),然后积累3-5年工作经验以后有兴趣可以转向大数据平台开发。

基本的学习路线:JavaSE->JavaEE->大数据

1.4 Java特点(为什么这么火)

由于Java语言是开源的,也得到了很多大公司的支持(Oracle,Amazon,Google,Alibaba、HUAWEI、Tencent)的支持,逐渐发展成了具有简单易学、开源、跨平台(可移植)、体系结构中立、安全性、高性能、健壮型、支持面向对象、多线程、分布式、动态性等诸多特点的开发平台和运行平台。

Java特点

  • Java是简单易学:Java是C/C++的基础之上发展而来,不同于C/C++的是Java是纯粹的面向对象的语言,Java舍弃了C语言中特别容易引起错误的指针,并且引入了垃圾回收机制,这样在大部分场景下不需要手动释放内存,而且Java还舍弃了C++语言中一些特别复杂的语法,例如头文件、指针运算、结构、联合、运算符重载、多继承、虚基类等等。同时由于语法是基于C语言,因此Java相比C/C++更加简单易学

  • Java是开源的:开源指的就是开放源代码,例如QQ、微信是不开源的,在下载QQ时只能下载安装包而不能获取源代码,而Linux、Visual Studio Code等等都是开源的,在下载Linux、Visual Studio Code时不仅可以下载安装包还可以下载源码,Java开源的好处就是开发者可以通过阅读Java语言以及相关框架、中间件的源码查看具体的设计、实现过程,从而提高自己的技术水平。在Java世界中,有着数不清的开源软件和框架。如Tomcat、Mybatis、Spring Framework、Spring Boot、Spring Cloud、Dubbo,Netty,等。就连JDK自身也有不少实现,如Amazon Corretto、Azul Zulu Community等等。

  • Java是跨平台的:平台就是操作系统(OS),目前桌面端主流操作系统是Windows,macOS,服务端操作系统是Linux(CentOS,Ubuntu Server)。跨平台的含义就是在Windows上开发的项目不需要做任何修改就可以直接在其他安装了JDK的操作系统(CentOS,Ubuntu Server)上运行,不同操作系统有不同版本的JDK,用来屏蔽底层操作系统的差异。

Java跨平台原理

跨平台的好处就是节省人力资源成本,因为项目开发一次后适配多个操作系统。在公司开发项目时,首先会在开发环境中开发Java项目,项目开发完成以后部署到测试环境中进行相关测试,测试通过以后部署到生产环境中对外提供服务。不同的环境操作系统也是不一样的,开发环境使用的Windows或者macOS开发Java项目,测试环境和生产环境使用的Linux来测试Java项目或者部署Java项目对外提供服务。

Java项目开发流程

  • Java是体系结构中立,体系结构中立有两层含义,①JVM的实现只需要遵守Oracle官方提供的JVM规范即可,不过大部分Java应用都是使用的Oracle官方提供的HotSpot虚拟机,除此以外一些互联网大厂(Alibaba、Tencent、Huawei)会根据自己的需求定制JDK。②JVM除了可以识别Java编译器(javac)编译生成的字节码文件以外,还可以识别Groovy、Scala、 JRuby、Kotlin等计算机语言生成的字节码文件。

1.5 JDK和JRE

1.5.1 JDK和JRE的介绍

  • JDK(Java Development Kit) 称为Java开发工具集,JDK包含了Java开发工具(javac,java,jdb,jconsole等等)以及JRE,如果想要开发Java程序之前首先必须安装和配置JDK

  • JRE(Java Runtime Enviroment)称为Java运行时环境,JRE包含了运行Java程序所需要的类库(数学、集合、正则表达式、日志、并发、反射、序列化、网络、日期时间、IO、JDBC)和JVM(Java Virtual Machine),如果想要运行已经开发好的Java程序之前必须要安装JRE,但是Java11以后不再提供单独的JRE下载。

Java8体系结构

Java8体系结构

1.5.2 图解JDK、JRE和JVM的关系

图解JDK、JRE和JVM的关系

1.5.3 如何选择JDK(Java)版本

首先需要了解下Oracle Java SE Support Roadmap

Oracle Java SE Support Roadmap

  • LTS表示Oracle官方长期支持的版本,例如Java8Java11Java17Java21,其中Java8官方支持到2030年12月,Java17官方支持到2029年9月,Oracle官方每2-3年发布一个LTS版本

  • non-LTS表示非Oracle官方长期支持的版本(测试版),例如Java9,Java10,Java12,Java13,Java14,Java15,Java16,Java18,Java19,Java20等等都是non-LTS版本,Oracle官方每半年(在每年的3月份和9月份)发布一个non-LTS版本

选择JDK版本的时候分两种情况

  1. 学习Java的时候可以选择高版本的JDK,但是必须是LTS版本,例如Java17,Java21

  2. 去公司开发Java项目的时候,公司已有的项目用什么JDK版本,那么你就优先使用什么JDK版本,公司从0开始开发项目,那么优先选择稳定而且是官方长期支持的版本,例如Java8或者Java17,目前国内大部分的互联网公司现有的Java项目依然使用Java8,未来(2-3年以后)会逐步升级到Java17,一些开源框架依赖的JDK也从Java8已经升级到Java17,例如Spring Framework,Spring Boot等等

Spring Framework

Spring Boot

1.6 Java收费怎么办?

Oracle Java archive归档了所有Java版本

image

在2019年以后Java8后续更新的版本就开始收费,但是主要针对的是企业用户,对于个人学习没有任何影响

Java SE 8 (8u202 and earlier)在生产环境是可以免费使用

Java SE 8 (8u211 and later)在生产环境是需要付费使用

由于Java虚拟机规范是开放的,任何企业或者是个人都可以实现它

image

我们常用的Oracle JDK只是Oracle公司的一种 JDK 具体实现,其他企业和个人可以根据规范自己开发JDK。

常见的JDK有如下几种image

  1. Oracle JDK

  2. Open JDK 免费开源,企业可以直接使用

  3. 国外的IBM、Amazon、SAP、Eclipse、Azul以及国内的阿里、腾讯、华为都有自己的JDK

即使Oracle公司的Java8在生产环境中收费,我们也可以选择其他公司免费版本的Java8,例如Amazon Corretto、Azul Zulu等等

Azul

2.Windows版Java8开发环境搭建

2.1 Windows版Java8下载

  1. 访问Java的官网,其访问地址是https://www.oracle.com/java/

Windows版Java8下载

  1. 点击右下角的Download Java,跳转到Java的下载页面

Windows版Java8下载

Java的下载地址是https://www.oracle.com/java/technologies/downloads/

目前(2024/01/02)Oracle官方提供的最新Java版本(JDK版本)是Java21 和Java17,最新的LTS版本是Java21

Windows版Java8下载

本次我们下载的是Java8,所以往下滚动鼠标到Java8的下载

Windows版Java8下载

目前Java8支持四个操作系统

  1. Linux

  2. macOS

  3. Solaris

  4. Windows

大家在下载Java8的时候需要根据自己所使用操作系统的版本选择对应版本的Java8

Java8支持的操作系统

  1. 选择Windows版 Java8 x64 Installer

Q:如何知道使用Windows版本

A:在设置(Windows+i)>系统>系统信息查看设备规格和Windows规格

系统信息

Windows规格

由于本机使用的操作系统是Windows11 2023 H2 ,因此选择Windows x64 Installer 的jdk-8u391-windows-x64.exe

  • 86 Installer 表示32位Java8安装程序

  • x64 Installer 表示64位Java8安装程序

选择32位还是64位是根据系统类型来决定的,强制要求开发者全部使用64位系统因为32位系统最多只能使用4G内存,现在做软件开发4G内存肯定是不够用的

Windows版Java8下载

  1. 下载Windows版 Java8 x64 Installer

Windows版Java8下载

  1. 注册、登录Oracle账户

如果没有Oracle账户,大家可以在注册页面填写相应的信息注册Oracle账户

Windows版Java8下载

账户创建成功以后,在登录页面填写账户信息登录Oracle账户

Windows版Java8下载

登录成功之后浏览器会自动下载Java8

使用快捷键 Ctrl+J 可以打开下载内容,查看下载的速度以及所需的时间

Windows版Java8下载

当Java8下载完成后,点击在文件夹中显示

Windows版Java8下载

默认在下载目录(C:\Users\liuguanglei\Downloads)下会看到Java8的安装包jdk-8u391-windows-x64.exe

Windows版Java8下载

2.2 Windows版Java8安装

2.2.1 Windows版Java8安装过程

  1. 左键双击Windows版Java8的安装包jdk-8u391-windows-x64.exe启动安装器

Windows版Java8安装

在弹出的**用户账户控制,你要允许此应用对你的设备进行更改吗?**选择是即可

Windows版Java8安装

  1. 下一步

Windows版Java8安装

  1. 定制安装

安装组件默认情况下包含了开发工具、源代码和公共JRE

安装路径默认情况下是 C:\Program Files\Java\jdk-1.8

Windows版Java8安装

由于JDK中包含了JRE,因此无需再安装公共JRE

因此选择公共JRE,设置成此功能将不可用

Windows版Java8安装

只需要安装开发工具和源代码即可

Windows版Java8安装

  1. 点击下一步

Windows版Java8安装

开始安装

稍等片刻即可安装完成

Windows版Java8安装

Windows版Java8安装

  1. 安装成功

Windows版Java8安装

安装完成后可以点击 后续步骤 和 关闭

Java8官方文档

  • 关闭:关闭安装向导,完成Java8安装

2.2.2 Windows版Java8安装目录

Windows版Java8安装目录是C:\Program Files\Java\jdk-1.8

Windows版Java8安装

由于JDK包含了JRE,因此Java8目录中有个jre目录

Windows版Java8安装

作为Java初学者来说,目前只需要关注bin目录和src.zip压缩文件

  • bin目录:存放Java提供的开发工具,例如javac,java,javadoc,javap 等等

Windows版Java8安装

  • src.zip:存放Java源代码文件(.java结尾的文件)

Windows版Java8安装

该文件可以使用WinRAR解压缩,例如解压缩到src

Windows版Java8安装

在弹出的**用户账户控制,你要允许此应用对你的设备进行更改吗?**选择是即可

Windows版Java8安装

src目录下存放的就是Java源代码

src目录

例如String.java

String.java源文件位于 java\lang 目录下

String.java

Visual Studio Code是一个跨平台的文本编辑器,需要自己下载、安装

使用Visual Studio Code文本编辑器打开String.java

打开String.java

String.java

2.3 Windows版Java8配置JAVA_HOME环境变量

2.3.1 为什么Java8要配置JAVA_HOME环境变量

JAVA_HOME表示Java的安装路径,例如C:\Program Files\Java\jdk-1.8

JAVA_HOME

后期我们会使用到Java开发的一些工具,例如TomcatMavenJMeter等等,这些工具都会依赖JAVA_HOME环境变量。如果你不配置就无法正常使用,而且这些工具会提示你配置JAVA_HOME环境变量。

例如在终端位于Maven的bin目录下执行 mvn --version命令查看Maven版本信息时会提示需要配置JAVA_HOME环境变量

maven

只有安装Java并配置JAVA_HOME环境变量以后重新开启终端后在终端位于Maven的bin目录下执行 mvn --version命令会输出Maven版本信息以及依赖的Java信息

maven

2.3.2 Java8配置JAVA_HOME环境变量

  1. 打开系统属性面板

依次打开设置(Windows+i)>系统>系统信息

系统信息

高级系统设置

高级系统设置

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

环境变量分为用户变量和系统变量,二者的区别是作用范围不同

用户变量只针对当前用户有效,系统变量针对所有用户都有效

Windows电脑通常只有一个人使用,不太可能有多个用户,因此建议使用系统变量

环境变量

  1. 配置Java8的JAVA_HOME环境变量

点击系统变量的新建(W),然后输入变量名和变量值

变量名:JAVA_HOME

变量值:C:\Program Files\Java\jdk-1.8

JAVA_HOME环境变量配置

  1. 依次点击三个确定,关闭系统属性面板,完成Java8的JAVA_HOME环境变量配置

JAVA_HOME环境变量配置

  1. 验证Java8的JAVA_HOME环境变量配置是否成功

验证的方法就是启动一个终端,然后在终端输入echo %JAVA_HOME%,如果能够输出Java的安装路径表示配置成功

Q:如何启动终端

A:按Windows+R打开运行窗口
运行窗口

然后输入cmd后回车

输入cmd后回车

就可以打开终端

打开终端

输入 echo %JAVA_HOME% 验证JAVA_HOME环境变量是否配置成功,如果能够输出Java8的安装目录C:\Program Files\Java\jdk-1.8则表示配置成功

JAVA_HOME环境变量配置成功

2.4 Windows版Java8配置PATH环境变量

2.4.1 Path环境变量是什么?

Path环境变量的变量名是Path,变量值就是一系列路径,例如%SystemRoot%,%SystemRoot%\system32等等。

Q:如何查看Path环境变量

A:依次点击系统属性面板>环境变量>系统变量Path>编辑>编辑环境变量

查看Path环境变量

其中%SystemRoot%表示Windows系统根路径 C:\Windows

可以在终端上输入echo %SystemRoot%命令查看

查看Path环境变量

Path环境变量的作用就是当我们在终端上输入命令回车后,系统会从当前路径和Path环境变量指定的路径查找命令对应的可执行程序,然后执行程序。

当我们在终端上输入notepad命令回车后

输入notepad

系统会打开notepad对应的记事本程序

记事本

notepad命令对应的记事本程序路径是C:\Windows\notepad.exe

notepad.exe

但是如果我们输入一个不存在的命令(例如notepadxxx),那么系统无法运行该命令对应的可执行程序,然后会提示 不是内部或外部命令,也不是可运行的程序或批处理文件

命令提示

2.4.2 Path环境变量的使用

Q:如何实现在Windows终端的任意路径下输入QQ就可以启动QQ

A:将软件的安装路径配置到环境变量中,就可以在Windows终端的任意路径下打开指定的软件

说明:测试QQ版本号是9.9.6-19689(64位)

image

  1. 找到QQ安装目录
    先右键?点击位于桌面的QQ快捷方式,然后右键选择属性

属性

在属性面板中点击打开文件所在的位置(F)

打开文件所在的位置

此时打开的就是QQ安装目录(C:\Program Files\Tencent\QQNT)

QQ安装目录

  1. 打开系统属性面板

依次打开设置(Windows+i)>系统>系统信息

系统信息

高级系统设置

高级系统设置

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板
    环境变量面板

  2. 配置QQ的Path环境变量

首先点击系统变量的Path,然后再点击编辑

系统变量的Path

编辑

然后点击新建,将QQ 的安装目录(C:\Program Files\Tencent\QQNT)添加到Path环境变量中
QQ 的安装目录添加到Path环境变量中

  1. 点击三次确定关闭系统属性面板,完成QQ的Path环境变量配置
    三次确定

  2. 验证QQ的Path环境变量是否配置成功

首先windows+r打开运行窗口

然后在运行窗口输入cmd回车后

运行窗口输入cmd回车后

重新开启一个终端

重新开启一个终端

然后在终端的任意路径输入QQ后回车

然后在终端的任意路径输入QQ后回车

看QQ是否能够启动成功,如果能够启动则表示QQ的Path环境变量配置成功

QQ启动成功

2.4.3 为什么Java8要配置Path环境变量

假设不配置Java8的Path环境变量,在终端上使用javac和java的时候,系统会提示 不是内部或外部命令,也不是可运行的程序或批处理文件

不是内部或外部命令,也不是可运行的程序或批处理文件

因为Java8提供的开发工具(javac,java)需要在终端上使用,如果你双击运行javac和java,它们会在终端运行后立刻闪退

如果你双击运行javac和java,它们会在终端运行后立刻闪退

为了在终端的任意路径下使用javac和java,因此我们需要将Java8安装目录的bin目录添加到Path环境变量中

  • javac 用于编译java源文件(.java结尾的文件),编译成功之后会生成字节码文件(.class结尾的文件)

  • java 用于解释执行字节码文件,运行Java程序

2.4.4 Java8配置Path环境变量

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板
    点击系统属性面板的环境变量

  2. 配置Java8的PATH环境变量

首先点击系统变量的Path环境变量,再点击编辑

首先点击系统变量的Path环境变量,再点击编辑

编辑环境变量

点击新建,将Java8安装目录的bin目录(C:\Program Files\Java\jdk-1.8\bin)添加到Path环境变量中,

将bin目录添加到Path

并且置顶

置顶

置顶

  1. 依次点击三次确定,关闭系统属性面板,完成Java8的Path环境变量配置

三次确定

  1. 验证Java8的Path环境变量是否配置成功

验证Java8的Path环境变量是否配置成功的方法就是重新开启一个终端,然后在终端的任意路径分别输入javac -version和java -version并回车,如果终端能够输出java编译器版本信息和java解释器版本信息则表示Java8的Path环境变量配置成功

验证Java8的Path环境变量

2.4.5 Java8使用JAVA_HOME配置Path环境变量

Q:为什么Java8要使用JAVA_HOME配置Path环境变量

A:切换JDK版本时只需要修改JAVA_HOME环境变量的值即可

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

环境变量

  1. 使用JAVA_HOME配置Java8的Path环境变量

首先点击系统变量的Path,然后点击编辑

Path环境变量

编辑Path环境变量

然后将Java8的Path环境变量C:\Program Files\Java\jdk-1.8\bin

使用JAVA_HOME配置Java8Path环境变量

改成%JAVA_HOME%\bin,%JAVA_HOME%就是C:\Program Files\Java\jdk-1.8

使用JAVA_HOME配置Java8Path环境变量

  1. 依次点击三次确定,关闭系统属性面板,完成Java8使用JAVA_HOME配置Path环境变量

三次确定

  1. 验证Java8的Path环境变量是否配置成功

验证Java8的Path环境变量是否配置成功的方法就是重新开启一个终端,然后在终端的任意路径分别输入javac -version和java -version并回车,如果终端能够输出java编译器版本信息和java解释器版本信息则表示Java8的Path环境变量配置成功

验证Java8的Path环境变量

2.5 Windows版Java8卸载

Q:什么时候需要卸载Java8

A:如果不再使用(例如公司项目全部使用Java17开发)Java8时就可以将其卸载

Windows版Java8的卸载需要删除Java8相关环境变量(Path环境变量、JAVA_HOME环境变量)以及Java8程序

2.5.1 删除Java8 Path环境变量

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

点击系统属性面板的环境变量

  1. 删除Java8的Path环境变量

首先选择系统变量的Path,然后点击编辑

编辑系统变量的Path

编辑系统变量的Path

然后选择Java8的Path环境变量%JAVA_HOME%\bin,点击删除即可

删除Java8的Path

删除Java8的Path

  1. 依次点击三次确定关闭系统属性面板,完成Java8的Path环境变量删除

三次确定

  1. 验证Java8的Path环境变量是否删除成功

重新开启一个新的终端,在终端的任意路径下输入javac -version和java -version,如果系统提示javac和java不是内部或外部命令,也不是可运行的程序或批处理文件则表示Java8的Path环境变量删除成功

验证Java8的Path环境变量是否删除成功

2.5.2 删除Java8 JAVA_HOME环境变量

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量
编辑系统环境变量

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

点击系统属性面板的环境变量

  1. 删除Java8的JAVA_HOME环境变量

选择系统变量的JAVA_HOME,点击删除

 删除Java8的JAVA_HOME环境变量
删除Java8的JAVA_HOME环境变量

  1. 依次点击两次确定关闭系统属性面板完成Java8 JAVA_HOME环境变量的删除

两次确定

  1. 验证Java8 JAVA_HOME环境变量是否删除成功

重新开启一个终端,然后在终端上输入echo %JAVA_HOME% 回车后,如果不能输出Java8的安装路径,而是输出%JAVA_HOME%,那么表示Java8 JAVA_HOME环境变量删除成功

验证Java8 JAVA_HOME环境变量是否删除成功

2.5.3 卸载Java8程序

  1. 打开安装的应用

右键点击开始菜单,然后左键选择安装的应用

安装的应用

此时可以查看安装的应用

免安装版本的软件不会在安装的应用列表中显示

安装的应用

  1. 在安装的应用中搜索Java

搜索Java

  1. 选择Java8,点击卸载

选择Java8,点击卸载

确认卸载

确认卸载

然后在弹出的用户账户控制,你要允许此应用对你的设备进行更改吗? 选择即可

是

接下来就会开始卸载,此过程大概几秒钟

卸载中

卸载成功后在安装的应用中找不到Java

找不到Java

3.Windows版Java17开发环境搭建

3.1 Windows版Java17下载

  1. 访问Java的官网,其访问地址是https://www.oracle.com/java/

Java的官网

  1. 点击右上角的Download Java,跳转到Java的下载页面

Download Java

Java的下载地址是 https://www.oracle.com/java/technologies/downloads/

Java17下载

目前(2024/01/02)Oracle官方提供的最新Java版本(JDK版本)是Java21 和Java17,最新的LTS版本是Java21

根据 Oracle 免费条款和条件 (NFTC),JDK 17 二进制文件可以在生产中免费使用,并且可以免费重新分发。

JDK 17 将根据 NFTC 接收更新,直至 2024 年 9 月。后续的 JDK 17 更新将根据 Java SE OTN 许可证 (OTN) 进行许可,并且超出 OTN 许可证有限免费授予的生产使用将需要付费

Java17收费策略

目前Java17支持三个系统

  • Linux

  • macOS

  • Windows

大家在下载Java17的时候需要根据自己所使用操作系统的版本选择对应版本的Java17

Java17支持的操作系统

  1. 选择Windows版 x64 Installer Java17

Q:如何知道使用Windows版本

A:在设置(Windows+i)>系统>系统信息查看设备规格和Windows规格

系统信息

Windows规格

由于本机使用的操作系统是Windows11 2023 H2 ,因此选择Windows x64 Installer 的jdk-17_windows-x64_bin.exe

Windows x64 Installer 的jdk-17_windows-x64_bin.exe

  1. 下载Windows版 JDK17 x64 Installer

当点击 https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.exe 下载连接后浏览器会自动开始下载Windows版 JDK17 x64 Installer

下载Java17

使用快捷键 Ctrl+J 可以打开下载内容,查看下载的速度以及所需的时间

查看下载速度和所需时间

和Java8相比下载时不需要同意许可协议,也不需要注册和登录Oracle账号,因此下载Java17比下载Java8更加方便。

当Java17下载完成后,点击在文件夹中显示

点击在文件夹中显示

默认在下载目录(C:\Users\liuguanglei\Downloads)下会看到Java17的安装包jdk-17_windows-x64_bin.exe

image

3.2 Windows版Java17安装

3.2.1 Windows版Java17安装过程

  1. 左键双击Windows版Java17的安装包jdk-17_windows-x64_bin.exe启动安装程序

启动安装程序

在弹出的用户账户控制,你要允许此应用对你的设备进行更改吗?选择即可启动安装程序

是

Windows版Java17安装

  1. 点击下一步

Windows版Java17安装

  1. 选择目标文件夹

默认安装路径是C:\Program Files\Java\jdk-17

如果想要更改到其他目录,点击更改即可,但是注意目录不要包含中文字符和中文空格

Windows版Java17安装

  1. 点击下一步

Windows版Java17安装

进行安装中,安装过程需要几秒钟

Windows版Java17安装

  1. 安装完成

Windows版Java17安装

Java17安装完成后点击后续步骤和完成

java17官方文档

  • 关闭:关闭Java17安装向导,完成Java17安装

3.2.2 Windows版Java17安装目录

Windows版Java17默认的安装路径是C:\Program Files\Java\jdk-17

Java17安装目录

Java17安装目录说明

Java17安装目录说明

目录说明
bin该目录下主要存放JDK的各种工具,例如javac,java等等
conf该目录下主要存放JDK的相关配置文件
include该目录下主要存放一些平台(操作系统)特定的头文件
jmods该目录下主要存放JDK的各种模块
legal该目录下主要存放JDK各种模块的授权文档
lib该目录下主要存放JDK的一些补充jar包以及Java源码(src.zip)

作为Java初学者来说,目前只需要关注bin目录和lib目录

  • bin目录:存放Java提供的开发工具,例如javac,java,javadoc,javap 等等

bin目录

  • lib目录:src.zip 存放Java源代码文件(.java结尾的文件)

lib目录

该文件可以使用WinRAR解压缩,例如解压缩到src

解压src

在弹出的**用户账户控制,你要允许此应用对你的设备进行更改吗?**选择是即可

是

src目录下存放的就是Java源代码

src目录

例如String.java

该文件位于 java.base\java\lang 目录下

String.java

Visual Studio Code是一个跨平台的文本编辑器,需要自己下载、安装

使用Visual Studio Code文本编辑器打开String.java

VS Code打开String.java

VS Code打开String.java

3.3 Windows版Java17配置JAVA_HOME环境变量

3.3.1 为什么Java17要配置JAVA_HOME环境变量

JAVA_HOME表示Java的安装路径,例如C:\Program Files\Java\jdk-17

JAVA_HOME

后期我们会使用到Java开发的一些工具,例如Tomcat、Maven、JMeter等等,这些工具都会依赖JAVA_HOME环境变量。如果你不配置就无法正常使用,而且这些工具会提示你配置JAVA_HOME环境变量。

例如在终端位于Tomcat的bin目录下D:\soft\java\apache-tomcat-10.1.17\bin)执行 startup.bat脚本启动Tomcat时会提示需要配置JAVA_HOME环境变量

启动Tomcat

而只有在安装Java并且配置JAVA_HOME环境变量以后,在终端位于Tomcat的bin目录下D:\soft\java\apache-tomcat-10.1.17\bin)执行 startup.bat脚本才能正常启动Tomcat

  1. 打开文件资源管理器,进入Tomcat的bin目录(D:\soft\java\apache-tomcat-10.1.17\bin

Tomcat的bin目录

  1. 在文件资源管理器的地址栏输入cmd后回车打开终端

启动终端

此时终端的路径就是Tomcat的bin目录(D:\soft\java\apache-tomcat-10.1.17\bin
Tomcat的bin目录

  1. 在终端上输入startup.bat回车后启动Tomcat

启动Tomcat

启动成功之后在浏览器地址栏输入127.0.0.1:8080可以访问Tomcat首页

访问Tomcat首页

不过Tomcat启动窗口会有中文乱码问题

Tomcat启动窗口乱码问题

因此启动之前需要将位于Tomcat配置文件目录(D:\soft\java\apache-tomcat-10.1.17\conf)的Tomcat日志配置文件logging.properties

logging.properties

关于控制台编码由默认的UTF-8改成GBK,就可以解决Tomcat启动窗口中文乱码问题

默认的UTF-8改成GBK

默认的UTF-8改成GBK

 java.util.logging.ConsoleHandler.encoding = GBK

编码修改成 GBK 以后再次重启 Tomcat,就会发现Tomcat启动窗口中文没有乱码

重启Tomcat

3.3.2 Java17配置JAVA_HOME环境变量

  1. 打开系统属性面板

依次打开设置(Windows+i)>系统>系统信息

系统信息

高级系统设置

高级系统设置

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

环境变量分为用户变量系统变量,二者的区别是作用范围不同

用户变量只针对当前用户有效,系统变量针对所有用户都有效

Windows电脑通常只有一个人使用,不太可能有多个用户,因此建议使用系统变量

环境变量

  1. 配置Java17的JAVA_HOME环境变量

点击系统变量的新建(W),然后输入变量名和变量值

变量名:JAVA_HOME

变量值:C:\Program Files\Java\jdk-17

新建JAVA_HOME

  1. 依次点击三个确定,关闭系统属性面板,完成Java17 的JAVA_HOME环境变量配置

三个确定

  1. 验证Java17的JAVA_HOME环境变量配置是否成功

验证的方法就是启动一个终端,然后在终端输入echo %JAVA_HOME%,如果能够输出Java的安装路径表示配置成功

Q:如何启动终端

A:在文件资源管理器(Windows+E)的地址栏输入cmd回车后

文件资源管理器

就可以打开终端

打开终端

输入 echo %JAVA_HOME% 验证JAVA_HOME环境变量是否配置成功,如果能够输出Java17的安装目录C:\Program Files\Java\jdk-17则表示配置成功

Java17 JAVA_HOME

3.4 Windows版Java17配置Path环境变量

3.4.1 Java17自动配置Path环境变量

在安装Java17以后,Java17会自动配置Path环境变量

依次点击系统属性>环境变量>系统变量Path>编辑后可以查看到Java17自动配置的Path环境变量

Java17自动配置的Path环境变量

不过配置的路径是C:\Program Files\Common Files\Oracle\Java\javapath,该路径下只有javac、java、javaw和jshell四个工具

四个工具

这样也就意味着不用手动Java17的Path环境变量就可以在终端的任意路径下使用javac和java,例如在终端的任意路径下使用javac和java提供的-version选项查看Java编译器和解释器的版本信息

查看Java编译器和解释器的版本信息

但是无法在终端的任意路径下使用Java提供的其他工具,例如jconsole、jps、jstack等等,因此建议手动配置Java21的Path环境变量

但是无法在终端的任意路径下使用Java提供的其他工具

3.4.2 Java17手动配置Path环境变量

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

系统属性面板的环境变量

  1. 配置Java17的PATH环境变量

首先点击系统变量的Path环境变量,再点击编辑

点击系统变量的Path环境变量,再点击编辑

点击系统变量的Path环境变量,再点击编辑

点击新建,将Java17安装目录的bin目录(C:\Program Files\Java\jdk-17\bin)添加到Path环境变量中

添加到Path环境变量

并且置顶

置顶

置顶

然后将Java17自动配置的Path环境变量删除

将Java17自动配置的Path环境变量删除

将Java17自动配置的Path环境变量删除

  1. 依次点击三次确定,关闭系统属性面板,完成Java17的Path环境变量配置

三次确定

  1. 验证Java17的Path环境变量是否配置成功

验证Java17的Path环境变量是否配置成功的方法就是重新开启一个终端,然后在终端的任意路径分别输入javac -version和java -version并回车,如果终端能够输出java编译器版本信息和java解释器版本信息则表示Java17的Path环境变量配置成功

验证Java17的Path环境变量是否配置成功

3.4.3 Java17使用JAVA_HOME配置Path环境变量

Q:为什么Java17要使用JAVA_HOME配置Path环境变量

A:切换JDK版本时只需要修改JAVA_HOME环境变量的值即可

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

点击系统属性面板的环境变量

  1. 配置Java17的PATH环境变量

首先点击系统变量的Path环境变量,再点击编辑

点击系统变量的Path环境变量,再点击编辑

点击系统变量的Path环境变量,再点击编辑

将Java17的Path环境变量由C:\Program Files\Java\jdk-17\bin

C:\Program Files\Java\jdk-17\bin

改成%JAVA_HOME%\bin,%JAVA_HOME%就表示C:\Program Files\Java\jdk-17

改成%JAVA_HOME%\bin

  1. 依次点击三次确定,关闭系统属性面板,完成Java17使用JAVA_HOME配置Path环境变量

三次确定

  1. 验证Java17的Path环境变量配置是否成功

验证Java17的Path环境变量是否配置成功的方法就是重新开启一个终端,然后在终端的任意路径分别输入javac -version和java -version并回车,如果终端能够输出java编译器版本信息和java解释器版本信息则表示Java17的Path环境变量配置成功

验证Java17的Path环境变量配置是否成功

3.5 Windows版Java17和Java8相互切换

3.5.1 如何实现Java17和Java8相互切换

由于开发项目时使用Java8,但是想要学习高版本Java的新特性,因此安装了Java17,此时机器上同时存在两个不同版本的Java

两个版本Java

那么如何在这两个版本之间来回切换?

首先需要知道当前使用的Java版本

在终端的任意路径通过javac -version和java -version得知目前使用的是Java17

目前使用的是Java17

Q:为什么Java版本是Java17?
A:因为JAVA_HOME环境变量的值是Java17的安装路径,而JDK的Path环境变量引用了JAVA_HOME环境变量

为什么是Java17

那么想要实现Java8和Java17相互切换,只需要修改JAVA_HOME环境变量的值即可

3.5.2 Windows版Java17切换到Java8

想要从Java17切换到Java8,只需要将JAVA_HOME环境变量的变量值修改成Java8的安装路径

Java17切换到Java8

然后重新开启一个终端,在终端的任意路径上输入javac -version和java -version,如果终端输出的Java编译器和解释器版本信息为Java8则表示Java版本成功从Java17切换到Java8

验证Java17切换到Java8

3.5.3 Windows版Java8切换到Java17

从Java8再次切换到Java17,只需要将JAVA_HOME环境变量的变量值改成Java17的安装路径

Java8切换到Java17

然后重新开启一个终端,在终端的任意路径上输入javac -version和java -version,如果终端输出的Java编译器和解释器版本信息为Java17则表示Java版本成功从Java8切换到Java17

验证Java8切换到Java17

3.6 Windows版Java17卸载

Q:什么时候需要卸载Java17

A:如果不再使用(例如公司项目全部使用Java21开发)Java17时就可以将其卸载

Windows版Java17的卸载需要删除Java17相关环境变量(Path环境变量、JAVA_HOME环境变量)以及Java17程序

3.6.1 删除Java17 Path环境变量

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

点击系统属性面板的环境变量

  1. 删除Java17的Path环境变量

首先选择系统变量的Path,然后点击编辑

选择系统变量的Path,然后点击编辑

选择系统变量的Path,然后点击编辑

然后选择Java17的Path环境变量%JAVA_HOME%\bin,点击删除即可

删除Java17的Path环境变量

删除Java17的Path环境变量

  1. 依次点击三次确定关闭系统属性面板,完成Java17的Path环境变量删除

三次确定

  1. 验证Java17的Path环境变量是否删除成功

重新开启一个新的终端,在终端的任意路径下输入javac -version和java -version,如果系统提示javac和java不是内部或外部命令,也不是可运行的程序或批处理文件则表示Java17的Path 环境变量删除成功

验证Java17的Path环境变量是否删除成功

3.6.2 删除Java17 JAVA_HOME环境变量

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

点击系统属性面板的环境变量

  1. 删除Java17的JAVA_HOME环境变量

选择系统变量的JAVA_HOME,点击删除

删除Java17的JAVA_HOME环境变量

删除Java17的JAVA_HOME环境变量

  1. 依次点击两次确定关闭系统属性面板完成Java17 JAVA_HOME环境变量的删除

两次确定

  1. 验证Java17 JAVA_HOME环境变量是否删除成功

重新开启一个终端,然后在终端上输入echo %JAVA_HOME% 回车后,如果不能输出Java17的安装路径而是输出%JAVA_HOME%,那么表示Java17 JAVA_HOME环境变量删除成功

验证Java17 JAVA_HOME环境变量是否删除成功

3.6.3 卸载Java17程序

  1. 打开安装的应用

右键点击开始菜单,然后左键选择安装的应用

安装的应用

此时可以查看安装的应用

免安装版本的软件不会在安装的应用列表显示

安装的应用列表

  1. 在安装的应用中搜索Java

搜索Java

  1. 选择Java17,点击卸载

选择Java17

确认卸载

确认卸载

然后在弹出的用户账户控制,你要允许此应用对你的设备进行更改吗? 选择即可

是

接下来就会开始卸载,此过程大概几秒钟

卸载中

卸载成功后在安装的应用中找不到Java17

卸载成功

4.Windows版Java21开发环境搭建

4.1 Windows版Java21下载

  1. 访问Java的官网,其访问地址是https://www.oracle.com/java/

Java官网

  1. 点击右上角的Download Java,跳转到Java的下载页面

Download Java

Java的下载地址是 https://www.oracle.com/java/technologies/downloads/

Java下载页面

目前(2024/01/02)Oracle官方提供的最新Java版本(JDK版本)是Java21 和Java17,最新的LTS版本是Java21

根据 Oracle 免费条款和条件 (NFTC),JDK 21 二进制文件可以在生产中免费使用,并且可以免费重新分发。

JDK 21 将根据 NFTC 接收更新,直到 2026 年 9 月,即下一个 LTS 发布一年后。后续的 JDK 21 更新将根据 Java SE OTN 许可证 (OTN) 进行许可,并且超出 OTN 许可证有限免费授予的生产使用将需要付费。

Java21

目前Java21支持三个系统

  • Linux

  • macOS

  • Windows

大家在下载Java21的时候需要根据自己所使用操作系统的版本选择对应版本的Java21

Java支持主流操作系统

  1. 选择Windows版 x64 Installer Java21

Q:如何知道使用Windows版本

A:在设置(Windows+i)>系统>系统信息查看设备规格和Windows规格

系统信息

Windows规格

由于本机使用的操作系统是Windows11 2023 H2 ,因此选择Windows x64 Installer 的jdk-21_windows-x64_bin.exe

 选择Windows版 x64 Installer Java21

  1. 下载Windows版 JDK21 x64 Installer

当点击 https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.exe下载连接后浏览器会自动开始下载Windows版 JDK21 x64 Installer

下载Windows版 JDK21 x64 Installer

使用快捷键 Ctrl+J 可以打开下载内容,查看下载的速度以及所需的时间

查看下载的速度以及所需的时间

和Java8相比下载时不需要同意许可协议,也不需要注册和登录Oracle账号,因此下载Java21比下载Java8更加方便。

当Java21下载完成后,点击在文件夹中显示

在文件夹中显示

默认在下载目录(C:\Users\liuguanglei\Downloads)下会看到Java21的安装包jdk-21_windows-x64_bin.exe

下载目录

4.2 Windows版Java21安装

4.2.1 Windows版Java21安装过程

  1. 左键双击Windows版Java21的安装包jdk-21_windows-x64_bin.exe启动安装程序

启动安装程序

在弹出的用户账户控制,你要允许此应用对你的设备进行更改吗?选择即可启动安装程序

是

安装程序

  1. 点击下一步

下一步

  1. 选择目标文件夹

默认安装路径是C:\Program Files\Java\jdk-21

如果想要更改到其他目录,点击更改即可,但是注意目录不要包含中文字符和中文空格

选择目标文件夹

  1. 点击下一步

点击下一步

进行安装中,安装过程需要几秒钟

安装中

  1. 安装成功

安装成功

Java21安装完成后点击后续步骤和完成

后续步骤

  • 关闭:关闭Java21安装向导,完成Java21安装

4.2.2 Windows版Java21安装目录

Windows版Java21默认的安装路径是C:\Program Files\Java\jdk-21

Windows版Java21安装目录

Java21安装目录说明

Java21安装目录说明

目录说明
bin该目录下主要存放JDK的各种工具,例如javac,java等等
conf该目录下主要存放JDK的相关配置文件
include该目录下主要存放一些平台(操作系统)特定的头文件
jmods该目录下主要存放JDK的各种模块
legal该目录下主要存放JDK各种模块的授权文档
lib该目录下主要存放JDK的一些补充jar包以及Java源码(src.zip)

作为Java初学者来说,目前只需要关注bin目录和lib目录

  • bin目录:存放Java提供的开发工具,例如javac,java,javadoc,javap 等等

bin目录

  • lib目录:src.zip 存放Java源代码文件(.java结尾的文件)

lib目录

该文件可以使用WinRAR解压缩,例如解压缩到src

解压缩

在弹出的**用户账户控制,你要允许此应用对你的设备进行更改吗?**选择是即可

是

src目录下存放的就是Java源代码

src目录

例如String.java

该文件位于 java.base\java\lang 目录下

String.java

Visual Studio Code是一个跨平台的文本编辑器,需要自己下载、安装
visual studio code

使用Visual Studio Code文本编辑器打开String.java

打开String.java

打开String.java

4.3 Windows版Java21配置JAVA_HOME环境变量

4.3.1 为什么Java21要配置JAVA_HOME环境变量

JAVA_HOME表示Java的安装路径,例如C:\Program Files\Java\jdk-21

JAVA_HOME

后期我们会使用到Java开发的一些工具,例如Tomcat、Maven、JMeter等等,这些工具都会依赖JAVA_HOME环境变量。如果你不配置就无法正常使用,而且这些工具会提示你配置JAVA_HOME环境变量。

例如在终端**位于Tomcat的bin目录下****(D:\soft\java\apache-tomcat-10.1.17\bin)**执行 startup.bat脚本启动Tomcat时会提示需要配置JAVA_HOME环境变量

Tomcat的bin目录下

而只有在安装Java并且配置JAVA_HOME环境变量以后,在终端**位于Tomcat的bin目录下****(D:\soft\java\apache-tomcat-10.1.17\bin)**执行 startup.bat脚本才能正常启动Tomcat

  1. 打开文件资源管理器,进入Tomcat的bin目录**(D:\soft\java\apache-tomcat-10.1.17\bin)**

Tomcat的bin目录

  1. 在文件资源管理器的地址栏输入cmd后回车打开终端

文件资源管理器的地址栏输入cmd后回车打开终端

此时终端的路径就是Tomcat的bin目录**(D:\soft\java\apache-tomcat-10.1.17\bin)**

Tomcat的bin目录

  1. 在终端上输入startup.bat回车后启动Tomcat

在终端上输入startup.bat回车后启动Tomcat

启动成功之后在浏览器地址栏输入127.0.0.1:8080可以访问Tomcat首页

Tomcat首页

不过Tomcat启动窗口会有中文乱码问题

不过Tomcat启动窗口会有中文乱码问题

因此启动之前需要将位于Tomcat配置文件目录(D:\soft\java\apache-tomcat-10.1.17\conf)的Tomcat日志配置文件logging.properties

logging.properties

关于控制台编码由默认的UTF-8改成GBK,就可以解决Tomcat启动窗口中文乱码问题

默认的UTF-8改成GBK

默认的UTF-8改成GBK

   java.util.logging.ConsoleHandler.encoding = GBK

编码修改成 GBK 以后再次重启 Tomcat,就会发现Tomcat启动窗口中文没有乱码

重启 Tomcat

4.3.2 Java21配置JAVA_HOME环境变量

  1. 打开系统属性面板

依次打开设置(Windows+i)>系统>系统信息

系统信息

高级系统设置

高级系统设置

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

环境变量分为用户变量系统变量,二者的区别是作用范围不同

用户变量只针对当前用户有效,系统变量针对所有用户都有效

Windows电脑通常只有一个人使用,不太可能有多个用户,因此建议使用系统变量

系统属性面板的环境变量

  1. 配置Java21的JAVA_HOME环境变量

点击系统变量的新建(W),然后输入变量名和变量值

变量名:JAVA_HOME

变量值:C:\Program Files\Java\jdk-21

配置Java21的JAVA_HOME环境变量

  1. 依次点击三个确定,关闭系统属性面板,完成Java21 的JAVA_HOME环境变量配置

三个确定

  1. 验证Java21的JAVA_HOME环境变量配置是否成功

验证的方法就是启动一个终端,然后在终端输入echo %JAVA_HOME%,如果能够输出Java的安装路径表示配置成功

Q:如何启动终端

A:在文件资源管理器(Windows+E)的地址栏输入cmd回车后

文件资源管理器

就可以打开终端

Windows终端

输入 echo %JAVA_HOME% 验证JAVA_HOME环境变量是否配置成功,如果能够输出Java21的安装目录C:\Program Files\Java\jdk-21则表示配置成功

验证JAVA_HOME环境变量

4.4 Windows版Java21配置Path环境变量

4.4.1 Java21自动配置Path环境变量

在安装Java21以后,Java21会自动配置Path环境变量

依次点击系统属性>环境变量>系统变量Path>编辑后可以查看到Java21自动配置的Path环境变量

Java21自动配置的Path环境变量

不过配置的路径是C:\Program Files\Common Files\Oracle\Java\javapath,该路径下只有javac、java、javaw和jshell四个工具

javapath目录

这样也就意味着可以在终端的任意路径下使用javac和java,例如在终端的任意路径下使用javac和java提供的-version选项查看Java编译器和解释器的版本信息

验证Java环境

但是无法在终端的任意路径下使用Java提供的其他工具,例如jconsole、jps、jstack等等,因此建议手动配置Java21的Path环境变量

为什么要手动配置PATH

4.4.2 Java21手动配置Path环境变量

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

然后会弹出系统属性面板
系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

点击系统属性面板的环境变量

  1. 配置Java21的PATH环境变量

首先点击系统变量的Path环境变量,再点击编辑

点击系统变量的Path环境变量,再点击编辑

点击系统变量的Path环境变量,再点击编辑

点击新建,将Java21安装目录的bin目录(C:\Program Files\Java\jdk-21\bin)添加到Path环境变量中

image

并且置顶

置顶

置顶

然后将Java21自动配置的Path环境变量删除

将Java21自动配置的Path环境变量删除

将Java21自动配置的Path环境变量删除

  1. 依次点击三次确定,关闭系统属性面板,完成Java21的Path环境变量配置

三次确定

  1. 验证Java21的Path环境变量是否配置成功

验证Java21的Path环境变量是否配置成功的方法就是重新开启一个终端,然后在终端的任意路径分别输入javac -version和java -version并回车,如果终端能够输出java编译器版本信息和java解释器版本信息则表示Java21的Path环境变量配置成功

验证Java21的Path环境变量是否配置成功

4.4.3 Java21使用JAVA_HOME配置Path环境变量

Q:为什么Java21要使用JAVA_HOME配置Path环境变量

A:切换JDK版本时只需要修改JAVA_HOME环境变量的值即可

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

点击系统属性面板的环境变量

  1. 配置Java21的PATH环境变量

首先点击系统变量的Path环境变量,再点击编辑
配置Java21的PATH环境变量

配置Java21的PATH环境变量

将Java21的Path环境变量由C:\Program Files\Java\jdk-21\bin

C:\Program Files\Java\jdk-21\bin

改成%JAVA_HOME%\bin,%JAVA_HOME%就是C:\Program Files\Java\jdk-21

%JAVA_HOME%\bin

  1. 依次点击三次确定,关闭系统属性面板,完成Java21使用JAVA_HOME配置Path环境变量

三次确定

  1. 验证Java21的Path环境变量配置是否成功

验证Java21的Path环境变量是否配置成功的方法就是就是重新开启一个终端,然后在终端的任意路径分别输入javac -version和java -version并回车,如果终端能够输出java编译器版本信息和java解释器版本信息则表示Java21的Path环境变量配置成功

 验证Java21的Path环境变量配置是否成功

4.5 Windows版Java21和Java17相互切换

4.5.1 如何实现Java21和Java17相互切换

由于开发项目时使用Java17,但是想要学习高版本Java的新特性,因此安装了Java21,此时机器上同时存在两个不同版本的Java

两个不同版本的Java

那么如何在这两个版本中间切换?

首先需要知道当前使用的Java版本

在终端的任意路径通过javac -version和java -version得知目前使用的是Java21

当前使用的Java版本

Q:为什么Java版本是Java21?

A:因为JAVA_HOME环境变量的值是Java21的安装路径,而JDK的Path环境变量引用了JAVA_HOME环境变量

为什么Java版本是Java21

那么想要实现Java17和Java21相互切换,只需要修改JAVA_HOME环境变量值即可

4.5.2 Windows版Java21切换到Java17

想要从Java21切换到Java17,只需要将JAVA_HOME环境变量的变量值修改成Java17的安装路径

从Java21切换到Java17

然后重新开启一个终端,在终端的任意路径上输入javac -version和java -version,如果终端输出的Java编译器和解释器版本信息为Java17则表示Java版本成功从Java21切换到Java17

验证Java21切换到Java17

4.5.3 Windows版Java17切换到Java21

从Java17再次切换到Java21,只需要将JAVA_HOME环境变量的变量值改成Java21的安装路径

Java17再次切换到Java21

然后重新开启一个终端,在终端的任意路径上输入javac -version和java -version,如果终端输出的Java编译器和解释器版本信息为Java21则表示Java版本成功从Java17切换到Java21

验证Java17切换到Java21

4.6 Windows版Java21卸载

Q:什么时候需要卸载Java21

A:如果不再使用(例如公司项目全部使用Java25开发)Java21时就可以将其卸载

Windows版Java21的卸载需要删除Java21相关环境变量(Path环境变量、JAVA_HOME环境变量)以及Java21程序

4.6.1 删除Java21 Path环境变量

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量*

然后会弹出系统属性面板

系统属性

  1. 点击系统属性面板的环境变量打开环境变量面板

点击系统属性面板的环境变量

  1. 删除Java21的Path环境变量

首先选择系统变量的Path,然后点击编辑

删除Java21的Path环境变量

删除Java21的Path环境变量

然后选择Java21的Path环境变量%JAVA_HOME%\bin,点击删除即可

删除Java21的Path环境变量

删除Java21的Path环境变量

  1. 依次点击三次确定关闭系统属性面板,完成Java21的Path环境变量删除

三次确定

  1. 验证Java21的Path环境变量是否删除成功

重新开启一个新的终端,在终端的任意路径下输入javac -version和java -version,如果系统提示javac和java不是内部或外部命令,也不是可运行的程序或批处理文件则表示Java21的Path 环境变量删除成功

验证Java21的Path环境变量是否删除成功

4.6.2 删除Java21 JAVA_HOME环境变量

  1. 打开系统属性面板

在任务栏的搜索框搜索编辑系统环境变量,然后选择编辑系统环境变量

编辑系统环境变量

然后会弹出系统属性面板

image

  1. 点击系统属性面板的环境变量打开环境变量面板

点击系统属性面板的环境变量

  1. 删除Java21的JAVA_HOME环境变量

选择系统变量的JAVA_HOME,点击删除

删除Java21的JAVA_HOME环境变量

删除Java21的JAVA_HOME环境变量

  1. 依次点击两次确定关闭系统属性面板完成Java21 JAVA_HOME环境变量的删除

两次确定

  1. 验证Java21 JAVA_HOME环境变量是否删除成功

重新开启一个终端,然后在终端上输入echo %JAVA_HOME% 回车后,如果不能输出Java21的安装路径而是输出%JAVA_HOME%,那么表示Java21 JAVA_HOME环境变量删除成功

验证Java21 JAVA_HOME环境变量是否删除成功

4.6.3 卸载Java21程序

  1. 打开安装的应用

右键点击开始菜单,然后左键选择安装的应用

安装的应用

此时可以查看安装的应用

免安装版本的软件不会在安装的应用列表显示

安装的应用列表

  1. 在安装的应用中搜索Java

搜索Java

  1. 选择Java21,点击卸载

选择Java21

确认卸载

确认卸载

然后在弹出的用户账户控制,你要允许此应用对你的设备进行更改吗? 选择即可

是

接下来就会开始卸载,此过程大概几秒钟

卸载中

卸载成功后在安装的应用中找不到Java

卸载成功

5.Windows版第一个Java程序开发

5.1 Java程序开发流程

Java程序开发流程

  1. 编写**:使用Java开发工具**编写源文件,源文件以.java结尾,用于存储Java代码

  2. 编译**:使用javac**把源文件编译生成字节码文件,字节码文件以.class结尾,字节码文件名和类名相同,字节码文件的数量和源文件中class的数量相同,编译的格式是javac 源文件名.java,例如javac HelloWorld.java

  3. 运行:使用java解释运行编译生成后的字节码文件,运行的格式是java 字节码文件名(不需要.class后缀),例如java HelloWorld

Q:如何看待Java是一门半编译半解释型的语言?

A:半编译半解释指的是JVM在解释执行既有解释器解释执行,又有JIT编译器编译执行

如何看待Java是一门半编译半解释型的语言

5.2 Java开发工具介绍

工欲善其事,必先利其器

虽然JDK提供了开发Java程序时所用到的一些工具,例如javac,java,jdb,jconsole等等

Java提供的开发工具

但是JDK并没有提供编写Java代码的开发工具,因此想要在编写Java程序之前,还需要了解Java开发工具, 我这里把Java开发工具分成两类,分别是文本编辑器和IDE(Integrated Development Environment)

常用的文本编辑器有记事本、Visual Studio Code、Sublime Text

Visual Studio Code

Visual Studio Code

Sublime Text

Sublime Text

Visual Studio Code和Sublime Text都是高级的文本编辑器,而且是跨平台的(Windows,macOS,Linux),建议初学Java的朋友可以使用它们来开发Java程序,因为相比IDE而言更加轻量级,对初学者更加容易上手**。**

常用的Java IDE(Integrated Development Environment) 有IntelliJ IDEA和Eclipse

IntelliJ IDEA

IntelliJ IDEA

Eclipse

Eclipse

IDEA和Eclipse都是IDE,IDE集成项目开发中常用的功能,包括编辑器、编译工具、反编译工具、测试工具、性能分析工具、部署工具等等,因此可以大大提高开发效率

目前大部分互联网公司基本普遍都会使用IntelliJ IDEA开发Java项目,因此我们后期会全程使用IntelliJ IDEA。

5.3 第一个Java程序开发

在学习任何一门编程语言时编写的第一个程序通常都称为HelloWorld

如果你能够编写并且运行HelloWorld,那么意味着已经迈入编程的大门

本次我们使用比较原始的开发方式:也就是基于记事本+Windows终端(命令提示符)+JDK提供的开发工具(javac和java)来开发人生第一个Java程序,这种方式虽然和使用IDE开发相比效率比较低,但是能够让初学者更加直观地理解Java程序的开发和运行流程

  1. 检查Java开发环境

在开发第一个Java程序之前先要检查Java开发环境:即安装、配置JDK

目前本机已经安装四个不同版本的Java,分别是Java8、Java11、Java17、Java21,它们都是官方长期支持版

四个JDK

那么到底是使用哪个版本,是由PATH环境变量决定的

从系统属性>环境变量>系统变量>Path环境变量得知目前使用的Java版本为Java21

Path环境变量

也可以在终端上使用Java提供的javac、java命令,这两个命令提供了-version选项查看版本信息

  • javac -version查看Java编译器的版本信息

  • java -version查看Java解释器的版本信息

检查Java版本

  1. 新建code文件夹

在D盘目录下,鼠标右键新建>文件夹

新建code文件夹

新建code文件夹

将文件夹的名称由默认的新建文件夹重命名为code,用于存放Java源文件

新建code文件夹

新建code文件夹

新建code文件夹

  1. 显示文件后缀名

默认情况下Windows是隐藏已知文件扩展名

显示文件后缀名

在新建源文件之前依次点击查看>显示>文件扩展名,勾选文件扩展名,这样才能显示文件扩展名

显示文件后缀名

  1. 新建Java源文件

在code文件夹下 右键新建>文本文档

新建Java源文件

新建Java源文件

image

将默认的文件名新建 文本文档.txt 重命名为HelloWorld.java

新建Java源文件

新建Java源文件

重命名时系统会提示如果改变文件扩展名,可能导致文件不可以,确实要更改吗?,点击是即可

新建Java源文件

HelloWorld.java源文件创建成功

新建Java源文件

  1. 打开源文件

选中HelloWorld.java,右键选择 打开方式>选择其他应用

打开源文件

选择记事本打开HelloWorld.java源文件

打开源文件

Windows11 2023 H2首次使用记事本打开HelloWorld.java源文件时,记事本会提示记事本自动保存进度。下次打开记事本时,你的所有内容都将可用

点击明白了即可

打开源文件

  1. 编辑源文件

在HelloWorld.java源文件中编写HelloWorld

  public class HelloWorld{
    	public static void main(String[]args){
    		System.out.println("Hello World");
    	}
    }

编辑源文件

在使用记事本编写Java代码时注意以下事项

  • 如果觉得代码字体太小,可以按住Ctrl键,然后向上滚动鼠标放大字体

  • 源代码需要进行适当的换行、缩进,方便阅读代码

  • 源代码遇到了符号,比如说圆括号(()),方括号([]),大括号({})都需要成对编写,然后再往里面编写内容,而且这些符号都是英文的,因为Java是美国人发明的,不支持中文。

源文件(例如HelloWorld.java)编写完成后按Ctrl+s保存

编辑源文件

  1. 编译源文件

首先需要开启Windows终端,因为javacjava只能在Windows终端上使用。

当前文件资源管理器的路径位于D:\code

编译源文件

建议直接在文件资源管理器的地址栏输入cmd后回车

编译源文件

打开终端

由于文件资源管理器的地址栏位于D:\code,因此开启终端后会自动切换到D:\code

打开终端

然后输入javac HelloWorld.java并回车 编译HellWorld.java源文件

编译源文件

如果没有语法错误编译成功之后会在和源文件相同的目录下生成HelloWorld.class文件

编译源文件

  1. 解释运行字节码文件

在终端上输入java HelloWorld后回车解释执行HelloWorld.class字节码文件

如果没有任何运行时错误就会看到Windows终端打印输出Hello World并换行

解释运行字节码文件

5.4 第一个Java程序详解

  public class HelloWorld{
    	public static void main(String[]args){
    		System.out.println("Hello World");
    	}
    }
  1. public是一个关键字,表示权限最大的访问权限修饰符,称为公共的,后期在学习面向对象的时候还会学习private,默认的,protected,这里只需要记住如果类名使用public 修饰,那么public修饰的类名必须和源文件名保持一致

  2. class是一个关键字,用于定义类,例如class Welcome{} 表示定义一个类,类名是Welcome,{}表示类的开始范围和结束范围,Java是面向对象的编程语言,类是Java程序的基本单元。

  3. 在一个源文件中可以定义多个class,但是只能有一个类被public修饰。编译器在编译源文件后会生成和源文件中class数量一致的字节码文件,字节码文件名和类名相同

public class MyWorld{
	public static void main(String[] args){
		System.out.println("This is my world");
	}
}

class Chinese{

}

class American{

}

编译和运行MyWorld.java程序后会生成3个字节码文件,分别是MyWorld.class、Chinese.class和American.class,因为MyWorld.java中定义了3个类。

编译和运行MyWorld.java

  1. public static void main(String[] args){} 格式是固定的,表示main方法,main方法是Java程序的入口,Java程序是从main方法的第一行开始执行的,该方法被JVM调用,如果你的Java程序想要独立运行,那么必须要固定格式的main方法

  2. System.out.println(“Hello World”); 的作用就是在终端上打印输出字符串Hello World然后换行,如果想输出其他内容只需要替换""中的Hello World即可,;表示语句的结束**,**Java中的每条语句都需要使用;结束,否则编译错误。例如System.out.println();就是一条打印语句,用于打印输出指定的内容并换行,如果打印输出后不换行可以使用System.out.print();语句

 public class PrintData{
    	public static void main(String[]args){
    		System.out.println("HelloWorld");
    		System.out.print("跟光磊学Java");
    		System.out.print("从小白");
    		System.out.print("到架构师");
           	
    	}
    
    }

编译和运行PrintData.java程序

编译和运行PrintData.java程序

虽然PrintData程序中System.out.println()语句打印的内容包含了中文,但是我们使用Java21可以直接编译和运行,不会有中文乱码的问题。

5.5 第一个Java程序常见问题

5.5.1 编译时错误和运行时错误

初学者在开发第一个Java程序时可能会遇到各种各样的错误(Bug),这些错误可以分成两类:编译时错误和运行时错误。

因为Java程序是先编译,再解释运行的,因此先出现编译错误,然后再出现解释错误。

即使程序编译通过(语法没有问题),也不一定表示你的程序完全没有问题,因为可能还有运行时错误。

  • 编译时错误就是使用javac编译Java源文件遇到的语法错误,除此以外还有找不到源文件的问题

  • 运行时错误就是使用java解释执行字节码文件遇到的错误(Bug)和异常

在排查运行时错误的时候如果你修改了源文件的代码,那么一定要重新编译,否则你修改的内容不会生效

在遇到错误后也不要慌,Java会告诉你错在哪里(行号),大家如果解决不了还可以利用网络搜索问题的答案,因为你们遇到的大部分错误在之前别人也遇到过。

  • 通过多看实现具备识别Bug的能力

  • 通过多思考、多查阅资料实现具备分析Bug的能力

  • 通过多尝试、多总结实现具备解决Bug的能力

5.5.2 Java入门程序常见错误和解决方案

5.5.2.1 编译时错误:找不到文件

第一种情况:源文件路径不正确

HelloWorld.java源文件在D:\code目录下

但是启动终端后默认在C:\Users\liuguanglei目录下,如果使用javac编译HelloWorld.java就会出现编译错误:找不到文件

源文件路径不正确

解决办法就是在Windows终端下切换到D:\code目录下再使用javac HelloWorld.java编译源文件

  • 切换盘符:输入盘符:(例如D:)然后回车即可

  • 切换路径:使用cd 路径然后回车即可,cd只能在盘符内切换

源文件路径不正确

第二种情况:源文件文件名不正确

源文件文件名不正确

解决方案就是将源文件名改正确即可

源文件文件名不正确

5.5.2.2 编译时错误:找不到符号问题

错误案例

   public class HelloWorld{
    	public static void main(string[]args){
    		System.out.println("Hello World");
    	}
    }

找不到符号问题

解决方案:将string改成String然后重新编译和解释运行,因为Java语法规定严格区分大小写,string和String表示完全不同的含义。

 public class HelloWorld{
    	public static void main(String[]args){
    		System.out.println("Hello World");
    	}
    }

找不到符号问题

5.5.2.3 编译时错误:非法字符

错误案例

public class HelloWorld{
	public static void main(String[]args){
		System.out.println("Hello World")}
}

非法字符

解决方案:将中文的分号;替换成英文的分号;即可,因为Java不识别中文分号

非法字符

大家需要注意的是Java代码中各种符号必须是英文,例如{},(),[],;都是英文的

建议设置输入法开启 中文输入时使用英文标点,这样就不需要切换到英文输入法再输入符号**。**

以微软拼音为例

依次点击输入法>设置
输入法>设置

打开微软拼音输入法设置

微软拼音输入法设置

选择常规

选择常规

打开中文输入时使用英文标点

打开中文输入时使用英文标点

打开中文输入时使用英文标点

5.5.2.4 编译时错误:GBK的不可映射字符(乱码问题)

当前使用的Java版本是Java17

当前使用的Java版本是Java17

如果你的Java版本是Java17及其以下的版本

如果你的Java版本是Java17及其以下的版本,例如Java11或者Java8,编译以下程序

   public class HelloWorld{
    	public static void main(String[]args){
    		System.out.println("跟光磊学Java从小白到架构师");
    	}
    }

就会出现编译错误:编码 GBK 的不可映射字符 (0x88)

编码 GBK 的不可映射字符 (0x88)

原因就是编码和解码的不是同一个编码,这两个编码不一致导致的乱码

  • Java源文件的默认编码是UTF-8

UTF-8

  • Windows终端或者称为命令提示符的编码是GB2312

在Windows终端中可以使用chcp查看终端编码,如果输出结果是936则表示GB2312编码,GB2312是一种双字节编码,用于表示简体中文字符。

GB2312

解决方案1:将文件另存为的时候设置编码为ANSI

文件>另存为

将文件另存为的时候设置编码为ANSI

设置文件编码为ANSI,点击保存

image

将文件另存为的时候设置编码为ANSI

确认另存为HelloWorld时会提示 **HelloWorld.java已经存在。要替换它吗?**点击是即可

将文件另存为的时候设置编码为ANSI

此时文件编码从UTF-8改成ANSI,ANSI在中文环境下就是中文编码,等价GB2312

将文件另存为的时候设置编码为ANSI

再编译和解释运行HelloWorld

再编译和解释运行HelloWorld

解决方案2:不修改源文件编码,但是在编译时指定文件编码

javac -encoding UTF-8 HelloWorld.java

image

解决方案3:使用Java21

使用Java21

使用Java21

Java18以后默认使用UTF-8编码

Java18以后默认使用UTF-8编码

5.2.5 运行时错误:找不到或者无法加载主类
public class HelloWorld{
	public static void main(String[]args){
		System.out.println("跟光磊学Java从小白到架构师");
	}
}

主类表示有main方法的类,找不到或者无法加载主类的原因就是当前路径下没有指定的字节码文件或者类中没有main方法

找不到或者无法加载主类

解决方案:先使用javac HelloWorld.java编译生成字节码文件,再使用java HelloWorld解释运行程序

找不到或者无法加载主类

5.2.6 运行时错误:找不到main方法的问题

错误案例

public class HelloWorld{
	public static void mian(String[]args){
		System.out.println("跟光磊学Java从小白到架构师");
	}
}

image

解决方案:将mian改成main即可

public class HelloWorld{
	public static void main(String[]args){
		System.out.println("跟光磊学Java从小白到架构师");
	}
}

Java程序想要独立运行必须包含如下固定格式的main方法

   public static void main(String[]args){
      
    }

main方法

5.6 Java21新特性:未命名类和实例main方法

Java21新增预览版的特性:未命名类和实例main方法

未命名类和实例main方法

此特性的好处就是可以让初学者在不需要了解程序结构和修饰符的前提下,更快更容易地写出第一个HelloWorld程序

Java21之前的HelloWorld

Java21之前的HelloWorld

public class HelloWorld{
	public static void main(String[]args){
		System.out.println("跟光磊学Java从小白到架构师");
	}
}

Java21之后的HelloWorld

Java21之后的HelloWorld

void main(){
	System.out.println("跟光磊学Java从小白到架构师");
}

相比之下Java21之后的HelloWorld更加简洁,这样可以减少错误的出现

  • 编译时需要使用javac --enable-preview --source 21 源文件名.java,例如javac --enable-preview --source 21 HelloWorld.java

  • 解释运行时使用java --enable-preview 字节码文件名,例如java --enable-preview HelloWorld

image

在使用Java21新特性未命名类和实例main方法编写完源文件后,也可以直接使用java --enable-preview --souce 21 源文件.java,例如java --enable-preview --souce 21 HelloWorld.java 来编译运行HelloWorld。

Java21运行HelloWorld

文章来源:https://blog.csdn.net/Tony_CTO/article/details/135347220
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。