Java——Java开发环境

一、JDK

1、什么是JDK

JDK(Java Development Kit,Java 开发工具包)是用于开发 Java 应用程序的核心工具包。它包含了编写、编译、调试和运行 Java 程序所需的一切工具和库。JDK 是每个 Java 开发者必备的工具。

2、JDK 主要组件

JDK主要包含JRE和一些开发工具。

1)Java 运行时环境(Java Runtime Environment, JRE)

JRE 是运行 Java 应用程序所需的环境,包括 JVM核心类库和其他支持文件。JRE 是 JDK 的一个子集,JDK 包含了 JRE。

实际上安装好JDK后,对应版本的JRE也就被安装了,JRE是包含在JDK中的(下图是jdk中的文件夹,可以发现是有jre的,这里是jdk8,对于更高版本的 jdk 中就没有 jre 了,而是使用jlink来根据自己的需求,创建一个更小的运行时环境):

JRE主要包含JVM和核心类库:

1.Java 虚拟机(JVM)

JVM是包含在JRE中的,JVM 是运行 Java 字节码的虚拟机。它负责加载、解释和执行字节码文件。JVM 使得 Java 具有跨平台特性。

2.核心类库

JDK 中的 JRE 包含了大量预定义的类库,这些类库提供了丰富的功能,包括数据结构、网络编程、文件 I/O、图形用户界面(GUI)等。这些类库极大地简化了 Java 开发。

2)开发工具

JDK 提供了一系列开发工具(命令行工具),帮助开发者编写和调试 Java 程序。这些工具包括但不限于:

  • javac:编译器,用于将 Java 源文件编译为字节码。
  • java:Java 应用程序启动器,用于运行编译后的 Java 程序。
  • javadoc:文档生成器,用于根据源代码中的注释生成 API 文档。
  • jdb:Java 调试器,用于调试 Java 程序。
  • jar:用于创建、管理和解压缩 JAR 文件(Java ARchive),这些文件通常包含多个类和关联的资源。
  • jconsole 和 jvisualvm:用于监视和管理 Java 应用程序的工具。

我们可以在已安装的JDK目录中查看这些开发工具,这些开发工具一般在 jdk 的 bin 目录下:

可以看到这些开发工具都是以可执行文件的形式存在的。

3、对于JDK、JRE和JVM三者的关系

图示为三者的关系:

JDK
│
├── JRE
│   ├── JVM
│   ├── 核心类库
│   └── 其他组件
│
└── 开发工具├── javac(编译器)├── jdb(调试器)├── java(程序启动器)├── javadoc(文档生成器)└── jar(打包工具)

二、JDK安装和环境变量配置

因为各种原因,JDK8和JDK11这两个版本是比较流行的。

1、JDK安装

1)下载链接

可以到oracle官网下载各种版本的JDK。

下面列出JDK8和JDK11两个版本的JDK:

JDK8:

https://www.oracle.com/cn/java/technologies/downloads/#java8

JDK11:

https://www.oracle.com/cn/java/technologies/downloads/#java11

不过需要登陆,比较麻烦。

2)详细教程

Windows版本的jdk8一般有这两种版本:

两个都是安装向导,第一个是对于32位Windows的,第二个是对于64位Windows的。

Windows版本的jdk11一般有这两种安装方式(这里好像只有x64版本的):

第一种是安装向导,下载后点击运行,然后就可已安装jdk了,界面就像下面这样,可以更改路径:

对于安装向导类型的,在安装完成后,安装向导就可以删除了。

第二种是压缩包,下载后直接解压就是jdk。

2)配置环境变量

在进行好安装 jdk 后,我们还是不能使用 jdk 来对我们的代码进行编译和运行的,我们还要做一个事情就是配置环境变量。

一般情况下例如javac等指令,在控制台使用时,系统会在当前的路径下寻找这个指令对应的可执行程序,如果没有找到,则会到配置的环境变量PATH中来寻找,如果还没有找到,则会报错。

1、鼠标右键点击此电脑,然后点击属性:

然后点击高级系统设置:

然后点击环境变量:

2、在用户变量中点击新建:

3、点击用户变量中的Path变量,进行编辑:

然后再Path中新增一个

%JAVA_HOME%\bin

这样就完成了环境变量配置,然后我们可以在桌面打开控制台,然后使用下面的指令,以测试用户变量是否完成配置:

java -version

如果与你安装的jdk版本相同,则完成配置。

