初识java——jdk?环境变量?及关于安装jdk的步骤

文章目录

  • JDK的安装
    • 在安装JDK时遇到的问题:
  • 背景知识
    • 一 什么是jdk
      • jdk简介
      • jdk文件详解:
        • 1 bin目录:
        • 2 lib目录:
        • 3 include目录
        • .exe文件是可执行的应用程序,这个我们都清楚,但.dll文件又是做什么的呢?
    • 二 环境变量
      • path环境变量:
      • 除path之外的其他环境变量


JDK的安装

https://www.bilibili.com/video/BV1ZW4y1c7LZ/
这是对应的视频,大家可以参考着安装学习

在安装JDK时遇到的问题:

除了在视频中可能遇到的问题之外,还有一种可能出现差错的情况:
当我们测试输入java -version的命令时,它不会显示java 命令不存在,而是没有反应
在这里插入图片描述
出现这个问题的原因是,我们之前下载过jdk,保留了java.exe,并且相应的之前环境变量没删除,
(在path变量中,系统查找路径的顺序是从上到下的)并且之前的路径在新的路径之上
所以导致执行这个命令,但是不出内容。
解决 这个问题的方式就是删除掉path中之前的路径,最好也把之前剩余的jdk部分清理干净就好了!

背景知识

一 什么是jdk

jdk简介

建议大家看完下面的详解后,再来看这个简介!

jdk的全称是Java Development Kit 意为java开发工具包,这是每一个java语言开发者所必需的。
jdk中包含了java编译器(javac),java虚拟机(JVM)等基本开发工具,以及java标准库(Java Standard Library):用于Java程序开发的各种类与方法(类似于c语言中库函数的作用),还有用于开发各种类型应用程序所需的API。
除了基本的开发工具与标准库外,jdk还提供了一些附加工具比如:JavaDoc(用于生成API文档)、Java Debugger(用于调试Java程序)、Java Mission Control(用于性能监控和故障诊断)等。

jdk文件详解:

我按照的是jdk17,所以就按此版本讲解:
当我们下载好jdk之后,打开文件:

在这里插入图片描述

1 bin目录:
 该目录用于存放一些可执行程序如:(1)  java编译器

在这里插入图片描述

    (2) java 运行工具

在这里插入图片描述

   (3)打包工具

在这里插入图片描述

 (4)文档工具

在这里插入图片描述

 还有一些其他的应用程序,这里不再一一列举,最为主要的是javac.exe与java.exe程序,javac.exe是java编译器,用于将编写好的java文件编程成java字节码文件(可执行的java程序)。java源文件的扩展名为.java,如 HelloWorld.java 编译运行后的java字节码文件的扩展名为.class 如 HelloWorld.classjava.exe是java运行工具,它会启动一个java虚拟机(JVM)进程,java虚拟机相当于一个虚拟的操作系统,专门负责运行由javac.exe生成的字节码文件!
2 lib目录:
 lib是library的简写,用于存放java提供的类与方法

在这里插入图片描述

在lib目录中src.zip文件用于存放JDK中的核心类的源代码
3 include目录
由于jdk即开发工具本身是由c/c++开发的,所以在引用时需要启动一些c语言的头文件,此目录就是用来存放这些头文件的。(.h文件)

在这里插入图片描述

.exe文件是可执行的应用程序,这个我们都清楚,但.dll文件又是做什么的呢?
.dll文件是动态链接库(Dynamic Link Library)的简写,
它是一种在windows系统中常见的**文件类型**,
.dll文件中包含了一系列可程序调用的函数与资源,可被多个程序共享使用
其作用主要有以下几个方面:
1  代码重用:.dll文件中包含了一些常用的代码与函数,其他程序调用时,可避免重复编写相同的代码。(这个和c语言中库函数的包含功能大体相同)
2  动态链接:程序运行时,可通过动态链接的方式调用.dll文件中的资源与函数
(也就是我们在执行bin目录下的.exe文件时,可链接调用bin目录下的.dll文件)
(相比于静态链接,动态链接可以减小程序的体积,提高内存的利用率。)
3  功能扩展:在加载.dll文件后,可以额外扩展程序的功能还有特性(所以目录中.dll文件右侧有“应用程序扩展”的标记)
4  系统资源访问:.dll 文件还可以提供对系统资源访问的接口,(即可以通过.dll文件中的函数来访问系统资源,比如硬件设备,操作系统功能等),这样其他程序就可以通过调用.dll文件中的函数来实现对这些资源的操作。

