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

news2024/12/31 3:35:10

文章目录

  • 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.class
 java.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.coloradmin.cn/o/1614831.html

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

相关文章

论文笔记:Leveraging Language Foundation Models for Human Mobility Forecasting

SIGSPATIAL 2022 1intro 语言模型POI客流量预测 2 方法 3 实验

Uds诊断协议的请求和响应的寻址

一根总线上挂载着很多ECU,那么基于CAN协议UDS的诊断请求报文,诊断仪是如何发给ECU的?如何精准的找到想要诊断的那个ECU?ECU又是如何将诊断响应的报文返回给诊断仪? 在UDS协议中,规定了诊断请求和响应报文发…

macSubstrate:一款针对macOS的代码注入和打桩测试工具

关于macSubstrate macSubstrate是一款针对macOS的代码注入和打桩测试工具,该工具可以在macOS操作系统上实现进程间代码注入测试,其功能类似于iOS上的Cydia Substrate。 在该工具的帮助下,广大研究人员可以轻松将自己的安全测试插件&#xff…

8-云原生监控体系-PromQL-函数

Prometheus支持几个函数来操作数据。 文章目录 1. 函数语法解释2. count(v instant-vector)3. topk(n, v instant-vector)4. bottomk(n, v instant-vector)5. increase(v range-vector)6. rate(v range-vector)7. rate 和 increase8. irate(v range-vector)9. predict_linear(…

HubSpot流量转化:从访客到客户的转化策略

在当今数字化时代,企业营销获客的关键在于如何将网站访客转化为实际客户。作为HubSpot的合作伙伴,我们深知HubSpot软件在流量转化方面的强大功能。今天运营坛将带领大家深入探讨HubSpot流量转化的核心原理,并介绍如何利用个性化营销策略、构建…

【C++】友元--最全解析(友元是什么?我们应该如何理解友元?友元可以应用在那些场景?)

目录 一、前言 二、友元是什么&#xff1f; 三、友元的感性理解和分类 &#x1f95d;友元的感性理解 &#x1f34b;友元的三种分类 ✨友元 --- 全局函数 ✨友元 --- 成员函数 ✨友元 --- 类 四、友元函数的应用场景 &#x1f34d;操作符重载 :"<<" 与…

【苍穹外卖】HttpClient-快速理解入门

目录 HttpClient-快速理解&入门1. 需求2. 如何使用3. 具体示例4. 大致优点5. 大致缺点 HttpClient-快速理解&入门 1. 需求 在平常访问服务器里面的资源的时候&#xff0c;我们通常是通过浏览器输入网址&#xff08;或者在浏览器点击某个连接&#xff09;这种方式&…

更换本地yum源的步骤

更换本地yum源的流程与命令&#xff1a;

Idea热部署插件JRebel,修改代码无需重启

1. 介绍 JRebel是一个实用的插件&#xff0c;它可以让你在不重启服务器的情况下&#xff0c;修改Java程序并即时生效。相信大家都有这样的经历&#xff1a;每次修改代码后都需要重新编译、打包、部署&#xff0c;然后重启服务器&#xff0c;这个过程非常耗时且繁琐。但是&…

二叉树的实现(前序、中序、后序)(全面)

上一篇我们学习的二叉树的理论&#xff0c;知道了什么是二叉树之后&#xff0c;我们来实现一棵二叉树&#xff0c;二叉树经常考的是前中后序的遍历&#xff0c;这里我们多实现一些功能。 1.二叉树功能 二叉树的实现充分利用了分治思想 1.前序遍历 2.中序遍历 3.后序遍历 4.树的…

Vision Pro零基础教程专栏:校准、对比与结果分析工具

文章目录 CogCalibCheckerboardTool 校准工具介绍校准的基本方法与过程校准的基本作用标定片标定板定义标定板分类基础版标定板校准版标定板DataMatrix代码标定板特殊功能标定板材质分类 使用步骤注意 CogPatInspectTool 对比工具介绍CogPatInspectTool示例图使用场景使用步骤参…

JumpServer搭建堡垒机实战

文章目录 第一步、下载安装第二步、访问异常处理【1】docker方式拉取失败 JumpServer是运维人员可连接内部服务器上进行操作&#xff0c;支持Linux等操作系统的管理工具。 第一步、下载安装 curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/…

Opencv Python图像处理笔记一:图像、窗口基本操作

文章目录 前言一、输入输出1.1 图片读取显示保存1.2 视频读取保存1.3 文件读取保存 二、GUI2.1 窗口2.2 轨迹条2.3 画图2.4 鼠标回调 三、图像入门操作3.1 颜色空间转化3.2 通道分离合并3.3 添加边框3.4 算数操作 四、二值化4.1 普通4.2 自适应4.3 Otsu 参考 前言 随着人工智能…

227基于matlab的作业调度问题

基于matlab的作业调度问题。采用遗传算法&#xff0c;解决作业调度问题。一共三个作业&#xff0c;每个作业有不同的时间长度和紧急程度&#xff0c;超过时间会有惩罚措施。通过遗传算法计算出最好的作业安排&#xff0c;使得惩罚最小&#xff0c;获益最大。最终结果通过GUI用甘…

了解IPS和IDS:这5个差异将改变你的安全观念!

IPS 代表 入侵防御系统&#xff08;Intrusion Prevention System&#xff09;&#xff0c;它是 IDS 的进一步发展&#xff0c;不仅具备检测攻击的能力&#xff0c;还能在检测到攻击后主动采取措施阻止攻击。IPS 通常部署在防火墙和网络设备之间&#xff0c;能够深度感知并检测流…

第八周学习笔记DAY.1-异常

本课目标 了解异常概念 理解Java异常处理机制 会捕捉异常 会抛出异常 了解Java异常体系结构 什么是异常 异常是指在程序的运行过程中所发生的不正常的事件&#xff0c;它会中断正在运行的程序 生活中&#xff0c;根据不同的异常进行相应的处理&#xff0c;而不会就此中断…

支持中文繁体,支持同时配置并启用飞书和Lark认证,JumpServer堡垒机v3.10.8 LTS版本发布

2024年4月22日&#xff0c;JumpServer开源堡垒机正式发布v3.10.8 LTS版本。JumpServer开源项目组将对v3.10 LTS版本提供长期的支持和优化&#xff0c;并定期迭代发布小版本。欢迎广大社区用户升级至v3.10 LTS最新版本&#xff0c;以获得更佳的使用体验。 在v3.10.8 LTS版本中&…

【js】解决读取文件源内容总是得到默认index.html

在项目开发中&#xff0c;资源的获取都可以通过网络&#xff0c;所以获取文件内容&#xff0c;只需要将文件地址作为请求发送即可 读取文件源内容 const path 资源地址&#xff08;必须是绝对路径&#xff09;fetch(path).then((response) > {if (!response.ok) {throw ne…

我与C++的爱恋:日期计算器

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;我与C的爱恋 朋友们大家好啊&#xff0c;在我们学习了默认成员函数后&#xff0c;我们通过上述内容&#xff0c;来实现一个简易的日期计算器。 ​ ​ 头文件的声明 #pragma once #incl…

计算机服务器中了locked勒索病毒怎么办,locked勒索病毒解密工具流程步骤

随着网络技术的不断应用与发展&#xff0c;越来越多的企业离不开网络&#xff0c;网络大大提升了企业的办公效率水平&#xff0c;也为企业的带来快速发展&#xff0c;对于企业来说&#xff0c;网络数据安全成为了大家关心的主要话题。近日&#xff0c;云天数据恢复中心接到多家…