JAVA学习记录1

文章为个人学习记录,仅供参考,如有错误请指出。

什么是JAVA?

JAVA是一种高级的编程语言,可以用于开发大部分场景的软件,但主要用于服务器的开发。

什么是JDK?

类似于python使用PyCharm来编写代码,JDK也是为JAVA的编写建立一个编写、运行和调试的环境,是JAVA的开发工具包,由sun公司推出并被Oracle甲骨文公司收购推广的技术,从1996年推出JDK1.1至今已经推出至JDK23(2025.1),虽然有很多版本,但是不是所有版本都适合使用,推荐JDK8、JDK11、JDK21,因为这几个版本为LTS(long-term support)长期支持版,顾名思义甲骨文会长期维护这几个版本,及时为这几个版本提供补丁,对用户来说开发环境更为稳定。

开发并运行一个JAVA程序主要涉及以下几个基本步骤:

1.安装JAVA Development Kit(JDK)

2.配置环境变量

3.选择开发工具

JDK版本如何选择?

上述提到目前市面上推出的版本较多,不好选择,但是新版本可以兼容旧版的功能,同时又会更新一些新的技术,不过这个根据需要自行选择一个LTS版本即可。我选择较新且稳定的JDK21。

如何下载安装JDK?

途径有很多,推荐直接去官方(www.oracle.com)下载安装包。我是window10系统,一般安装X64版本就可以了,仅供参考。如果之前安装过其他JDK版本也没问题。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载完安装包之后双击运行。

在这里插入图片描述
在第二页修改一下安装的位置,默认是安装在C盘,我修改为D盘。
注意!一定要记住这个安装的位置,后续配置环境变量时要用到,同时安装的路径中不能有空格和中文,防止后期报错。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完毕之后一定要检查JDK是否安装成功。win+R键并输入cmd打开命令指示符分别输入java和javac,如果看到一些指令提示说明安装成功。

java
javac

在这里插入图片描述
在这里插入图片描述
输入java -version和javac -version即可查看当前安装的JAVA版本。

java -version
javac -version

在这里插入图片描述
完成上述所有步骤且没有出错,那么恭喜你JDK安装成功。可以进行下一步配置环境变量。

为何要测试java和javac?

这两个代码是JDK中主要的部分,后期编译运行Java程序都会用到。简单来说,java是执行工具,javac是编译工具(也可以理解为翻译工具),上文提到Java是一种高级语言,计算机不能直接读懂Java命令,必须先通过javac编译工具进行翻译,将写好的程序翻译成计算机能够读懂的语言,然后再通过java执行工具执行才能驱动计算机的硬件进行运算。

JDK中包含了什么?

安装完JDK之后,首先需要了解JDK的组成。JDK主要由以下几个部分组成:

JVM(Java Virtual Machine):JAVA虚拟机,真正运行JAVA程序的地方;

核心类库:JAVA预先写好的程序,供用户调用;

JRE(Java Runtime Environment):JAVA的运行环境;

JDK(Java Development Kit):JAVA开发工具包(包括以上所有内容)。

在这里插入图片描述

如何配置环境变量?

安装完JDK之后首先要做的就是配置环境变量。配置环境变量是设置JAVA_HOME和将JDK的bin目录添加到系统的PATH中,目的是在电脑的任何位置都能够运行JAVA命令。

注意!新版本(如JDK21)会自动配置PATH环境,但还是建议学习一下如何配置,因为企业中使用的JDK可能是JDK8、JDK11等老版本,他们需要手动配置变量。

右键“此电脑”-高级系统设置-环境变量-用户变量或系统变量中找到变量名为Path的变量。

在这里插入图片描述
可以看到系统变量中的第一个就是自动为我们配好的变量,可删可不删,反正我们后面还要手动配置。

在这里插入图片描述
接下来,为java、javac配置环境变量,这两个步骤选择配置用户变量或者系统变量中的Path都行,我选择配置系统变量的Path。%JAVA_HOME%表示直接借用JAVA_HOME变量的地址,方便后期版本更新时修改。

