当前位置: 首页 > news >正文

JDK官网安装教程 Windows

文章目录

    • 概要
    • 整体架构流程

概要

JDK 是 Java 开发的基础,无论是开发桌面应用、Web 应用、移动应用,还是大数据、云计算相关项目,都需要先安装 JDK

整体架构流程

第一步,进入官网

Java Downloads | Oracle 中国

①可以直接复制上面链接然后在浏览器中搜索

②也可以直接在浏览器中输入jdk安装,再点击图中红色部分进入官网

第二步,寻找合适的下载链接

①进入官网后页面长下面这样

②向下滑动页面
第一行有四个红框是jdk的四个版本

 JDK 23:是Java SE平台的最新版本,包含了最新的功能特性和性能优化。适合追求最新技术、能快速适应变化,且项目可以及时兼容新版本特性的开发者或团队。

JDK 21:最新的长期支持(LTS)版本,在较长时间内(截至2026 年9月 )会得到官方的维护和更新,包括安全补丁、性能改进等。适用于企业级项目、大型系统开发,对稳定性和长期技术支持有较高要求的场景。

GraalVM for JDK 23:是针对JDK 23的GraalVM实现,它是一种高性能的运行时环境,除了支持Java,还能运行其他语言(如JavaScript、Python等)编写的程序,具备即时编译(JIT)和提前编译(AOT)等优化技术,可提升应用性能。适合对程序执行效率有极高要求,或需要在同一运行时环境中混合多种语言的项目。

GraalVM for JDK 21:基于JDK 21构建的GraalVM,具备与针对JDK 23版本类似的特性,只是基于JDK 21,更适合已经选用JDK 21作为基础环境,同时又希望利用GraalVM优势的开发场景。

根据个人情况选择,这里以JDK 21为例

第二行有三个红框是三种计算机系统

根据个人电脑系统选择,这里以windows为例

③按照选择依次点击,比如我是先点击JDK21,再点击Windows

可以看到有三个链接,第二个最推荐

但不急着点链接,建议先进行第三步 

 第三步,在电脑中新建一个文件夹

(可以省略,这一步可以更加明确安装的位置,避免安装好后找不到文件)

如果实在不熟悉电脑,不会新建文件夹的话可以看看这步,会建文件夹就直接第四步

比如我要安装在D盘里,我就会在D盘里新建一个JDK文件夹

①点击电脑下方任务框中的文件资源管理器,图标长这个样子

②再按箭头顺序依次点击

输入JDK 

 ③成品

第四步,安装

点击刚才的链接,就会自动下载

下载好后点击进去

 出现此图标

点击下一步

 

这个页面可以更改安装位置,看看是不是刚才新建的文件位置,不是的话点击更改

我这里改一下

 

点击确定后再检查一下,没问题点击下一步

就会出现下面的页面,等他安装就好 

 

下面这个页面点击关闭就好 

 

第五步,配置环境 

① 右键此电脑,就下面这个图标

②点击属性
③进入下面的页面,点击高级系统设置

④点击环境变量

可以看到有环境变量和系统变量

⑤先配置系统变量 

点击系统变量下面的新建

上面的变量名输入

JAVA_HOME

 下面的变量值就写你下载JDK的位置

然后点击确定 

⑥配置用户变量

点击Path,然后点击编辑

先点击右边的新建

再输入下面内容

%JAVA_HOME%\bin 

尽量移到最上面,不移也没事 

 

⑦不断地点击确定,关闭所有窗口

第六步,在终端验证安装与配置 

按win+R,输入cmd,点击确定,打开终端

依次输入两个命令

java -version

javac -version 

 显示出如图片的版本信息就表示之前的步骤成功了

第七步,示范如何编写java脚本并运行

可以直接用我下面示范的

文件名

HelloWorld.java

文件内容

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

我将这个文件放在了桌面上,是通过在桌面空白处右键新建文本文档建立的

写好后右键点击复制文件路径

win+R进入终端

输入cd和一个空格,再粘贴刚才复制的文件路径,一开始粘贴的路径有双引号和文件名,需要修改

