Windows JDK安装详细教程

news2024/11/24 12:57:28

一、关于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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2109263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 学习笔记(二)

类 构造方法 魔术方法 类的私有成员 继承 语法 class 类(父类1,父类2,...): 类内容体 对父类的复写 注解 多态

J.U.C Review - 常见的通信工具类解析

文章目录 概述1. Semaphore2. Exchanger3. CountDownLatch4. CyclicBarrier5. Phaser 原理 & Code1. Semaphore2. Exchanger3. CountDownLatch4. CyclicBarrier5. Phaser 概述 Java 的 java.util.concurrent 包提供了许多实用的工具类,用于简化并发编程。这些工…

计算机网络练级第一级————认识网络

网络搁哪? 网络大家应该都很熟悉了,但网络具体是怎么构成的,怎么用的?长话短说 我认为网络就是计算机里的快递业务,从一台计算机中发出,网络接收到数据后,就要把这个数据安全快速完整地发到目…

【idea】设置文件模板

搜索 File and Code Templates 。 添加模板。 在任意文件目录下右键,new->找到添加的模板。 参考链接: IDEA创建模板文件_edit file templates-CSDN博客

科研绘图系列:R语言宏基因组堆积图(stacked barplot)

介绍 宏基因组堆积条形图是一种数据可视化工具,用于展示宏基因组数据中不同分类群(如微生物群落中的物种或菌株)的相对丰度。宏基因组学(Metagenomics)是一种研究环境样本中所有生物的遗传物质(DNA和RNA)的科学,不依赖于培养,可以直接从环境样本中提取DNA进行测序。 …

Windows server 2016 .net framwork 安装

解决方法: 1、windows server 2016默认是不安装.netframework3.5的,可以在添加删除程序中单独添加。但是有时候系统安装文件不在的时候,找不到安装程序就不能安装成功。 这时候单独下载dotnetfx35直接安装是安装不上的,需要用以下方法进行。 2、单独安装: 通过 NetFx3.c…

无人机之动力系统篇

无人机的动力系统是其飞行中最为核心的部分,它决定了无人机的飞行性能和稳定性。一个完整的无人机动力系统通常由多个关键组件组成,这些组件协同工作,为无人机提供动力。以下是对无人机动力系统的详细解析: 一、主要组成部分 电…

大模型训练框架LLaMAFactory覆盖预训练指令微调强化学习评估全流程

1. 项目背景 开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练(pt)&…

3174. 清除数字(Java)

3174. 清除数字(Java) 1.Java 的 StringBuilder 初用。 2. StringBuffer和StringBuilder方法类似,Buffer支持同步访问,线程安全,速度比较慢,所以Buffer用的少,Builder用的多。 class Solution {public String clearD…

C语言深度剖析--不定期更新的第二弹

好久不见,甚是想念。书接上回,继续前进! 关键字static-最名不副实的关键字 对extern声明的小小补充 当我要对一个函数进行声明的时候可不可以像如下情况: extern int v_gal100;对这个变量进行了赋值,这是不可以的&a…

相互作用先验下的 3D 分子生成扩散模型 - IPDiff 评测

IPDiff 是一个基于蛋白质-配体相互作用先验引导的扩散模型,首次把配体-靶标蛋白相互作用引入到扩散模型的扩散和采样过程中,用于蛋白质(口袋)特异性的三维分子生成。 本文将对 IPDiff 实际的分子生成能力进行评测。 一、背景介绍 …

动态规划的解题思想

1. 从斐波那契数列说起 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始, ,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0, F(2) 1 F(n) F&…

【C++】C++ STL探索:Vector使用与背后底层逻辑

C语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C内存管理模板初阶String使用String模拟实现 在string类文章中提及了STL容器间的接口是大差不差的,本篇将直…

虚幻5|不同骨骼受到不同伤害|小知识(2)

1.蓝图创建一个结构,B_BoneDamage 结构里添加一个浮点变量,表示伤害倍数 2.当我们创建了一个结构,就需要创建一个数据表格,数据表格可以选择对应的结构 不同骨骼不同倍数伤害,骨骼要对应骨骼网格体的名称 3.把我们br…

C#继承_里氏替换原则

知识点一:基本概念 知识点二:基本实现 #region 知识点二基本实现class GameObject{}class Player : GameObject{public void PlayerAtk(){Console.WriteLine("玩家攻击");}}class Monster : GameObject{public void PlayerAtk(){Console.Writ…

NLP从零开始------文本中阶处理之序列到序列模型(完整版)

1. 序列到序列模型简介 序列到序列( sequence to sequence, seq2seq) 是指输入和输出各为一个序列(如一句话) 的任务。本节将输入序列称作源序列,输出序列称作目标序列。序列到序列有非常多的重要应用, 其中最有名的是机器翻译( machine translation), 机…

消息中间件都有哪些

RabbitMQ:这可是一个开源的消息代理软件,也叫消息中间件。它支持多种消息传递协议,可以轻松地在分布式系统中进行可靠的消息传递。 Kafka:Apache Kafka是一个分布式流处理平台,它主要用于处理实时数据流。Kafka的设计初…

时下改变AI的6大NLP语言模型

本文将深入研究大语言模型领域的最新进展,改变AI的6大NLP语言模型,每个模型能够引入的增强功能、以及潜在功能应用与限制。 在快速发展的人工智能(AI)领域,自然语言处理(Natural Language Processing&#…

6.1均值滤波

目录 实验原理 示例代码 运行结果 注意事项 总结 实验代码 运行结果 实验原理 https://zhuanlan.zhihu.com/p/76188487 在OpenCV中,cv::blur函数用于对图像进行均值滤波(Mean Filter),这是一种线性滤波技术,主…

科技信贷业务怎么寻找客户?

在科技信贷业务领域,寻找客户的痛点主要集中在以下几个方面: 1.风险评估难题:科技型企业尤其是初创企业,往往缺乏足够的历史数据和抵押物,这使得金融机构在评估其信用风险时面临较大挑战。由于科技企业的研发周期长、…