当前位置: 首页 > news >正文

Java基础 - 简介和配置环境变量

目录

一. 简介

二. 开发环境配置

下载JDK

配置环境变量

Java_Home配置,

Path 配置

CLASSPATH 配置

三. 编辑器选择

1.JetBrains

2. Eclipse

3.vscode

下载vscode

安装 vscode插件

四. 总结


一. 简介

Java 是由 Sun Microsystems 公司(后被 Oracle 收购)于 1995 年推出的一种编程语言。

起源
最初,Java 的设计目的是为了用于消费类电子产品的开发。但随着互联网的兴起,Java 因其“一次编写,随处运行”的特性,迅速在网络编程领域占据了重要地位。

早期发展
Java 1.0 版本发布后,引起了广泛关注。其简单易学、面向对象、与平台无关等特性吸引了众多开发者。Java 1.1 版本对 AWT(抽象窗口工具包)进行了改进,增强了图形用户界面的开发能力。

关键版本
Java 2 平台的推出是一个重要的里程碑,它包含了三个主要版本:J2SE(标准版)、J2EE(企业版)和 J2ME(微型版)。J2SE 为桌面应用程序提供了强大的支持;J2EE 则用于企业级应用开发,推动了电子商务和 Web 应用的发展;J2ME 专注于移动设备和嵌入式系统的开发。

后续版本演进
Java 5 引入了泛型、增强的 for 循环、自动装箱和拆箱等重要特性,使编程更加便捷和高效。
Java 6 对性能和稳定性进行了优化。
Java 7 改进了异常处理、增强了 try-with-resources 语句等。
Java 8 带来了函数式编程的支持,如 Lambda 表达式和 Stream API,极大地改变了 Java 的编程风格和效率。

应用领域

  • Web 开发:许多大型网站和 Web 应用都基于 Java 构建,如 Spring、Spring Boot 等框架。
    • 例如,淘宝的部分服务就是使用 Java 开发的。
  • 移动开发:虽然在智能手机领域的份额有所下降,但在一些特定的移动设备和嵌入式系统中仍有应用。
    • 如一些智能家电的控制程序。
  • 企业级应用:在金融、电信、物流等行业,Java 被广泛用于构建核心业务系统。
    • 银行的交易处理系统常采用 Java 技术。

优势

  • 跨平台性:使得程序可以在不同操作系统上运行,减少了开发和部署的成本。
  • 面向对象:有助于构建结构清晰、易于维护和扩展的代码。
  • 丰富的类库:提供了大量的现成功能,加快开发速度。
  • 安全性高:有严格的安全机制,保障系统和数据的安全。

未来展望
尽管面临着其他新兴语言的竞争,但 Java 仍在不断演进和发展,通过持续的优化和创新,保持其在编程领域的重要地位。

总之,Java 在过去几十年中经历了不断的发展和完善,成为了一种成熟、稳定且广泛应用的编程语言。

二. 开发环境配置

下载JDK

首先我们需要下载 java 开发工具包 JDK,下载地址:Java Downloads | Oracle,

在下载页面中根据自己的系统选择对应的版本,本文以 Window 64位系统为例:

下载完之后,默认安装就行,一直下一步 .

java8的默认安装位置是:C:\Program Files (x86)\Java\jdk1.8.0_91。后面是版本号.

配置环境变量

右键我的电脑选择属性,

再打开的页面选择高级系统设置.

选择环境变量

在 "系统变量" 中设置 3 项属性,JAVA_HOME、PATH、CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。

注意:如果使用 1.5 以上版本的 JDK,不用设置 CLASSPATH 环境变量,也可以正常编译和运行 Java 程序。

例如:

Java_Home配置,

点击新建

  • 变量名:Java_Home
  • 变量值:jdk 的安装目录 ,可以点击游览目录选择

Path 配置

选择 Path ,点击 编辑 

新建 两个环境变量

  • 变量1:%Java_Home%\bin
  • 变量2:%Java_Home%\jre\bin

CLASSPATH 配置

这个在1.5 以上版本的 JDK没有影响.

也是新建

添加配置:

  • 变量名:CLASSPATH
  • 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

环境配置成功之后,在命令行输入 java, 会有以下输出

三. 编辑器选择

1.JetBrains

JetBrains 的 IDEA, 现在很多人开始使用了,功能很强大,下载地址:https://www.jetbrains.com/idea/download/

是收费的,原来还有个人开源项目的可以免费使用,现在不知道还有没有了.

2. Eclipse

Eclipse:另一个免费开源的 Java IDE,下载地址: ​​​​​​​Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects...

选择 Eclipse IDE for Java Developers

