首页 > 编程语言 >Java开发环境安装笔记

Java开发环境安装笔记

时间:2024-08-11 10:38:41浏览次数:8  
标签:JAVA jar 笔记 版本 HOME% Java 安装 环境变量

目录


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

软件安装中,最麻烦的莫过于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%\bin;

CLASSPATH 环境变量

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

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

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

配置方法:
在系统环境变量新建一个环境变量:CLASSPATH

值:
.;
%JAVA_HOME%\lib;
%JAVA_HOME%\lib\tools.jar;
%JAVA_HOME%\lib\dt.jar

压缩:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;

多个SDK版本切换

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

标签:JAVA,jar,笔记,版本,HOME%,Java,安装,环境变量
From: https://www.cnblogs.com/mysticbinary/p/18353136

相关文章

  • java.time.OffsetTime类
    java.time.OffsetTime类表示在ISO-8601日历系统中与UTC/Greenwich的偏移量的时间,例如:10:15:30+01:00。类声明以下是java.time.OffsetTime类的声明-publicfinalclassOffsetTimeextendsObjectimplementsTemporal,TemporalAdjuster,Comparable<OffsetTim......
  • java.time.OffsetDateTime类
    java.time.OffsetDateTime类表示ISO-8601日历系统中与UTC/Greenwich的偏移量的日期时间,例如2007-12-03T10:15:30+01:00。类声明以下是java.time.OffsetDateTime类的声明-publicfinalclassOffsetDateTimeextendsObjectimplementsTemporal,TemporalAdjust......
  • HTB-Permx靶机笔记
    Permx靶机笔记概述permx靶机是HTB的简单靶机,这台靶机整体考验渗透人员的信息搜集能力,可以收只有信息搜集的快速,才能快速拿到它的flag。整体是比较简单的靶机靶机连接:https://app.hackthebox.com/machines/PermX一、nmap扫描1)端口扫描nmap-sT--min-rate10000-p--oport......
  • Java工具类封装微服务间HTTP通信
    在微服务架构中,服务之间通常通过HTTP协议进行通信。为了简化这一过程,我们可以创建一些工具类来封装HTTP请求的发送逻辑。本篇文章将介绍如何使用Java来创建这样的工具类,并分别演示使用ApacheHttpClient和SpringFramework中的RestTemplate来发送HTTPGET请求的方法。1.引言......
  • 【云原生之kubernetes实战】在k8s环境下部署Note Mark笔记工具
    【云原生之kubernetes实战】在k8s环境下部署NoteMark笔记工具一、NoteMark介绍1.1NoteMark简介1.2NoteMark特点1.3NoteMark使用场景二、本次实践介绍2.1本次实践简介2.2本次环境规划2.2k8s存储介绍三、检查k8s环境3.1检查工作节点状态3......
  • Java计算机毕业设计律所管理系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:随着法律服务行业的快速发展,律师事务所面临着日益复杂的业务管理和运营挑战。传统的手工管理方式已难以满足律所高效、精准、透明的管理需求。律师的......
  • Java计算机毕业设计美丽校园打卡系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:随着信息技术的飞速发展与教育理念的持续革新,智慧校园建设已成为提升学校管理水平、增强学生参与度及保障师生健康安全的重要途径。在当前全球公共卫......
  • Java计算机毕业设计客户管理平台的设计及实现(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着市场竞争的日益激烈,企业对于客户关系管理的重视程度不断提升。传统的客户管理方式已难以满足企业精准营销、个性化服务及高效沟通的需求。在数字......
  • Java计算机毕业设计酒店管理系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:随着旅游业的蓬勃发展,酒店行业作为其中的重要组成部分,面临着日益激烈的市场竞争和客户需求多样化的挑战。传统的手工管理模式已难以适应酒店业务规模......
  • Java项目【尚庭公寓】从0开始Java项目实战(一)
    Java项目【尚庭公寓】从0开始Java项目实战(一)1.项目介绍1.1项目业务概述1.2移动端介绍1.3后台管理系统1.4核心业务流程1.5项目技术概述1.6数据库设计2.项目初始化准备2.1导入数据库2.2创建工程2.3项目初始配置2.3.1SpringBoot依赖配置2.3.2创建application.......