二 环境变量

环境变量是在操作系统之上设置的变量。

在这里插入图片描述

环境变量分为用户变量和系统变量,一个电脑中可以有多个用户,针对单个用户设置的变量则创建在用户变量上,所有的用户均可使用的变量创建在系统变量上!

path环境变量:

path环境变量用于存放可执行文件的路径,用于操作系统去查找对应的文件,当我们在命令行中(即控制台程序中)输入一个命令,操作系统就会根据path环境变量中存放的路径去查找相应的文件。

除path之外的其他环境变量

其他环境变量用于存放系统与应用程序的各种配置信息。

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

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

相关文章

数据结构学习之路--玩转队列的内核知识(附C源码)

嗨嗨大家~我又来啦!今天为大家带来的是与队列相关的知识。我们马上进入知识的海洋~ 目录 前言 一、队列 1 队列的概念 2 队列的实现 2.1 队列的定义 2.2 队列的初始化 2.3 队列的判空 2.4 入队 2.5 出队 2.6 取队头元素 2.7 取队尾元素 2.8 取…

37、Tomato(VulnHub)

Tomato 一、nmap 2211是ssh的端口,21的ftp也不是弱密码 二、web渗透 随便看看 目录爆破 /seclists/Discovery/Web-Content/common.txt /antibot_image/antibots/readme.txt 发现该站点存在反爬机制 /antibot_image/antibots/info.php 提示我们该网页存在个参数 GET&…

SFP、SFP+、SFP28 与 QSFP28 收发器之间的差异:兼容性和性能

近年来,网络技术发展迅速,因此,计算专业人员面临着越来越令人困惑的术语和缩写词。 管理数据中心时必须了解的一个关键领域是收发器,特别是 SFP (1550nm/1310nm)、SFP (850nm) 和 QSFP28 (4x25G) 之间的差异。 这些型号在兼容性方…

深入浅出 SQL 优化:全面提升查询性能的技巧

文章目录 前言一、表结构分析1. 索引分析2. 数据类型分析3. 思考反范式设计的适用场景与潜在风险3.1数据冗余3.2 数据一致性3.3 更新性能 4. 关注临时表的创建与使用。4.1.尽量减少临时表的使用,以降低系统资源的消耗。4.2 使用合适的索引和数据类型优化临时表的性能…

HarmonyOS ArkUI实战开发-窗口模块(Window)

窗口模块用于在同一物理屏幕上,提供多个应用界面显示、交互的机制。 对应用开发者而言,窗口模块提供了界面显示和交互能力。对于终端用户而言,窗口模块提供了控制应用界面的方式。对于操作系统而言,窗口模块提供了不同应用界面的…

swiper 去掉轮播图上的小点点 小圆圈(完美解决方案)

文章目录 问题描述解决方案问题复现处理方案 问题描述 大家好!我是夏小花,今天是2024年4月22日|农历三月十四,今天这篇博文主要解决swiper 去掉轮播图上的小点点 小圆圈,具体解决方案如下所示 解决方案 问题复现 现在现在可以看…

数据结构初阶-二叉树

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 二叉树 树概念和结构 树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限节点组成的一个具有层次关系的集合,把它叫做树…

python--pyQt5 进度条:QProgressBar

https://www.cnblogs.com/itwangqiang/articles/14959401.html https://blog.csdn.net/weixin_43990846/article/details/123880081 进度条用于向用户指示操作的进度,并向他们保证应用程序仍在运行 例 1 import sys from PyQt5.QtWidgets import QApplication, QWi…