这个比较推荐,一开始练习用这个就行.先把代码跑起来.

3.vscode

下载vscode

Visual Studio Code - Code Editing. Redefined

安装 vscode插件

java extension pack

按快捷Ctrl+Shift+p ,然后在搜索框中输入create,并找到创建java项目

选择No build tools

然后选择项目所在的文件夹,输入项目名称.即可创建完毕.

四. 总结

Java 是一种广泛使用的面向对象编程语言,具有以下突出特点:

  1. 跨平台性:编写一次,可在多种操作系统上运行。
  2. 面向对象:强调封装、继承和多态,使代码结构清晰、易于维护。
  3. 安全性高:拥有严格的安全机制,能有效防止恶意攻击和数据泄露。
  4. 丰富的类库:提供大量现成的功能模块,提高开发效率。

配置 Java 环境变量

在 Windows 系统中配置 Java 环境变量的步骤如下:

  1. 下载并安装 JDK(Java Development Kit)。
  2. 右键点击“此电脑”,选择“属性”,再点击“高级系统设置”。
  3. 在弹出的“系统属性”窗口中,点击“环境变量”。
  4. 在“系统变量”中,新建“JAVA_HOME”变量,值为 JDK 的安装路径,例如:“C:\Program Files\Java\jdk1.8.0_XXX”。
  5. 编辑“Path”变量,在末尾添加“%JAVA_HOME%\bin”和“%JAVA_HOME%\jre\bin”。

配置完成后,在命令提示符中输入“java -version”,若能正确显示 Java 版本信息,则说明环境变量配置成功。

配置环境变量的目的是让系统能够在任何位置识别和执行 Java 相关命令,方便进行 Java 开发和运行 Java 程序。

例如,当您在命令行中运行 Java 编译器(javac)或 Java 虚拟机(java)时,系统会通过环境变量中配置的路径找到相应的可执行文件。

相关文章:

Java基础 - 简介和配置环境变量

