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…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...

Tauri2学习笔记
教程地址:https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引:https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多,我按照Tauri1的教程来学习&…...
HTML中各种标签的作用
一、HTML文件主要标签结构及说明 1. <!DOCTYPE html> 作用:声明文档类型,告知浏览器这是 HTML5 文档。 必须:是。 2. <html lang“zh”>. </html> 作用:包裹整个网页内容,lang"z…...

循环语句之while
While语句包括一个循环条件和一段代码块,只要条件为真,就不断 循环执行代码块。 1 2 3 while (条件) { 语句 ; } var i 0; while (i < 100) {console.log(i 当前为: i); i i 1; } 下面的例子是一个无限循环,因…...