当前位置: 首页 > 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;将输入的顶…...

一人公司小龙虾真能月入过万?揭开OpenClaw速成班背后的智商税与PanelAI真实落地路径

最近“一人公司”四个字在全网刷屏&#xff0c;尤其是小龙虾&#xff08;OpenClaw及各类国产智能体&#xff09;出来后&#xff0c;仿佛每个人养一只就能躺着赚钱。两天三夜速成班、保就业协议、月入几万的截图……视频刷得越多&#xff0c;我越觉得韭菜太多&#xff0c;骗子都…...

AI手势识别如何防误触?手势过滤策略优化案例

AI手势识别如何防误触&#xff1f;手势过滤策略优化案例 1. 引言&#xff1a;当你的手“不听使唤” 你有没有遇到过这样的情况&#xff1f;对着摄像头比了个“耶”&#xff0c;结果系统识别成了“OK”&#xff1b;想用手势控制音乐暂停&#xff0c;结果因为手指稍微动了一下&…...

MVT协议深度解析:从Protobuf编码到GISBox实战,看它如何碾压传统栅格瓦片

MVT协议技术内幕&#xff1a;从二进制编码到百万级数据渲染实战 当我们打开手机地图App&#xff0c;双指放大查看小区楼栋轮廓时&#xff0c;很少有人会思考这流畅体验背后的技术革命。传统栅格瓦片就像打印在纸上的地图&#xff0c;放大后必然出现马赛克&#xff1b;而MVT协议…...

AudioSeal Pixel Studio保姆级教程:FFmpeg转码日志捕获与异常音频格式兜底处理

AudioSeal Pixel Studio保姆级教程&#xff1a;FFmpeg转码日志捕获与异常音频格式兜底处理 1. 工具介绍与环境准备 AudioSeal Pixel Studio是一款基于Meta开源的AudioSeal算法构建的专业音频水印工具。它能够在保持原始音质的前提下&#xff0c;为音频文件嵌入隐形数字水印&a…...

别再手动调格式了!用IEEEtran LaTeX模板搞定双栏论文排版(附完整代码包)

IEEEtran LaTeX模板实战&#xff1a;从零开始打造完美双栏学术论文 第一次投稿IEEE Trans系列期刊时&#xff0c;我花了整整三天调整论文格式——作者列表的星号标记总是错位&#xff0c;跨栏表格在PDF里溢出页面&#xff0c;算法伪代码的编号莫名其妙消失。直到实验室师兄丢给…...

深入FreeRTOS SMP调度器:主核与从核如何“默契配合”完成第一次任务切换?

深入FreeRTOS SMP调度器&#xff1a;主核与从核如何“默契配合”完成第一次任务切换&#xff1f; 在嵌入式系统开发中&#xff0c;实时操作系统&#xff08;RTOS&#xff09;的多核支持已成为提升性能的关键。FreeRTOS作为业界广泛采用的RTOS&#xff0c;其SMP&#xff08;对称…...

pytorch基础入门day01

对pytorch的张量创建&#xff1a;#张量:与numpy相似(tensor) # 分为维度,形状,数据类型# 张量的创建 import torch# 创建一个2*3的全0张量 atorch.zeros(2,3) print(a)# one torch btorch.ones(2,3)# random torch ctorch.randn(2,3)# 从numpy中创建张量 import numpy as np n…...

零基础玩转OpenClaw:Qwen3.5-9B镜像云端体验指南

零基础玩转OpenClaw&#xff1a;Qwen3.5-9B镜像云端体验指南 1. 为什么选择云端体验OpenClaw 作为一个长期在本地折腾AI工具的开发者&#xff0c;我完全理解新手面对环境配置时的恐惧。记得第一次尝试部署本地AI助手时&#xff0c;光是解决Python版本冲突就花了两天时间。直到…...

docker在centos7上的搭建

docker与传统虚拟机对比 传统虚拟机基于安装在主操作系统上&#xff08;带环境安装&#xff09; 缺点&#xff1a;资源占有多&#xff0c;冗余多&#xff0c;运行速度慢&#xff0c; dockers&#xff1a;打包软件运行所需所有资源&#xff0c;无需捆绑一整个操作系统&#x…...

ConvertToUTF8终极指南:彻底解决Sublime Text编码乱码问题

ConvertToUTF8终极指南&#xff1a;彻底解决Sublime Text编码乱码问题 【免费下载链接】ConvertToUTF8 A Sublime Text 2 & 3 plugin for editing and saving files encoded in GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS, etc. 项目地址: https://gitcode.com/gh_mirrors/co…...