Java开发环境安装笔记

目录

  • JDK的版本
    • [Java 8](#Java 8)
    • [Java 9](#Java 9)
    • [Java 11 (LTS)](#Java 11 (LTS))
    • [Java 17 (LTS)](#Java 17 (LTS))
    • [Java 21](#Java 21)
  • JDK的环境变量设置
    • [JAVAHOME 和 PATH 环境变量](#JAVAHOME 和 PATH 环境变量)
    • [JAVAPATH 环境变量](#JAVAPATH 环境变量)
  • 多个SDK版本切换

又双叒叕换了一个电脑,又双叒叕得重新折腾各种软件的安装,记录一下吧...

软件安装中,最麻烦的莫过于JAVA的编程环境安装了,Java运行环境区分JDK和JRE,区别是:

  • JDK 的定位是给开发者 使用的,里面有很多编程相关的接口可以使用,还提供编译之类的功能;
  • JRE 的定位是给普通用户使用的,他们只需要软件开箱即用即可(就是直接点击.jar包,马上就要运行起来),不关心什么接口、编译。

JDK的版本

JAVA JDK在漫长的岁月里迭代了很多个版本了,总的来说,每个版本都有特定的需求和任务,Java SDK 各个版本之间的差异和区别主要体现在语言特性、性能改进、安全增强以及新工具的引入等方面。以下是一些关键版本的特点:

Java 8

  • Lambda 表达式:引入函数式编程支持。
  • Stream API:用于处理集合的声明式方式。
  • 新日期时间 API:改进日期和时间处理。

Java 9

  • 模块系统:引入模块化系统(Project Jigsaw)。
  • JShell:交互式编程工具。
  • 改进的 Javadoc:支持搜索功能。

Java 11 (LTS)

  • 本地变量语法var 用于局部变量类型推断。
  • HTTP Client:改进的 HTTP API。
  • 移除工具和 API:如 JavaFX 和 CORBA。

Java 17 (LTS)

  • 模式匹配:用于 switch 的模式匹配。
  • 密封类:控制哪些类可以扩展。
  • 文本块:简化多行字符串定义。

Java 21

  • 新语言特性:可能引入更多实验性特性。
  • 性能优化安全增强

当前的主流版本:

大致上来看,Java 17 是最新的长期支持版本(LTS)。

JDK的环境变量设置

JAVAHOME 和 PATH 环境变量

如果要运行执行java命令,就得告诉系统环境java bin目录在哪里,bin目录中包含着Java编译器等可执行文件。下面是配置方法:

配置方法:

在系统环境变量新建一个环境变量:JAVAHOME

值:D:\home\program\code\jdk\jdk-17; (就是你本地的javaSDK路径)

然后在 PATH 环境变量里面增加一个值:

%JAVA_HOME%/jre/bin;

JAVAPATH 环境变量

当你运行一个 XX.jar 文件时,如果这个程序依赖于其他的类或库,这些类不在 XX.jar 的当前目录下。为了确保程序能正确运行,Java 需要知道在哪里查找这些依赖。

去哪里找依赖?

去你配置 CLASSPATH 环境变量里面找,如果不配置这个环境变量,那么Java将默认.当前目录下是JAVACLASS路径。

如果.jar包不依赖别的路径下的库,那么这个CLASSPATH环境变量就没有什么用处。

配置方法:

在系统环境变量新建一个环境变量:CLASSATH

值:

.;

%JAVA_HOME%\lib;

%JAVA_HOME%\lib\tools.jar;

%JAVA_HOME%\lib\dt.jar

多个SDK版本切换

思路就是直接切换JAVAHOME 环境变量即可。

相关推荐
程序员Terry32 分钟前
同事被深拷贝坑了3小时,我教他原型模式的正确打开方式
java·设计模式
NE_STOP32 分钟前
MyBatis-缓存与注解式开发
java
码路飞1 小时前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero1 小时前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端
SimonKing1 小时前
Fiddler抓包完全指南:从安装配置到抓包,一文讲透
java·后端·程序员
磊磊落落3 小时前
如何将 Spring Statemachine 作为一个轻量级工作流引擎来使用?
java
兆子龙16 小时前
ahooks useRequest 深度解析:一个 Hook 搞定所有请求
java·javascript
兆子龙17 小时前
React Suspense 从入门到实战:让异步加载更优雅
java·javascript
咕白m62519 小时前
Java 实现 Excel 转 HTML:完整示例
java