3)小插曲

我在配置jdk8的变量之前,下载了jdk11,然后就开始了jdk8的环境变量的配置然后就出了一些小问题。最后找到原因,原来是jdk11安装的时候会自动在系统变量的Path中加入:

导致我的jdk8配置一直有问题,由于我的jdk8的变量是放在用户环境变量Path中的,对于Windows,系统的Path变量的优先级是高于用户变量中的Path的。这里可以把这个变量删除,然后自己配置。

将环境变量配置完成后就可已快乐的coding了。

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

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

相关文章

HNU-计算机体系结构-实验3-缓存一致性

计算机体系结构 实验3 计科210X 甘晴void 202108010XXX 文章目录 计算机体系结构 实验31 实验目的2 实验过程2.0 预备知识2.0.1 多cache一致性算法——监听法2.0.1.1 MSI协议2.0.1.2 MESI协议2.0.1.3 本题讲解 2.0.2 多cache一致性算法——目录法2.0.2.1 有中心的目录法2.0.2…

A2B V2.0协议学习笔记(非正式版本)

一、说明 A2B全称是 Automotive Audio Bus 汽车音频总线,主要是解决传统音频总线线多、线重、成本贵等问题。 A2B V2.0总线相对V1.0主要变化点: 速率提升,高达98.304Mbps,全双工模式 编码方式,由之前的曼彻斯特编码变为QPSK(正交相移键控)编码,每个符合2bit数据,因此…

随手记:多行文本域存数据有换行,回显数据换行展示

1.在新增的时候存储数据 <el-input type"textarea"v-model"XXXX"></el-input> 2.详情页返回的数据&#xff1a; replace一顿操作确实复杂 最快的方法直接写个样式:style"white-space: pre-line" 即可行内或者class样式都可以 …

秋招突击——算法打卡——5/28——复习{Z字形变换、两数之和}——新做:{整数反转、字符串转整数}

文章目录 复习Z字形变换实现代码参考代码 两数之和复习代码 新作整数反转个人实现实现代码 参考做法字符串转换整数个人解法 分析总结 复习 Z字形变换 实现代码 这里使用了他的思想&#xff0c;但是没有用他的代码&#xff0c;虽然已经比上次简洁了&#xff0c;但是还是不够&…

【日记】终于鼓起勇气买了吹风机!(356 字)

正文 好忙。今天比昨天还要忙&#xff0c;水都没喝几口。嗯&#xff0c;好像只喝了两口。 今天补了一份印鉴卡&#xff0c;销了一个户&#xff0c;变了一个户&#xff0c;弄了一大堆资料找人签字&#xff0c;还顺带要解决一个押品的历史遗留问题。 中午睡得好香&#xff0c;都不…

如何理解和使用 this 关键字

this 关键字是许多编程语言中的一个核心概念&#xff0c;在面向对象编程&#xff08;OOP&#xff09;中尤为重要。在JavaScript、Java、C、C#等语言中&#xff0c;this 扮演着至关重要的角色。理解 this 的意义和用法&#xff0c;对于编写清晰、有效的代码至关重要。 什么是th…

超分论文走读

codeFormer 原始动机 高度不确定性&#xff0c;模糊到高清&#xff0c;存在一对多的映射纹理细节丢失人脸身份信息丢失 模型实现 训练VQGAN 从而得到HQ码本空间作为本文的离散人脸先验。为了降低LQ-HQ映射之间的不确定性&#xff0c;我们设计尽量小的码本空间和尽量短的Code…

运营推广最容易被忽略的细节!用短链接推广必须要掌握这些要点!

短链接是目前很多企业进行网络推广最常用的方式之一&#xff0c;是引流转化的重要桥梁&#xff0c;很多工作者可能觉得用短链接推广&#xff0c;只需要简简单单的把生成好的短链接放上去就行&#xff0c;但是实际上有很多细节要点是需要着重注意的&#xff0c;今天小编就围绕这…

[AIGC] Nginx常用变量详解

Nginx非常强大&#xff0c;其主要功能包括HTTP服务器、反向代理、负载均衡等。Nginx的配置中有许多内置的变量&#xff0c;你可以在配置文件中使用这些变量进行灵活的配置。在本篇文章中&#xff0c;我们将介绍一些Nginx中常见的变量&#xff0c;包括proxy_add_header。 常见变…

redis显示RDB error