在这里插入图片描述
再配置JAVA_HOME的环境变量,上述提到要记住JDK安装的位置。
注意!此处不要填写bin,填到jdk-21即可。

在这里插入图片描述
配置完成之后最好再去命令提示符中测试一下配置的地址是否正确。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

css中的部分文字特性

文章目录 一、writing-mode二、word-break三、word-spacing;四、white-space五、省略 总结归纳常见文字特性,后续补充 一、writing-mode 默认horizontal-tbwriting-mode: vertical-lr; 从第一排开始竖着排,到底部再换第二排,文字与文字之间从…

Android wifi常见问题及分析

参考 Android Network/WiFi 那些事儿 前言 本文将讨论几个有意思的网络问题,同时介绍 Android 上常见WiFi 问题的分析思路。 网络基础Q & A 一. 网络分层缘由 分层想必大家很熟悉,是否想过为何需要这样分层? 网上大多都是介绍每一层…

【C语言】_指针与数组

目录 1. 数组名的含义 1.1 数组名与数组首元素的地址的联系 1.3 数组名与首元素地址相异的情况 2. 使用指针访问数组 3. 一维数组传参的本质 3.1 代码示例1:函数体内计算sz(sz不作实参传递) 3.2 代码示例2:sz作为实参传递 3…

IDEA 字符串拼接符号“+”位于下一行的前面,而不是当前行的末尾

效果图 IDEA 默认效果是“历史效果”,经过修改后为“预期效果” 设置方式 在设置中找到Editor > Code Style > Java > Wrapping and Braces > Binary expressions > 勾选 Operation sign on next line 即可实现。具体设置如图。

牛客网刷题 ——C语言初阶(2分支和循环-for)——打印菱形

1. 题目描述 用C语言在屏幕上输出以下图案: 2. 思路 我是先上手,先把上半部分打印出来,然后慢慢再来分析,下面这是我先把整个上半部分打印出来,因为空格不方便看是几个,这里先用&代替空格了 然后这里…

C# 整型、浮点型 数值范围原理分析

总目录 前言 一、整型、浮点型 数值范围列表 二、什么是大小、范围 在上面的列表中,每个数据类型都有自己的Range (范围) 和 Size (大小)。 1. 范围 范围好理解,就是对应数据类型的数据范围,如 sbtyte 的数据范围是 -128~127,超…

安装vue脚手架出现的一系列问题

安装vue脚手架出现的一系列问题 前言使用 npm 安装 vue/cli2.权限问题及解决方法一:可以使用管理员权限进行安装。方法二:更改npm全局安装路径 前言 由于已有较长时间未进行 vue 项目开发,今日着手准备开发一个新的 vue 项目时,在…

Qt 5.14.2 学习记录 —— 칠 QWidget 常用控件(2)

文章目录 1、Window Frame2、windowTitle3、windowIcon4、qrc机制5、windowOpacity 1、Window Frame 在运行Qt程序后,除了用户做的界面,最上面还有一个框,这就是window frame框。对于界面的元素,它们的原点是Qt界面的左上角或win…

数据结构大作业——家谱管理系统(超详细!完整代码!)

目录 设计思路: 一、项目背景 二、功能分析 查询功能流程图: 管理功能流程图: 三、设计 四、实现 代码实现: 头文件 结构体 函数声明及定义 创建家谱树头结点 绘制家谱树(打印) 建立右兄弟…

springboot参数注解

在Spring Boot中,创建RESTful API时,通常会使用Spring MVC提供的注解来声明请求参数。以下是一些常用的注解及其用途: 1. RequestBody 用途:用于将HTTP请求的body部分绑定到方法参数上,通常用于接收JSON或XML格式的数…

uniapp实现在card卡片组件内为图片添加长按保存、识别二维码等功能

