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

Windows JDK安装详细教程

一、关于JDK

1.1 简介

Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

JDK(Java Development Kit)是用于开发 Java 应用程序的工具包。它由以下几个主要部分组成:

  1. **Java 编译器(javac​ ) :将 Java 源代码文件(.java)编译成字节码文件(.class),这些字节码文件可以在 Java 虚拟机(JVM)上运行。
  2. Java 运行时环境(JRE) :包括 JVM 和标准类库。JRE 使得 Java 程序能够在没有开发工具的情况下运行。
  3. 标准类库:提供了 Java 程序开发所需的基础类和工具,例如集合框架、输入输出操作、网络编程等。
  4. **Java 调试器(jdb​ ) :用于调试 Java 程序。
  5. **Java 文档生成工具(javadoc​ ) :自动生成 Java 类文档和 API 文档。
  6. Java 虚拟机(JVM) :执行 Java 字节码,并提供了内存管理、垃圾回收等功能。

JDK 是开发 Java 应用程序的基础工具包,它的不同版本(例如 JDK 8, JDK 11, JDK 17 等)可能包含不同的特性和改进。使用 JDK,开发者可以编写、编译、调试和运行 Java 程序。

f634e0b3-ea59-4c28-ba2b-12505568b0ae

1.2 JDK和JRE的区别

JDK(Java Development Kit)和 JRE(Java Runtime Environment)都是 Java 环境的组成部分,但它们的功能和用途有所不同:

JDK(Java Development Kit)

  • 目的:JDK 是一个开发工具包,提供了用于开发 Java 应用程序的全部工具和库。

  • 包含内容

    • JRE:JDK 包含了 JRE,因此也包括了 JVM 和标准类库。
    • 编译器:如 javac​,用于将 Java 源代码编译成字节码。
    • 调试工具:如 jdb​,用于调试 Java 程序。
    • 文档生成工具:如 javadoc​,用于生成 API 文档。
    • 其他开发工具:如 javap​(类文件反汇编工具),jar​(Java 打包工具)等。
  • 用途:主要用于开发 Java 程序,提供所有必需的工具来编写、编译和调试代码。

JRE(Java Runtime Environment)

  • 目的:JRE 是一个运行时环境,提供了运行 Java 应用程序所需的环境。

  • 包含内容

    • JVM:Java 虚拟机,用于执行 Java 字节码。
    • 标准类库:提供了执行 Java 程序所需的基础类库(如集合框架、输入输出等)。
    • 支持文件:如 Java 核心类库。
  • 用途:主要用于运行已经编译好的 Java 应用程序。它不包括开发工具,因此不适合用于开发 Java 程序。

总结

  • JDK:包含 JRE 和开发工具,适用于开发者。
  • JRE:仅包含运行时环境,适用于普通用户只需运行 Java 程序的情况。

如果你需要开发 Java 应用程序,你应该安装 JDK。如果你只需要运行 Java 应用程序,你只需要安装 JRE。

1.3 JDK版本选择

选择适合的 JDK 版本取决于几个因素,比如项目需求、兼容性和长期支持。以下是一些考虑因素和建议:

  1. 项目需求

    • 确认你的项目是否有特定的 JDK 版本要求。某些库或框架可能只支持特定版本的 JDK。
  2. 长期支持(LTS)版本

    • JDK 8、JDK 11 和 JDK 17 是 Oracle 和 OpenJDK 提供的长期支持版本。LTS 版本通常更稳定,适合用于生产环境。
  3. 新特性

    • 如果希望使用最新的 Java 特性,比如记录类型(record types)或模式匹配(pattern matching),可以选择最新的非 LTS 版本(如 JDK 20)。不过,非 LTS 版本的支持周期较短。
  4. 兼容性

    • 确保你选择的 JDK 版本与已有的系统和工具链兼容。某些老旧系统可能不兼容最新的 JDK 版本。
  5. 社区和工具支持

    • 选择一个社区支持良好的 JDK 版本可以保证你能获得及时的帮助和更新。
  6. 性能和优化

    • 最新版本的 JDK 通常包含性能改进和优化,使用最新版本可以帮助提高应用程序的性能。

如下以常用的JDK8安装为例,展示详细步骤

二、JDK下载

Oracle官方下载:Java Downloads | Oracle

备注:这里笔者电脑是64位版本,选择64位。官网需要登陆才能下载,且下载比较慢。这里笔者已下载,有需要的可私信联系