目录 一. 简介 二. 开发环境配置 下载JDK 配置环境变量 Java_Home配置, Path 配置 CLASSPATH 配置 三. 编辑器选择 1.JetBrains 2. Eclipse 3.vscode 下载vscode 安装 vscode插件 四. 总结 一. 简介 Java 是由 Sun Microsystems 公司(后被 Oracle 收…...

水域救援装备的详细简介_鼎跃安全

水域救援行动需要救援人员配备全面、专业的装备,以应对各种复杂的水域环境和救援任务。水域救援套装应运而生,它集合了水域救援所需的各类关键装备,为救援人员提供全方位的保护和辅助,确保数援行动的高效与安全。 水域救援头盔&am…...

二、BIO、NIO、直接内存与零拷贝

一、网络通信编程基础 1、Socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,是一组接口,由操作系统提供; Socket将复杂的TCP/IP协议处理和通信缓存管理都隐藏在接口后面,对用户来说就是使用简单的接口进行网络应用编程…...

生成式AI的发展方向:Chat vs Agent

一、整体介绍 生成式AI作为人工智能领域的重要分支,近年来取得了显著进展,并在多个领域展现出巨大潜力。其核心在于通过机器学习和深度学习算法,从大量数据中学习规律和特征,进而生成具有创新性和多样性的文本、图像、音频和视频…...

吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.9-2.10

目录 第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第二周:机器学习策略(2)(ML Strategy (2))2.9 什么是端到端的深度学习?(What is end-to-end deep learning?&#x…...

变频空调介绍

直流变频空调:只有压缩机是直流变频的,而室外机风电机和室内机风电机都是定频的。 全直流变频空调:它的压缩机是直流变频的,并且室外机风机和室内机风机都是直流变频的。因为大三部件一个不漏,所以就叫做全直流变频。…...

C语言实现二叉树以及二叉树的详细介绍

目录 1.树概念及结构 1.1树的概念 1.2树的相关概念 1.3树的表示 2.二叉树概念及结构 2.1二叉树的概念 2.2特殊的二叉树 2.3二叉树的性质 2.4二叉树的存储结构 3.二叉树顺序结构--特殊的二叉树--堆及其实现 3.1堆的概念及结构 3.2堆的实现 3.2.1堆的结构 3.2.2堆…...

VScode:前端项目中yarn包的安装和使用

一、首先打开PowerShell-管理员身份运行ISE 输入命令: set-ExecutionPolicy RemoteSigned 选择“全是”,表示允许在本地计算机上运行由本地用户创建的脚本,没有报错就行了 二、接着打开VScode集成终端,安装yarn插件 输入 npm ins…...

cmake configure_package_config_file指令详解

在 CMake 中,configure_package_config_file 命令用于生成包配置文件(Package Configuration File),这些文件用于指定如何使用和链接某个库或工具。通常情况下,这些文件用于支持 CMake 的 find_package 命令来查找和加…...

准备跳槽了(仍然底层为主,ue独立游戏为辅)

思考再三,准备跳槽了。 一、跳槽原因: 今年经济形势非常不好。那我为什么还要跳槽呢?因为干不下去了。公司是末位淘汰制,而我绩效垫底了。给我的整改措施中,部门经理让我三个月搞定60个bug,我觉得简直是送…...

汽车免拆诊断案例 | 卡罗拉急加速抖动故障排除

车型信息 2017年改款卡罗拉,排量1.2T,行驶里程48800公里。 故障现象 车辆不管在什么状态下,只要是平缓加速,都不会有抖动。车辆静止时,急加速时,也不会有抖动。但是车速达40公里/小时以上,急加…...

【JAVA】深入理解Hutool中的Pair、Triple和Tuple:组合数据的新方式,方法返回多个值,嘎嘎香,谁用谁知道,比原生好用更强大

Hutool 是一个开源的 Java 工具库,提供了丰富且实用的功能,旨在减少 Java 程序员在日常开发中重复造轮子的工作。在 Hutool 中,Pair、Triple 和 Tuple 是三种用于组合和存储不同数量相关联数据的类。以下是这三个类的简介: 1、添…...

modulepreload 对性能的影响

一、正面影响 减少加载时间: modulepreload 可以让浏览器提前下载模块脚本,减少页面加载时间,特别是对于依赖较多的复杂应用。这种预加载可以让浏览器在遇到 modulepreload 链接时立即开始下载,而不是等到实际需要时才下载提升用…...

问题:向上对齐对象的快捷键是: #学习方法#笔记

问题:向上对齐对象的快捷键是: A、T B、L C、R D、W 参考答案如图所示...

C# 4.List

comboBox使用的下拉框 Lsit 列表 1 创建List对象 List<string> list new List<string>(); 2 Add给list 添加元素 list.Add("吃饭"); list.Add("睡觉"); list.Add("打豆豆"); 3 删除一个元素 list.Remove("吃饭"); // 删…...

界面控件DevExpress Blazor UI v24.1 - 发布全新TreeList组件

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验&#xff0c;这个UI自建库提供了一套全面的原生Blazor UI组件&#xff08;包括Pivot Grid、调度程序、图表、数据编辑器和报表等&#xff09;。 DevExpress Blazor控件目前已经升级…...

docker默认存储地址 var/lib/docker 满了,换个存储地址操作流程

1. 查看docker 存储地址 docker info如下 var/lib/docker2、查看内存大小 按需执行 df -h 找超过100M的大文件 find / -type f -size 100M -exec ls -lh {} \; df -Th /var/lib/docker 查找这个文件的容量 df -h 查找所有挂载点 du -hs /home/syy_temp/*1、df -h 2、sud…...

SpringMVC的底层工作原理?

1.用户发送请求至前端控制器DispatcherServlet. 2.DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器 3.HandlerMapping找到具体的处理器(可以根据 xml 配置、注解进行查找&#xff09;&#xff0c;生成处理器及处理器拦截器(如果有则生成)一并返回给DispatcherSe…...

PyTorch 深度学习实践-处理多维特征的输入

视频指路 参考博客笔记 参考笔记二 通过多个线性模型来模拟非线性的空间变换&#xff0c;矩阵计算就是不同维度之间的空间转换 说明&#xff1a;1、乘的权重(w)都一样&#xff0c;加的偏置(b)也一样。b变成矩阵时使用广播机制。神经网络的参数w和b是网络需要学习的&#xff0c…...

常见逻辑漏洞举例

文章目录 简介用户名可枚举验证码可绕过/验证码回传越权访问任意密码修改验证码回传订单金额任意修改URL跳转漏洞短信轰炸找回密码还有很多逻辑漏洞&#xff0c;其实并没有什么技巧&#xff0c;要分析清楚他的业务逻辑&#xff0c;可能很多正常的流程中就存在着逻辑漏洞。 简介…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一&#xff1a;yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因&#xff0c;后面把yaml.safe_dump直接替换成yaml.dump&#xff0c;确实能保存&#xff0c;但出现乱码&#xff1a; 放弃yaml.dump&#xff0c;又切…...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞&#xff0c;需构建多层防御体系&#xff0c;结合技术验证、存储隔离与权限控制&#xff1a; &#x1f512; 一、基础防护层 前端校验&#xff08;仅辅助&#xff09; 通过JavaScript限制文件后缀名&#xff08;白名单&#xff09;和大小&#xff0c;提…...