报错问题&#xff1a;"RDB error" 是指在Redis的RDB持久化过程中出现了错误。Redis的RDB持久化是通过将内存中的数据集快照保存到磁盘中的一种方式。如果在这个过程中遇到问题&#xff0c;Redis会记录一条包含"RDB error"的日志信息。上图错误&#xff0c;…

【论文复现】——基于随机抽样与特征值法的点云平面稳健拟合方法

目录 一、算法原理1、论文概述2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的GPT爬虫。 一、算法原理 1、论文概述 针对点云数据含有异常值且传统拟合方法拟合结果不理想的情况,本文提出…

FL Studio21.2.5中文版电子音乐制作的强大工具

在当今的数字音乐时代&#xff0c;电子音乐已经成为了全球音乐市场中不可或缺的一部分。越来越多的音乐爱好者开始尝试自己动手创作电子音乐&#xff0c;而FL Studio 21中文版正是为他们量身打造的一款强大工具。作为一个音频制作爱好者&#xff0c;我深知一个好的数字音频工作…

apexcharts数据可视化之雷达图

apexcharts数据可视化之雷达图 有完整配套的Python后端代码。 本教程主要会介绍如下图形绘制方式&#xff1a; 基础雷达图多组数据雷达图雷达图标记点 基础雷达图 import ApexChart from react-apexcharts;export function BasicRadar() {// 数据序列const series [{name…

10分钟掌握FL Studio21中文版,音乐制作更高效!

FL Studio 21中文版是Image Line公司推出的一款深受欢迎的数字音频工作站软件&#xff0c;在音乐制作领域享有盛誉。这个版本特别针对中文用户进行了本地化处理&#xff0c;旨在提供更加便捷的用户体验和操作界面。本次评测将深入探讨FL Studio 21中文版的功能特点、使用体验及…

【计算机网络】P1 计算机网络概念、组成、功能、分类、标准化工作以及性能评估指标

目录 1 什么是计算机网络2 计算机网络的组成2.1 组成部分上2.2 工作方式上2.3 功能组成上 3 计算机网络的功能3.1 数据通信3.2 资源共享3.3 分布式处理3.4 提高可靠性3.5 负载均衡 4 计算机网络的分类4.1 按分布范围分类4.2 按传输技术分类4.3 按照拓扑结构分类4.4 按使用者分类…

【FL Studio至尊版:音乐制作界的“瑞士军刀”】

​ 导语&#xff1a;在音乐制作领域&#xff0c;有一款软件被誉为“瑞士军刀”&#xff0c;它就是FL Studio。本文将为您揭示FL Studio的四大爆点&#xff0c;带您领略这款软件的独特魅力。 一、FL Studio&#xff1a;音乐制作界的“瑞士军刀” FL Studio&#xff0c;全称F…

Linux Tcpdump抓包入门

Linux Tcpdump抓包入门 一、Tcpdump简介 tcpdump 是一个在Linux系统上用于网络分析和抓包的强大工具。它能够捕获网络数据包并提供详细的分析信息&#xff0c;有助于网络管理员和开发人员诊断网络问题和监控网络流量。 安装部署 # 在Debian/Ubuntu上安装 sudo apt-get install…

Java网络编程:UDP通信篇

目录 UDP协议 Java中的UDP通信 DatagramSocket DatagramPacket UDP客户端-服务端代码实现 UDP协议 对于UDP协议&#xff0c;这里简单做一下介绍&#xff1a; 在TCP/IP协议簇中&#xff0c;用户数据报协议&#xff08;UDP&#xff09;是传输层的一个主要协议之一&#xf…

3.Spring Cloud LoadBalancer 入门与使用

3.Spring Cloud LoadBalancer 入门与使用 1.什么是 LoadBalancer?1.1负载均衡分类1.2 常见负载均衡策略 2.为什么要学 LoadBalancer?3.如何使用?4.默认负载均衡策略5.随机负载均策略5.1 创建随机负载均衡器5.2 设置随机负载均衡器 (局部设置)5.3 设置全局负载均衡器 6.Nacos…

基础—SQL—DML(数据操作语言)修改和删除

一、引言 接着上次博客&#xff0c;这次讲解DML语句中的修改数据和删除数据操作。 二、DML—修改数据 UPDATE 表名 SET 字段名1值1 ,字段名2值2 , ...[ WHERE 条件]; 注意&#xff1a;修改语句的条件可以有&#xff0c;也可以没有。如果没有条件&#xff0c;则会修改整张表的…