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

相关推荐
开开心心就好8 分钟前
高效全能PDF工具,支持OCR识别
java·前端·python·pdf·ocr·maven·jetty
冷心笑看丽美人9 分钟前
Spring MVC数据绑定和响应 你了解多少?
java·spring·mvc
XQ丶YTY16 分钟前
大二java第一面小厂(挂)
java·开发语言·笔记·学习·面试
一零贰肆33 分钟前
深入理解SpringBoot中的SpringCache缓存技术
java·springboot·springcache·缓存技术
码上飞扬1 小时前
Java大师成长计划之第22天:Spring Cloud微服务架构
java·运维·云计算
秋野酱1 小时前
基于javaweb的SpringBoot自习室预约系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
面试官E先生2 小时前
【极兔快递Java社招】一面复盘|数据库+线程池+AQS+中间件面面俱到
java·面试
琢磨先生David2 小时前
构建优雅对象的艺术:Java 建造者模式的架构解析与工程实践
java·设计模式·建造者模式
小雅痞2 小时前
[Java][Leetcode simple]26. 删除有序数组中的重复项
java·leetcode
青云交2 小时前
Java 大视界 -- 基于 Java 的大数据分布式存储在工业互联网海量设备数据长期存储中的应用优化(248)
java·大数据·工业互联网·分布式存储·冷热数据管理·hbase 优化·kudu 应用