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 环境变量即可。

相关推荐
x***38163 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
S***84883 小时前
SpringSecurity踢出指定用户
java
p***s913 小时前
Spring数据库原理 之 DataSource
java·数据库·spring
adobehu3 小时前
麒麟系统安装jdk17
java·jdk
spencer_tseng3 小时前
java.util.IllegalFormatPrecisionException
java·printf
虹科网络安全3 小时前
艾体宝干货 | Redis Java 开发系列#1 从零开始的环境搭建与实践指南
java·数据库·redis
铅笔侠_小龙虾4 小时前
Arthas 命令
java·jvm
seeyoutlb4 小时前
微服务全局日志处理
java·python·微服务
码界奇点4 小时前
Java Web学习 第15篇jQuery从入门到精通的万字深度解析
java·前端·学习·jquery
雨落秋垣4 小时前
手搓 Java 的用户行为跟踪系统
java·开发语言·linq