在原card组件的cover属性添加图片的话&#xff0c;无法在图片上面绑定 show-menu-by-longpress"true"属性&#xff0c;通过将图片自定义添加可使用该属性。 代码&#xff1a; <uni-card title"标题" padding"10px 0" :thumbnail"avata…

【Springer斯普林格出版,Ei稳定,往届快速见刊检索】第四届电子信息工程、大数据与计算机技术国际学术会议(EIBDCT 2025)

第四届电子信息工程、大数据与计算机技术国际学术会议&#xff08;EIBDCT 2025&#xff09;将于2025年2月21-23日在中国青岛举行。该会议主要围绕电子信息工程、大数据、计算机技术等研究领域展开讨论。会议旨在为从事相关科研领域的专家学者、工程技术人员、技术研发人员提供一…

docker内外如何实现ROS通信

写在前面 在一台电脑上装有docker&#xff0c;docker内外均装有ROS系统&#xff0c;现在想要实现docker内外的ROS通信&#xff0c;怎么办呢&#xff1f; 首先&#xff0c;因为是同一台电脑的docker内外&#xff0c;所以IP本身是互通的&#xff0c;不需要在/etc/hosts中添加IP…

2025年01月07日Github流行趋势

项目名称&#xff1a;khoj 项目地址url&#xff1a;https://github.com/khoj-ai/khoj项目语言&#xff1a;Python历史star数&#xff1a;20105今日star数&#xff1a;363项目维护者&#xff1a;debanjum, sabaimran, MythicalCow, aam-at, shantanuSakpal项目简介&#xff1a;你…

web3与AI结合-Sahara AI 项目介绍

背景介绍 Sahara AI 于 2023 年创立&#xff0c;是一个 "区块链AI" 领域的项目。其项目愿景是&#xff0c;利用区块链和隐私技术将现有的 AI 商业模式去中心化&#xff0c;打造公平、透明、低门槛的 “协作 AI 经济” 体系&#xff0c;旨在重构新的利益分配机制以及…

patchwork++地面分割学习笔记

参考资料&#xff1a;古月居 - ROS机器人知识分享社区 https://zhuanlan.zhihu.com/p/644297447 patchwork算法一共包含四部分内容&#xff1a;提出了以下四个部分&#xff1a;RNR、RVPF、A-GLE 和 TGR。 1&#xff09;基于 3D LiDAR 反射模型的反射噪声消除 (RNR)&#xff…

渗透测试-非寻常漏洞案例

声明 本文章所分享内容仅用于网络安全技术讨论&#xff0c;切勿用于违法途径&#xff0c;所有渗透都需获取授权&#xff0c;违者后果自行承担&#xff0c;与本号及作者无关&#xff0c;请谨记守法. 此文章不允许未经授权转发至除先知社区以外的其它平台&#xff01;&#xff0…

全局变量(PHP)(小迪网络安全笔记~

免责声明&#xff1a;本文章仅用于交流学习&#xff0c;因文章内容而产生的任何违法&未授权行为&#xff0c;与文章作者无关&#xff01;&#xff01;&#xff01; 附&#xff1a;完整笔记目录~ ps&#xff1a;本人小白&#xff0c;笔记均在个人理解基础上整理&#xff0c;…

耗时一天,我用AI开发了AI小程序

小码哥从事前后端开发近十年&#xff0c;但是随着技术的更新迭代&#xff0c;有时候没有时间和精力去优化UI、实现一些前后端功能&#xff0c;以及解决一些bug。特别是我想开发小码哥AI的移动端&#xff0c;但觉得自己没有那么多时间去研究移动端了&#xff0c;准备放弃了&…

细说STM32F407单片机以轮询方式读写外部SRAM的方法

目录 一、实例的功能 二、工程配置 1、KEYLED 2、时钟、DEBUG、USART6、NVIC、GPIO、CodeGenerator 3、FSMC &#xff08;1&#xff09; 模式设置 &#xff08;2&#xff09; Bank 1子区3参数设置 1) NOR/PSRAM control组&#xff0c;子区控制参数 2) NOR/PSRAM timi…