Windows搭建Java开发环境(Building a Java development environment on Windows)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老
导航剑指大厂系列:全面总结 IT核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云计算、人工智能、运维开发、算法结构、物联网、JAVA Python语言等。
不同类型针对性训练,提升编程思维,剑指大厂非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
Windows搭建Java开发环境
1.Java简介
Java是一种多平台、面向对象的编程语言,具有跨平台性、面向对象、健壮性、安全性、可移植性等特点,广泛应用于企业级应用开发、移动应用开发大数据处理、云计算、等领域。
Java于1995年推出,最初被设计为一种面向对象的编程语言,用于开发从Web应用程序到移动应用程序的各种应用程序。Java的核心特性包括其跨平台性,允许编写的代码在不需要修改的情况下,几乎可以在任何平台上运行。这是通过Java虚拟机(JVM)实现的,JVM提供了一个与平台无关的运行环境,使得Java程序可以在任何安装了JVM的设备上运行。
Java还具有面向对象的特性,支持封装、继承和多态等特性,使得代码更加模块化和易于维护。此外,Java提供了丰富的库和框架,如Spring、Hibernate等,极大地加速了开发过程,提高了开发效率。Java的安全模型包括沙箱安全模式和字节码验证,确保了运行时的安全性。多线程支持使得Java能够处理并发任务,提高了程序的响应速度和效率。
Java的应用领域非常广泛,包括但不限于企业级应用、移动应用、大数据处理、云计算等。由于其强大的功能和广泛的应用,Java在全球拥有庞大的开发者社区和丰富的生态系统,是许多企业和开发者的首选编程语言。
2.前言
为什么要搭建Java
开发环境?
由于
Java
是一门跨平台的编程语言,这意味这编写一次代码要在多平台上运行。而搭建Java
环境有利于在不同平台上进行开发测试。总之,搭建Java
开发环境是为了支持Java
应用程序的开发、测试和部署。
什么是JDK?
JDK其实就是
Java Development Kit
的缩写,就是Java
开发工具包。由于JDK是Java
开发的基础工具包,它包括一些开发人员常用的编译器,运行环境、开发工具,并且提供了创建、编译、运行和调试Java
应用程序的一切必要资源。
我们为什么要配置环境变量?
- 由于计算机只能够识别自身所带的指令,不能执行外部指令,配置
Java
环境是为了让系统找到Java
可执行文件。 - 如果系统安装多个
Java
版本,可以通过修改环境变量使系统支持多个Java
版本。 - 可以使
Java
更具有移植性,使之不依赖于已配置的Java
环境。
3.如何安装JDK
点击进入官网下载ORACLE官网
进入之后,根据自己的系统进行下载,这里我推荐Java8
下载完成后双击jdk文件
运行:
要注意这里的安装路径,一会儿要用到,我这里就用默认的位置安装,然后下一步。
这里我也用的是默认位置,然后下一步。
等待安装完成。
4.配置环境变量
Java
安装目录中的文件有什么作用?
打开我们JDK
安装的位置,点开Java
文件夹,有两个文件
其中jdk
文件夹里存放的是Java
开发工具包,开发时运行使用。而jre
存放的是Java
运行时的环境,主要用于开发部署运行使用。
点开jdk
文件夹,里面有许多文件,这里仅介绍重要的文件:
bin
文件夹:这里的bin
其实是(binary)的缩写。存放的是可执行文件。db
文件夹:db
是(Database)的缩写。存放的是Java
开发语言的数据库。include
文件夹:存放的是C++语言的头文件。因为Java
是在C++的基础上开发出来的。jre
文件夹:Java Runtime Environment
的缩写。在程序员开发程序时,也会运行程序,运行程序时需要运行环境就会用的jre
文件夹。lib
文件夹:library
存放的是开发时使用的库文件(.jar结尾的文件称为库文件或jar包)src.zip
文件:Java
开发工具包的源代码,就是高斯林团队写的代码。
返回到上一层,我们还会看到一个jre
文件夹,这个jre
文件夹和jdk
中的jre
文件夹有什么不同吗?
其实这里的
Java
运行环境,主要是用于开发完成之后的部署运行使用。
了解了各个文件的功能之后,其实我们就更容易理解为什么要配置Java
环境变量了。
配置环境变量的一般步骤
- 找到你安装
Java
的文件路径,找到jdk
文件下的bin
文件夹,复制bin
文件的路径
- 右键点击此电脑 -> 属性 -> 高级系统设置 -> 环境变量。选择
Path
双击点开
- 新建一个环境变量,将刚才复制的
bin
文件路径粘贴过来。这个界面先不要关,你还要找到jre
文件夹下的bin
文件路径,用刚才同样的方法添加到环境变量
- 添加到环境变量后,点击确定,关闭界面。
如何检测Java
环境变量配置成功?
- 在键盘同时按
Windows
徽标键+R
键,在运行窗口输入cmd
命令,按Enter
打开,输入java
指令,如果出现如下界面,则配置成功。
- 在命令行中输入
javac
命令,如果出现如下界面,则配置成功
- 在命令行中输入
java -version
命令,如果出现如下界面,则配置成功。
5.第一个Java程序
- 用记事本写一个
Java
程序//文件名:HelloWorld.java public class HelloWorld {public static void main(String[] args){System.out.println("Hello world");} }
-
保存代码为
HelloWorld.java
-
在当前文件下,右键点击在终端运行下列代码:
javac HelloWorld.java
java HelloWorld
运行结果:
相关文章:

