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 是一种广泛使用的面向对象编程语言,具有以下突出特点:
- 跨平台性:编写一次,可在多种操作系统上运行。
- 面向对象:强调封装、继承和多态,使代码结构清晰、易于维护。
- 安全性高:拥有严格的安全机制,能有效防止恶意攻击和数据泄露。
- 丰富的类库:提供大量现成的功能模块,提高开发效率。
配置 Java 环境变量
在 Windows 系统中配置 Java 环境变量的步骤如下:
- 下载并安装 JDK(Java Development Kit)。
- 右键点击“此电脑”,选择“属性”,再点击“高级系统设置”。
- 在弹出的“系统属性”窗口中,点击“环境变量”。
- 在“系统变量”中,新建“JAVA_HOME”变量,值为 JDK 的安装路径,例如:“C:\Program Files\Java\jdk1.8.0_XXX”。
- 编辑“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创建高影响力的用户体验,这个UI自建库提供了一套全面的原生Blazor UI组件(包括Pivot Grid、调度程序、图表、数据编辑器和报表等)。 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 配置、注解进行查找),生成处理器及处理器拦截器(如果有则生成)一并返回给DispatcherSe…...
PyTorch 深度学习实践-处理多维特征的输入
视频指路 参考博客笔记 参考笔记二 通过多个线性模型来模拟非线性的空间变换,矩阵计算就是不同维度之间的空间转换 说明:1、乘的权重(w)都一样,加的偏置(b)也一样。b变成矩阵时使用广播机制。神经网络的参数w和b是网络需要学习的,…...
常见逻辑漏洞举例
文章目录 简介用户名可枚举验证码可绕过/验证码回传越权访问任意密码修改验证码回传订单金额任意修改URL跳转漏洞短信轰炸找回密码还有很多逻辑漏洞,其实并没有什么技巧,要分析清楚他的业务逻辑,可能很多正常的流程中就存在着逻辑漏洞。 简介…...
FastAPI 学习之路(五十九)封装统一的json返回处理工具
在本篇文章之前的接口,我们每个接口异常返回的数据格式都不一样,处理起来也没有那么方便,因此我们可以封装一个统一的json。 from fastapi import status from fastapi.responses import JSONResponse, Response from typing import Unionde…...
tg小程序前端-dogs前端源码分析
tg小程序前端-dogs前端源码分析 前端源码 index.html <!DOCTYPE html> <html lang="en"><head><script src="https://telegram.org/js/telegram-web-app.js" onload="window.Telegram.WebApp.expand(); window.Telegram.WebA…...
Linux——多路复用之select
目录 前言 一、select的认识 二、select的接口 三、select的使用 四、select的优缺点 前言 在前面,我们学习了五种IO模型,对IO有了基本的认识,知道了select效率很高,可以等待多个文件描述符,那他是如何等待的呢&a…...
探索.NET内存之海:垃圾回收的艺术与实践
简述 在.NET的广阔天地中,内存管理如同航海中的罗盘,指引着程序的稳健运行和性能的极致优化。作为软件工程师,我们时常在代码的海洋中航行,而内存管理则是确保航程顺畅的关键。本文将带您深入.NET的内存管理世界,一探垃…...
路由数据获取及封装方法
数据库设计 自联表 定义tree字段 public class LabelValue{public int label { get; set; }public string? value { get; set; }public List<LabelValue> children { get; set; }}获取路由方法 public Response<object> getMenuList() {Response<object>…...
Visual Studio Code 实现远程开发
Background 远程开发是指开发人员在本地计算机上进行编码、调试和测试,但实际的开发环境、代码库或应用程序运行在远程服务器上。远程开发的实现方式多种多样,包括通过SSH连接到远程服务器、使用远程桌面软件、或者利用云开发环境等。这里我们是使用VSCo…...
基于STM32设计的人体健康监测系统(华为云IOT)(189)
基于STM32设计的人体健康监测系统(华为云IOT)(189) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】整体构架【3】ESP8266模块配置【4】上位机开发思路【5】供电方式1.3 项目开发背景【1】选题的意义【2】可行性分析【…...
开源防病毒工具--ClamAV
产品文档:简介 - ClamAV 文档 开源地址:Cisco-Talos/clamav:ClamAV - 文档在这里:https://docs.clamav.net (github.com) 一、引言 ClamAV(Clam AntiVirus)是一个开源的防病毒工具,广泛应用…...
【网络】Socket编程
文章目录 正确理解端口号理解源IP地址和目的IP地址认识端口号端口号和进程ID 理解Socket网络字节序socket编程接口创建socket套接字bind绑定套接字listen建立监听accept接受连接connect建立连接sendto发送数据接收数据close关闭套接字 sockaddr结构体 正确理解端口号 理解源IP…...
【鸿蒙学习笔记】舜和酒店项目开发
这里写目录标题 前期准备1. 环境准备2. 开发工具准备 创建项目1. 使用 deveco-studio 创建 ShunHeHotel 项目2. 把ShunHeHotel 项目使用git进行版本控制3. 提交第1个commit,Alt0 → 输入commit message → 提交4. 查看已经提交的第一个提交5. gitcode 创建同名远程项…...
360如何做网站/中小企业网站制作
/*FileReader共有4种读取方法:1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。2.readAsBinaryString(file):将文件读取为二进制字符串3.readAsDataURL(file):将文件读取为Data URL4.readAsText(file, [encoding])࿱…...
wordpress 自定义主页/平台优化
在敏捷、DevOps盛行的时代,人们关注CI/CD、工具链,追求快速迭代,追求效率,但往往欲速则不达,因为忽视了架构设计和项目管理。 众所周知,开发速度越快,架构设计更要力求简单,以有利于…...
小企业网站建设哪里做得好/100个成功营销案例
http简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片…...
潍坊网站建设兼职/上海好的seo公司
java 并发与线程池 java并发包使用Executor框架来进行线程的管理,Executor将任务的提交与执行过程分开,直接使用Runnable表示任务。future获取返回值。ExecutorService 继承了Executor接口,提供生命周器的管理,包括运行࿰…...
网站开发流程博客/广告营销策划
引入模块的方式: 1. import 模块 2. from xxx import 模块 一、collections 模块 1.Counter() counter是一个计数器,主要用来计数,计算一个字符串中每个字符出现的次数 1 from collections import Counter 2 s "我要从南走到北…...
wordpress整体搬家/自媒体seo优化
基于MPP框架开发了demo展示应用,方案数据流如下图所示,简单说明一下. 1.支持一路sensor输入,四路输出. 2.第一路VIPP0输出YUV大小为1920*1080. 编码为H264main profile大小的压缩BitStream存盘。 3.第二路预览,源分辨率1920*10…...