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

相关推荐
Yan.love3 分钟前
开发场景中Java 集合的最佳选择
java·数据结构·链表
椰椰椰耶6 分钟前
【文档搜索引擎】搜索模块的完整实现
java·搜索引擎
大G哥7 分钟前
java提高正则处理效率
java·开发语言
智慧老师37 分钟前
Spring基础分析13-Spring Security框架
java·后端·spring
lxyzcm39 分钟前
C++23新特性解析:[[assume]]属性
java·c++·spring boot·c++23
V+zmm101341 小时前
基于微信小程序的乡村政务服务系统springboot+论文源码调试讲解
java·微信小程序·小程序·毕业设计·ssm
Oneforlove_twoforjob2 小时前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存
xmh-sxh-13142 小时前
常用的缓存技术都有哪些
java
AiFlutter2 小时前
Flutter-底部分享弹窗(showModalBottomSheet)
java·前端·flutter
J不A秃V头A3 小时前
IntelliJ IDEA中设置激活的profile
java·intellij-idea