因为cd的作用是进入目录,所以只保留目录,删掉双引号和文件名

改好后如图

点击enter建,出现红框内容表示成功进入我们输入的目录

此时输入javac加空格加带后缀文件名 ,出现红框部分就是它成功将 Java 源文件编译成 Java 字节码文件,这是javac的作用

此时在保存我们编写的java脚本的地方会发现多了一个同名但文件后缀为class的文件

比如我在桌面上建的java脚本,就在桌面上多了class文件

接着输入java加空格加不带后缀的文件名,就像第一行那样

按enter建就会显示运行结果,就是第二行那个

到这里已经成功安装好jdk并学会运行java脚本了 

相关文章:

JDK官网安装教程 Windows

文章目录 概要整体架构流程 概要 JDK 是 Java 开发的基础,无论是开发桌面应用、Web 应用、移动应用,还是大数据、云计算相关项目,都需要先安装 JDK 整体架构流程 第一步,进入官网 Java Downloads | Oracle 中国 ①可以直接复…...

MR30系列分布式I/O:高稳定与高精准赋能锂电池覆膜工艺革新

在新能源行业高速发展的背景下,锂电池生产工艺对自动化控制的精准性和可靠性提出了更高要求。作为锂电池生产中的关键环节,覆膜工艺直接关系到电池的绝缘性能、安全性及使用寿命。面对复杂的工艺控制需求,明达技术MR30系列分布式I/O模块凭借其…...

android 横竖屏适配工作总结

1、创建一个横屏文件夹,复制一份竖屏的布局。然后修改适配横屏。只要布局id都有,其他想怎么改就怎么修改。 2、最好使用kotlin语言编写和使用viewBinding绑定控件,可以使用?.判空控件是否存在,不至于缺少这个控件时候直接崩溃。 …...

离散傅里叶变换(Discrete Fourier Transform, DFT)及其在图像处理中的应用

离散傅里叶变换(DFT)及其在图像处理中的应用 什么是离散傅里叶变换? 离散傅里叶变换(Discrete Fourier Transform, DFT)是一种强大的数学工具,用于将离散信号从时域(或空间域)转换…...

两周学习安排

日常安排 白天 看 MySQL实战45讲,每日一讲 看 图解设计模式 每天1-2道力扣算法题(难度中等以上) 每天复习昨天的单词,记20个单词,写一篇阅读 晚上 写服创项目 每日产出 MySQL实战45讲 读书笔记 设计模式 读书笔…...

vscode通过ssh远程连接(linux系统)不能跳转问题

1.问题描述 unbantu中的vscode能够通过函数跳转到函数定义,而windows通过ssh连接unbantu的vscode却无法跳转 2.原因: 主要原因是这里缺少插件,这里是unbantu给主机的服务器,与ubantu本地vscode插件相互独立,能否跳转…...

eMMC存储器详解(存储区域结构、EXT_CSD[179]、各分区介绍、主要引脚、命令格式与类型等)

读本篇博文所需要的先行知识 关于芯片内部的ROM的作用、工作原理的介绍,链接如下: https://blog.csdn.net/wenhao_ir/article/details/145969584 eMMC的物理结构、特点、用途 这个标题的相关内容见我的另一篇博文,博文链接如下&#xff1a…...

洛谷 P11830 省选联考2025 幸运数字 题解

题意 小 X 有 n n n 个正整数二元组 ( a i , b i ) ( 1 ≤ i ≤ n ) (a_i, b_i) (1 \leq i \leq n) (ai​,bi​)(1≤i≤n)。他将会维护初始为空的可重集 S S S,并对其进行 n n n 轮操作。第 i ( 1 ≤ i ≤ n ) i (1 \leq i \leq n) i(1≤i≤n) 轮操作中&#…...

win11编译pytorchaudio cuda128版本流程

1. 前置条件 本篇续接自 win11编译pytorch cuda128版本流程,阅读前请先参考上一篇配置环境。 访问https://kkgithub.com/pytorch/audio/archive/refs/tags/v2.6.0.tar.gz下载源码,下载后解压; 2. 编译 在visual studio 2022安装目录下查找…...