Windows搭建Java开发环境(Building a Java development environment on Windows)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…...

用FPGA做一个全画幅无反相机
做一个 FPGA 驱动的全画幅无反光镜数码相机是不是觉得很酷? 就是上图这样。 Sitina 一款开源 35 毫米全画幅 (3624 毫米) CCD 无反光镜可换镜头相机 (MILC),这个项目最初的目标是打造一款数码相机,将 SLR [单镜头反光] 相机转换为 DSLR [数码…...

使用 Go 语言与 Redis 构建高效缓存与消息队列系统
什么是 Redis? Redis 是一个开源的内存数据库,支持多种数据结构,包括字符串、列表、集合、哈希和有序集合。由于 Redis 运行在内存中,读写速度极快,常被用于构建缓存系统、实时排行榜、会话存储和消息队列等高并发场景…...

springboot 整合spring ai实现 基于知识库的客服问答
rag 需求产生的背景介绍: 在使用大模型时,常遇到的问题之一是模型可能产生幻觉,即生成的内容缺乏准确性。此外,由于大模型不直接访问企业的专有数据,其响应可能会显得泛泛而谈,不够精准或具体,…...

云原生(四十九) | WordPress源码部署
文章目录 WordPress源码部署 一、WordPress部署步骤 二、创建项目目录 三、上传源码到WordPress 四、配置安全组 五、配置WordPress 六、访问WordPress WordPress源码部署 一、WordPress部署步骤 第一步:创建项目目录 第二步:上传源码到项目目…...

Spring Boot 集成 LiteFlow 实现业务流程编排
LiteFlow 是一款轻量级的流程编排框架,它允许开发者通过简单的配置方式,将复杂的业务流程分解为多个独立的节点,然后通过定义规则来编排节点,达到解耦业务逻辑、提高代码可维护性的目的 1. LiteFlow 的基本概念 在 LiteFlow 中,主要有以下几个概念: 节点 (Node):代表一…...

在 Android Studio 中引入android.os.SystemProperties
在 Android Studio 中引入android.os.SystemProperties 前言 网上有很多种方法,其中直接导入包的办法是行不通的,昨天自己发现问题后也踩了很多坑,现在把问题解决了也全面汇总了几种方法,确保可以百分百引入 1. layoutlib.jar包…...

代码随想录算法训练营总结
这几天一直有事情需要忙,所以现在来准备总结以下训练营的成果。 先说以下总体感受,非常值得!!! 从两个月前开始跟着每天看发布的任务,然后每天坚持打卡,收获还是很大的,从数组开始…...

【uniapp】使用uniapp实现一个输入英文单词翻译组件
目录 1、组件代码 2、组件代码 3、调用页面 4、展示 前言:使用uniapp调用一个在线单词翻译功能 1、组件代码 2、组件代码 YouDaoWordTranslator <template><view class"translator"><input class"ipttext" type"te…...

6. 继承、重写、super、final
文章目录 一、重新定义需求二、继承1. 继续分析2. 概念3. 代码① 父类② 子类③ 测试结果 4. 饿狼传说之多层继承① 概念② 代码 5. 多继承 三、方法的重写1. 情境2. 代码① 吃什么② 怎么叫(Override重写) 3. 小结 四、super1. 啃老2. 啃老啃到底 五、final1. 用途及特征2. 举…...

Redis 其他类型 渐进式遍历
我们之前已经学过了Redis最常用的五个类型了,然而Redis还有一些在特定场景下比较好用的类型 Redis最关键的五个数据类型: 上面的类型是非常常用,很重要的类型。 除此之外的其他类型不常用,只是在特定的场景能够发挥用处&#…...

科研绘图系列:R语言绘制SCI文章图2
文章目录 介绍加载R包导入数据图a图b图d系统信息介绍 文章提供了绘制图a,图b和图d的数据和代码 加载R包 library(ggplot2) library(dplyr) library(readxl) library(ggpmisc)导入数据 数据可从以下链接下载(画图所需要的所有数据): 百度网盘下载链接: https://pan.baid…...

ARM知识点三和串口代码的编写流程
ARM的一些常见问题 ARM 体系结构的主要特点是什么? 精简指令集 (RISC):ARM 采用 RISC 结构,指令集较小且简单,执行效率高。相比于复杂指令集 (CISC),RISC 更强调每条指令的执行速度。低功耗设计:ARM 处理…...

【unity踩坑】打开vs2022没有文字联想/杂项文件
unity打开vs2022没有文字联想 修改外置编辑器安装unity开发插件vs编辑器显示杂项文件 修改外置编辑器安装unity开发插件 参考 在unity项目里选择Edit-> Preferences->External Tools然后更换编辑器 在vs工具界面添加unity游戏开发选项。 重新打开还是有问题ÿ…...

WebGoat JAVA反序列化漏洞源码分析
目录 InsecureDeserializationTask.java 代码分析 反序列化漏洞知识补充 VulnerableTaskHolder类分析 poc 编写 WebGoat 靶场地址:GitHub - WebGoat/WebGoat: WebGoat is a deliberately insecure application 这里就不介绍怎么搭建了,可以参考其他…...

大数据-161 Apache Kylin 构建Cube 按照日期、区域、产品、渠道 与 Cube 优化
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...

uni-app使用v-show编译成微信小程序的问题
问题 在uni-app使用v-show语法编译成微信小程序会有一个问题 当我们设置成v-show"false" 在Hbuilder X里面确实没有显示 然后运行到 微信开发程序里面 发现显示了出来,说明设置的 v-show"false"没有起作用 解决办法 首先去uniapp官网查看v…...

充电宝租赁管理系统网站毕业设计SpringBootSSM框架开发
目录 1. 概述 2. 技术选择与介绍 3. 系统设计 4. 功能实现 5. 需求分析 1. 概述 充电宝租赁管理系统网站是一个既实用又具有挑战性的项目。 随着移动设备的普及和人们日常生活对电力的持续依赖,充电宝租赁服务已成为现代都市生活中的一项重要便利设施。它不仅为…...

喜讯!迈威通信TSN产品通过“时间敏感网络(TSN)产业链名录计划”评测,各项指标名列前茅
TSN技术,作为推动企业网络化与智能化转型的关键力量,已成为工业网络迈向下一代演进的共识方向,正加速重构工业网络的技术架构与产业生态。为响应这一趋势,工业互联网产业联盟携手中国信息通信研究院及50余家产学研用单位ÿ…...

国产工具链GCKontrol-GCAir助力控制律开发快速验证
前言 随着航空领域技术的不断发展,飞机的飞行品质评估和优化成为了航空领域的一个重要任务,为了确保飞行器在各种复杂条件下的稳定性,控制律设计过程中的模型和数据验证需要大量仿真和测试。 本文将探讨基于世冠科技的国产软件工具链GCKont…...

嵌入式开发:STM32 硬件 CRC 使用
测试平台:STM32G474系列 STM32硬件的CRC不占用MCU的资源,计算速度快。由于硬件CRC需要配置一些选项,配置不对就会导致计算结果错误,导致使用上没有软件计算CRC方便。但硬件CRC更快的速度在一些有时间资源要求的场合还是非…...

基于STM32的智能家居语音控制系统:集成LD3320、ESP8266设计流程
一、项目概述 项目目标和用途 近年来,智能家居产品逐渐成为家庭生活中不可或缺的一部分。为了提升家庭生活的便捷性和舒适度,本项目旨在设计一款基于STM32F407VGT6(Cortex-M4内核)微控制器的多功能智能家居语音控制系统。该系统…...

【docker】要将容器中的 livox_to_pointcloud2 文件夹复制到宿主机上
复制文件夹 使用 docker cp 命令从容器复制文件夹到宿主机: docker cp <container_id_or_name>:/ws_livox/src/livox_to_pointcloud2 /path/to/host/folder sudo docker cp dandong_orin_docker:/ws_livox/src/livox_to_pointcloud2 /home...

网络编程(17)——asio多线程模型IOThreadPool
十七、day17 之前我们介绍了IOServicePool的方式,一个IOServicePool开启n个线程和n个iocontext,每个线程内独立运行iocontext, 各个iocontext监听各自绑定的socket是否就绪,如果就绪就在各自线程里触发回调函数。为避免线程安全问题…...

【rust/egui/android】在android中使用egui库
文章目录 说在前面AndroidStudio安装编译安装运行问题 说在前面 操作系统:windows11java版本:23android sdk版本:35android ndk版本:22rust版本: AndroidStudio安装 安装AndroidStudio是为了安装sdk、ndk,…...

Git---Git打标签
打标签 像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( v1.0 、 v2.0 等等)。 在本节中,你将会学习如…...
深入理解Transformer的笔记记录(精简版本)---- Transformer
自注意力机制开启大规模预训练时代 1 从机器翻译模型举例 1.1把编码器和解码器联合起来看待的话,则整个流程就是(如下图从左至右所示): 1.首先,从编码器输入的句子会先经过一个自注意力层(即self-attention),它会帮助编码器在对每个单词编码时关注输入句子中的的其他单…...

Ubuntu 更换内核版本
更换内核脚本 这里以更换 5.15.0-88-generic 版本内核为例 cat kernel.sh#!/bin/bashapt install linux-image-5.15.0-88-generic # Ubuntu内核切换脚本# 检查是否具有root权限 if [[ $(id -u) -ne 0 ]]; thenecho "请以root身份运行此脚本。"exit 1 fi# 检查系统是…...

博士找高校教职避坑指南:史上最全的避坑秘籍
在学术的海洋中遨游多年,博士们终于要踏上寻找高校教职的征程。这不仅是职业生涯的新起点,更是一场充满未知与挑战的冒险。今天,就让我们来聊聊那些在寻找高校教职时需要避开的坑,希望能为你的求职之路保驾护航。 1. 薪资结构&am…...

Study-Oracle-11-ORALCE19C-ADG集群搭建
一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。 一、ORACLE--ADG VS ORACLE--DG的区别 1、DG是Oracle数据库的一种灾难恢复和数据保护解决方案,它通过在主数据库和一个或多个备用数据库之间实时复制数据,提供了数据的冗余备份和故障切换功能。…...