【机器学习】特征筛选:提升模型性能的关键步骤

一、引言 在机器学习领域,特征筛选是一个至关重要的预处理步骤。随着数据集的日益庞大和复杂,特征的数量往往也随之激增。然而,并非所有的特征都对模型的性能提升有所贡献,有些特征甚至可能是冗余的、噪声较大的或者与目标变量无关…

Webpack-

定义 静态模块:指的是编写代码过程中的html,css,js,图片等固定内容的文件 打包:把静态模块内容压缩、整合、翻译等(前端工程化) 1)把less/sass转成css代码 2)把ES6降级…

OpenHarmony鸿蒙南向开发案例:【智能加湿器】

样例简介 智能加湿器具有实时监控其所处环境温度、湿度,并通过数字管家设置日程,自动打开加湿器控制湿度功能。显示界面使用DevEco Studio 编写的js应用,具有很好的兼容和移植特性。硬件上采用了带有HDF框架的驱动模型,通过GPIO和…

nodejs在控制台打印艺术字

const figlet require("figlet");figlet("SUCCESS", function (err, data) {if (err) {console.log("Something went wrong...");console.dir(err);return;}console.log(data);}); 参考链接: https://www.npmjs.com/package/figlet…

Android studio配置Flutter(看这一篇就够了)

Flutter 是 Google 推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart 语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter 提供了丰富的组件、接口,开发者可以很快地为 Flutter 添加 Native&#…

基于开源CrashRpt与微软开源Detours技术深度改造的异常捕获库分享

目录 1、异常捕获模块概述 2、为什么需要异常捕获模块? 3、在有些异常的场景下是没有生成dump文件的 4、开源异常捕获库CrashRpt介绍 5、对开源库CrashRpt的改进 C软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持…

【图说】VMware Ubuntu22.04 详细安装教程

前言 无论是从事 Linux 开发工作,还是希望电脑运行双系统,VMware 虚拟机都是我们日常工作不可或缺的工具。本章将会重点介绍 VMware 安装流程,以及在 VMware 上如何运行、使用 Ubuntu22.04 系统。 一、VMware 下载安装 1.1 VMware 官网下载…

TensorFlow文件读取 --TFRecords文件

TFRecords文件 是一种二进制文件,能够很好的利用内存,更方便复制和移动,并且不需要单独的标签文件 使用步骤 1)获取数据 2)将数据填入到Example协议内存块(protocol buffer) 3)将协…

001-谷粒商城-微服务剖析

1、架构图 还是很强的,该有的都有 2、微服务模块 SpringCloudAlibaba组件包括 SentinelNacosRocketMQSeata 搭配SpringCloudAlibaba组件 OpenFeignGateWayRibbn gateway使用了SpringWebFlux,前几天研究到,为什么springboot不直接使用Spri…

阿里云mysql8.0 this is incompatible withsql mode=only full group by

阿里云RDS中mysql5.6升级为8.0后,出现如下问题: ### Error querying database. Cause:java.sql.SQLSyntaxErrorException: Expression #1 of SELECT listis not in GROUP BY clause and contains nonaggregatedcolumn temp.product_id which is not fun…

2024抖店新政策!抖音小店的发展趋势!新手必看!

哈喽~我是电商月月 准备开抖店的新手朋友注意了,最近抖音严查无货源违规商家,还发布了取消新手期的政策,这说明了两点 1. 生态环境正在改变 无规矩不成方圆,违规的都是故意放错类目以及,靠S单非法获得销量&#xff…

流量计如何进行校准?

什么是流量计?流量计是指示被测流量和(或)在选定的时间间隔内流体总量的仪表。简直研制,流量计是用于测量管道或明渠中流体流量的一种仪表。流量计种类繁多,又分为有差压式流量计、转子流量计、节流式流量计、细缝流量…