JAVA面经2

ConcurrentHashMap 并发程序出现问题的根本原因 线程池 线程池的执行原理(核心参数) 线程池的常见阻塞队列 ArrayBlockingQueue插入和删除数据,只采用了一个lock,而LinkedBlockingQueue则是在插入和删除分别采用了putLock和takeL…...

NLP学习记录十一:位置编码

目录 一、位置编码的意义 二、位置编码方法 三、代码实现 一、位置编码的意义 在标准的注意力机制中,每个查询都会关注所有的键-值对并生成一个注意力输出,模型并没有考虑到输入序列每个token的顺序关系。 以["我&qu…...

CF 886A.ACM ICPC(Java实现)

题目分析 输入6个值,判断某三个值的和能够等于另外三个值的和 思路分析 首先判断总和是不是一个偶数,如果不是就“NO”。由于小何同学算法不好,只能使用三层for循环强行判断某三个值是否能等于总和的一半,可以就“YES”。 代码 …...

【音视频】H265解码Nalu后封装rtp包

概述 基于ZLM流媒体框架以及简单RTSP服务器开源项目分析总结,相关源码参考以下链接 H265-rtp提取Nalu逻辑 通过rtsp流地址我们可以获取视频流中的多个rtp包,其中每个RTP包中又会包含一个或者多个Nalu,将其提取处理 总体逻辑分析 核心逻辑在…...

Linux -- I/O接口,文件标识符fd、file结构体、缓冲区、重定向、简单封装C文件接口

一、理解文件 狭隘理解(传统视角) 聚焦物理存储:文件特指存储在磁盘等外存设备上的二进制数据集合输入输出特性: 写入文件:CPU 通过总线将数据输出到磁盘读取文件:磁盘通过 DMA 将数据输入到内存 &#xff…...

系统讨论Qt的并发编程2——介绍一下Qt并发的一些常用的东西

目录 QThreadPool与QRunnable 互斥机制:QMutex, QMutexLocker, QSemaphore, QWaitCondition 跨线程的通信 入门QtConcurrent,Qt集成的一个并发框架 一些参考 QThreadPool与QRunnable QThreadPool自身预备了一些QThread。这样,我们就不需…...

【数据挖掘】Pandas之DataFrame

在 Pandas 中,DataFrame 提供了丰富的数据操作功能,包括 查询、编辑、分类和汇总。 1. 数据查询(Filtering & Querying) 1.1 按索引或列名查询 import pandas as pddata {"ID": [101, 102, 103, 104, 105],"…...

C++:volatile、const、mutable关键字

文章目录 volatile、const、mutable 关键字的作用、联系与区别 1️⃣ **volatile** —— 防止编译器优化,确保变量每次访问都从内存读取**作用****使用场景****示例** 2️⃣ **const** —— 限制变量的修改,保证不可变性**作用****使用场景****示例** 3️…...

linux离线安装miniconda环境

1 下载安装包 可以在官网下载最新版 https://www.anaconda.com/download/success#miniconda 或者在软件目录选择合适的版本 https://repo.anaconda.com/miniconda/ 安装包传入离线服务器 ./Miniconda3-py311_24.9.2-0-Linux-x86_64.sh2 运行安装包 ./Miniconda3-py311_24…...

考研408数据结构线性表核心知识点与易错点详解(附真题示例与避坑指南)

一、线性表基础概念 1.1 定义与分类 定义:线性表是由n(n≥0)个相同类型数据元素构成的有限序列,元素间呈线性关系。 分类: 顺序表:元素按逻辑顺序存储在一段连续的物理空间中(数组实现&…...

selenium用例执行过程采集操作形成测试报告上的回复

在代码执行的过程中不断的进行截图,把截图拼接成gif动态图,放在测试报告上 1、每条用例执行启动一个线程,这个线程会每隔0.3秒进行截图 项目下创建一个临时目录video用来存储所有截图以及gif动态图封装不断截图的方法,每隔0.3秒…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...