三、安装JDK

双击下载好的安装包,一步步往下走就行

默认安装到C盘,也可安装到其他目录(需在空目录下)

​​​

备注:安装后jdk文件结构

四、环境变量配置

共需要配置两个变量

JAVA_HOME、Path

4.1 配置JAVA_HOME

进入高级系统配置

image

win11系统进入

新建系统变量:

  • 变量名填写JAVA_HOME
  • 变量值填写安装JDK的路径

4.2 配置Path

编辑Path

在最后面追加:

 %JAVA_HOME%\bin;

(第一个%前面若没有分号,手动打上去分号【 ;%JAVA_HOME%\bin;】

(分号是英文状态下输入的,特别注意)

(小提示:你可以直接按电脑上的 End 键 到最后)

再点“确定”,“确定”,即配置完成

五、验证

点击开始菜单-运行-输入cmd确认-在cmd窗口中输入(或win+R,cmd)

javac

java -version

点击键盘上的Enter键。

如果出现如下图片则环境变量安装成功:

image

image

六、卸载JDK

高效清洁卸载JDK方法:开始菜单-控制面板-程序-程序和功能,在程序中找到所有java选项,右键-卸载即可。

清洁卸载之后可以保证后续再安装JDK能顺利进行!

image

image

相关文章:

Windows JDK安装详细教程

一、关于JDK 1.1 简介 Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 JDK(Java Development Kit)是用于开发 Java 应用程序的工具包。它由以下几个主要…...

Ribbon负载均衡底层原理

springcloude服务实例与服务实例之间发送请求,首先根据服务名注册到nacos,然后发送请求,nacos可以根据服务名找到对应的服务实例。 SpringCloudRibbon的底层采用了一个拦截器,拦截了openfeign发出的请求,对地址做了修…...

【C语言可变参数函数的使用与原理分析】

文章目录 1 前言2 实例2.1实例程序2.2程序执行结果2.3 程序分析 3 补充4 总结 1 前言 在编程过程中,有时会遇到需要定义参数数量不固定的函数的情况。 C语言提供了一种灵活的解决方案:变参函数。这种函数能够根据实际调用时的需求,接受任意…...

【笔记】Java EE应用开发环境配置(JDK+Maven+Tomcat+MySQL+IDEA)

一、安装JDK17 1.下载JDK17 https://download.oracle.com/java/17/archive/jdk-17.0.7_windows-x64_bin.zip 2.配置环境变量 下载后,解压到本地(目录中最好不要有中文或特殊字符) 打开【控制面板】-【系统和安全】-【系统】-【高级系统…...

一文讲懂扩散模型

一文讲懂扩散模型 扩散模型(Diffusion Models, DM)是近年来在计算机视觉、自然语言处理等领域取得显著进展的一种生成模型。其思想根源可以追溯到非平衡热力学,通过模拟数据的扩散和去噪过程来生成新的样本。以下将详细阐述扩散模型的基本原理…...

学习笔记八:基于Jenkins+k8s+Git+DockerHub等技术链构建企业级DevOps容器云平台

基于Jenkinsk8sGitDockerHub等技术链构建企业级DevOps容器云平台 测试jenkins的CI/CD在Jenkins中安装kubernetes插件安装blueocean插件配置jenkins连接到我们存在的k8s集群配置pod-template添加自己的dockerhub凭据测试通过Jenkins部署应用发布到k8s开发环境、测试环境、生产环…...

科研绘图系列:R语言柱状图分布(histogram plot)

文章目录 介绍加载R包读取数据画图介绍 柱状图(Bar Chart)是一种常用的数据可视化图表,用于展示和比较不同类别或组的数据。它通过在二维平面上绘制一系列垂直或水平的柱子来表示数据的大小,每个柱子的长度或高度代表一个数据点的数值。柱状图非常适合于展示分类数据的分布…...

vue3+ts封装类似于微信消息的组件

组件代码如下&#xff1a; <template><div:class"[voice-message, { sent: isSent, received: !isSent }]":style"{ backgroundColor: backgroundColor }"click"togglePlayback"><!-- isSent为false在左侧&#xff0c;为true在右…...

ES6 reduce方法详解:示例、应用场景与实用技巧

在JavaScript中&#xff0c;reduce 方法是一个非常强大的数组方法&#xff0c;它允许你将数组中的元素归并&#xff08;reduce&#xff09;为单个值。reduce 方法执行一个由你提供的reducer函数&#xff08;归并函数&#xff09;&#xff0c;将其结果汇总为单一的返回值。 一.…...

java后端保存的本地图片通过ip+端口直接访问

直接上代码吧 package com.ydx.emms.datapro.controller;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.…...

2024 年高教社杯全国大学生数学建模竞赛B题4小问解题思路(第二版)

原文链接&#xff1a;https://www.cnblogs.com/qimoxuan/articles/18399415 问题 1&#xff1a;抽样检测方案设计 详细解题思路&#xff1a; 确定抽样检测目标&#xff1a;企业需要确定一个可接受的次品率上限&#xff08;标称值&#xff09;&#xff0c;以及在该次品率下&am…...

docker-nginx数据卷挂载

一、案例1-利用Nginx容器部署静态资源 1.1、需求: 创建Nginx容器&#xff0c; 修改nginx容器内的html目录下的index.html文件,查看变化将静态资源部署到nginx的html目录 1.2、修改html目录下的index.html文件,查看变化 因为docker运用得最小化系统环境&#xff0c;解决办法就…...

项目实战 ---- 商用落地视频搜索系统(8)---优化(2)---查询逻辑层优化

目录 背景 技术衡量与方案 一种可实现方案 可实现方案及设计描述 可能存在的问题 一种创新实现方案 方案的改良设计 策略公式 优化的实现 完整代码 代码解释 异常场景的考量 处理方式 运行注意事项 运行结果 结果优化对比与解释 背景 在项目实战 ---- 商用落地…...

山东大学机试试题合集

&#x1f370;&#x1f370;&#x1f370;高分篇已经涵盖了绝大多数的机试考点&#xff0c;由于临近预推免&#xff0c;各校的机试蜂拥而至&#xff0c;我们接下来先更一些各高校机试题合集&#xff0c;算是对前边学习成果的深入学习&#xff0c;也是对我们代码能力的锻炼。加油…...

餐厅食品留样管理系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;窗口负责人管理&#xff0c;窗口员工管理&#xff0c;冰柜管理&#xff0c;排班信息管理&#xff0c;留样食品管理&#xff0c;教育宣传管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统…...

亚马逊运营:如何提高亚马逊销量和运营效率?

不少亚马逊卖家们为了扩大业务规模和提高销量&#xff0c;会创建多个卖家账户来同时运营多个亚马逊店铺。问题是&#xff0c;这种多店铺运营模式并非没有风险——亚马逊运营的一个重要方面就是账户的健康管理。一旦某个账户出现问题&#xff0c;亚马逊的算法就可能会启动关联检…...

设计模式背后的设计原则和思想

设计模式背后的设计原则和思想是一套指导我们如何设计高质量软件系统的准则和方法论。这些原则和思想不仅有助于提升软件的可维护性、可扩展性和可复用性&#xff0c;还能帮助开发团队更好地应对复杂多变的需求。以下是一些核心的设计原则和思想&#xff1a; 1. 设计原则 设计…...

项目总体框架

一.后端&#xff08;包装servlet&#xff09; 使用BaseServlet进行请求的初步处理&#xff08;利用继承进行执行这个&#xff09; 在BaseServlet中 处理请求的类型找到对象的方法&#xff0c;并使用注解找到参数名&#xff0c;执行参数自动注入。 package com.csdn.controlle…...

k8s Prometheus

一、部署 Prometheus kubectl create ns kube-ops# 创建 prometheus-cm.yaml apiVersion: v1 kind: ConfigMap metadata:name: prometheus-confignamespace: kube-ops data:prometheus.yml: |global:scrape_interval: 15s # 表示 prometheus 抓取指标数据的频率&#xff0c;默…...

glsl着色器学习(九)屏幕像素空间和设置颜色

在上一篇文章中&#xff0c;使用的是裁剪空间进行绘制&#xff0c;这篇文章使用屏幕像素空间的坐标进行绘制。 上一篇的顶点着色器大概是这样子的 回归一下顶点着色的主要任务&#xff1a; 通常情况下&#xff0c;顶点着色器会进行一系列的矩阵变换操作&#xff0c;将输入的顶…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染&#xff08;SSR&#xff09;与静态网站生成&#xff08;SSG&#xff09; 框架&#xff0c;由 Vercel 开发。它简化了构建生产级 React 应用的过程&#xff0c;并内置了很多特性&#xff1a; ✅ 文件系…...