前端视角 Java Web 入门手册 1.1:开发环境

245 阅读4分钟

JDK

Java Development Kit Java 开发工具包,包含 JRE(Java Runtime Environment、Java 虚拟机、基础类库)、编辑器 javac、调试&分析工具等

docs.oracle.com/javase/8/do…

版本历史 & 选择

和 Node.js 类似,Java 也经历了动荡的发展过程,首先有三种类型 JDK

  • JavaSE(Java Platform,Standard Edition)Java 标准版
  • JavaME(Java Platform,Micro Edition)Java 微型版
  • JavaEE(Java Platform,Enterprise Edition) JAVA 企业版

我们一般使用的是 JavaSE,最开始也是好好的 1.0 ~ 1.4 发版,2004 年发布的版本变化比较大,为了表示区分版本号为 5.0,但内部代号仍旧是 1.5,这样延续下来,我们说的 JDK 1.8 和 JDK 8 就是同样的含义了,但一般从 5.0 后就用 JDK 5 这样的称呼了

JDK 除了 Oracle JDK 作为官方的版本,开源社区、各个企业也都定制了自己的版本,同版本语言特性上没有区别,个人学习可以使用 AdoptOpenJDK。

OpenJDK 是 Java SE 平台版的开源和免费实现,提供了Java Platform 实现的源代码,更新频繁,实现快速迭代和高效试错,大多数JDK 都是在OpenJDK 的基础上编写、测试实现稳定 feature

  • OracleJDK 官方版本,功能齐全,但 8u211 版本后改用 OTN 协议(Oracle Technology Network License Agreement)发布,允许个人研究使用,商业使用需要付费
  • AdoptOpenJDK 是由 Java 社区的一些著名成员创建的组织,旨在为 Java 用户免费提供二进制版本和安装程序
  • Alibaba Dragonwell 是 Alibaba 提供的免费 OpenJDK 发行版,主要特色是性能增强和安全修复

考虑到最大程度兼容企业现有程序代码,本书主要介绍 JDK8 支持的特性,所有 demo 也使用 JDK8 运行。

可能还有很多企业在使用 JDK 8,但考虑到 JDK 21 在性能、安全及虚拟线程、模式匹配增强等特性支持,加上 SpringBoot 3.x 开始最低 JDK 要求已经到了 JDK 17,同时 JDK 8 之后的升级语法并不剧烈,在教程中对于 JDK 8 之后新增的特性会做出版本标注。从 JDK 8 到 JDK 21,Java 平台对多个关键领域进行了优化:

  • 函数式编程(JDK 8):通过Lambda表达式和Streams API,提升代码的简洁性和数据处理能力。
  • 模块化系统(JDK 9):Project Jigsaw引入模块化机制,增强应用的封装性和可维护性。
  • 类型推断(JDK 10):var关键字简化局部变量声明,提升代码可读性。
  • 标准化HTTP客户端与字符串增强(JDK 11):现代化的HTTP Client API和丰富的字符串处理方法,提高开发效率和代码质量。
  • 垃圾收集器优化(JDK 9-21):持续优化ZGC和Shenandoah GC,提升垃圾收集的性能和低延迟表现。
  • Switch语句的优化(JDK 12-21):通过Switch表达式和模式匹配,增强Switch语句的表达力和灵活性。
  • 模式匹配与文本块(JDK 12-16):通过模式匹配简化类型检查和解构操作,文本块支持多行字符串,提升代码可读性。
  • 记录类与密封类(JDK 14-17):简化数据类创建,控制继承层次,增强语言表达能力和安全性。
  • 并发编程新模型(JDK 19-21):虚拟线程和结构化并发极大简化高并发编程,提升应用性能和可扩展性。
  • 外部内存访问API(JDK 16-21):提供更安全、高效的方式与外部C库交互,替代传统的JNI方法。

安装

adoptium.net/zh-CN/marke… 可以下载 AdoptOpenJDK 各平台 JDK 的 GUI 安装包

2021.07.24 开始 AdoptOpenJDK 迁移到 Eclipse Foundition,品牌也改为 temurin

环境变量配置

Mac

使用 /usr/libexec/java_home -V命令可以查看 Java 安装目录,在 ~/bashrc 或 ~/.zshrc 文件添加内容

export JAVA_HOME=$(/usr/libexec/java_home) # 也可以写命令输出的内容
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

Wndows

Windows 下可以通过可视化界面添加 JAVA_HOME、CLASSPATH 变量,编辑 PATH 变量

  1. 打开环境变量设置:右键点击 “此电脑”,选择 “属性”,点击 “高级系统设置”。在 “系统属性” 窗口中,点击 “环境变量”。
  2. 配置 JAVA_HOME:在 “系统变量” 区域,点击 “新建”。变量名输入 “JAVA_HOME”,变量值输入 JDK 21 的安装路径,例如 “C:\Program Files\Java\jdk-21”。点击 “确定” 保存。
  3. 配置 CLASSPATH:点击 “新建”。变量名输入 “CLASSPATH”,变量值输入.;%JAVA_HOME%\lib\tools.jar。点击 “确定”。
  4. 配置 Path:在 “系统变量” 中找到 “Path” 变量,点击 “编辑”。点击 “新建”,添加%JAVA_HOME%\bin,并将其移到最上方。点击 “确定” 保存。

在 Terminal 输入 java --version测试

IntelliJ IDEA

大部分 Java 开发者反馈 IntelliJ IDEA 比 Eclipse 好用,官网直接下载即可,如果觉得定价较贵可以使用社区版,学生、教学等可以申请免费使用

安装完成后新建 maven-archetype-quickstart类型项目,最简单的 Hello World 就被初始化好了

package org.example;

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

点击 IntelliJ IDEA 右上角的运行键,可以看到 Hello World! 被打印到控制台