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

Java入门笔记(1)

引言

 在计算机编程的广袤宇宙中,Java无疑是一颗格外耀眼的恒星。那么,Java究竟是什么呢? Java是美国Sun公司(Stanford University Network)在1995年推出的一门计算机高级编程语言。曾经辉煌的Sun公司在2009年被Oracle(甲骨文)公司收购,但Java的影响力并未因此而衰减。普遍认同Java的联合创始人之一詹姆斯·高斯林(James Gosling)为“Java之父”,他的智慧与创造力为Java的诞生奠定了基石。

为什么Java会被企业广泛采用呢?

其一,Java是世界上最流行的编程语言之一,在国内更是使用最为广泛。从TIOBE编程语言社区指数图表中可以清晰地看到,多年来Java始终保持在前列,其流行度经久不衰。其二,Java拥有完善的开发社区。在这个庞大的社区里,开发者们可以分享经验、交流技术、获取丰富的开源资源,极大地丰富了Java的功能。其三,Java具备出色的特性,它具有很好的可移植性,能够在不同的操作系统和硬件平台上稳定运行;安全可靠,为企业级应用提供了坚实的保障;性能也较为出色,能够满足各种复杂业务场景的需求。

学完Java能做什么呢?

其应用领域十分广泛。在大数据与云计算领域,Python和SQL占据重要地位,Java也可以,它可以用于构建分布式系统、处理海量数据等。对于桌面应用开发,Java提供了丰富的工具和框架,能够开发出功能强大、界面友好的应用程序。在移动端App开发方面,Kotlin和前端框架发展迅速,但Java仍然是重要的开发语言之一。科学计算领域,Java的高精度和稳定性使其成为不错的选择。游戏开发中,Java也有一席之地,能够打造出各种精彩的游戏。而在企业服务器端软件开发方面,Java更是占据了90%以上的市场份额,成为企业级应用开发的首选语言。

Java拥有三大技术平台

  • Java SE(Java Standard Edition)即标准版,是Java技术的核心和基础,它为Java应用程序的开发提供了基本的类库和运行环境。
  • Java EE(Java Enterprise Edition)即企业版,是一套针对企业级应用开发的解决方案,包含了众多用于开发大型、分布式、企业级应用的技术和规范,如Servlet、JSP、EJB等。
  • Java ME(Java Micro Edition)即小型版,主要针对移动设备应用,为手机、PDA等小型设备提供了Java应用开发的平台。
  • Java凭借其强大的功能、广泛的应用和丰富的技术生态,在编程语言的舞台上绽放着持久而耀眼的光芒,无论是编程新手还是经验丰富的开发者,都能在Java的世界中找到属于自己的机会和挑战。

安装jdk工具

  1. 下载 JDK
    • 打开 Oracle 官方网站的 Java 下载页面(Java Downloads | Oracle ),找到适合 Windows 系统的 JDK 版本(如 JDK 17 等),根据系统是 32 位还是 64 位选择对应的安装包下载。
    • 也可以选择 OpenJDK,一些开源组织提供的 OpenJDK 在功能上与 Oracle JDK 类似,可从 Adoptium(Home | Adoptium )等网站下载。
  2. 安装 JDK
    • 双击下载好的.exe 安装文件,按照安装向导提示操作,选择安装路径等参数,默认安装路径一般为 C:\Program Files\Java\jdk - <版本号> ,可自行修改。
    • 安装过程中可能会提示安装 JRE(Java Runtime Environment),可根据需要选择是否安装。
  3. 配置环境变量
    • 右键点击 “此电脑”,选择 “属性”,然后点击 “高级系统设置”。
    • 在弹出的 “系统属性” 窗口中,选择 “高级” 选项卡,点击 “环境变量”。
    • 在 “系统变量” 中,找到 “Path” 变量,点击 “编辑”。
    • 点击 “新建”,将 JDK 安装目录下的 “bin” 目录路径(如 C:\Program Files\Java\jdk - < 版本号 >\bin )添加进去。
    • 也可新建 “JAVA_HOME” 系统变量,变量值为 JDK 的安装目录(如 C:\Program Files\Java\jdk - < 版本号 > )。
  4. 验证安装:打开命令提示符(CMD),输入 “java -version”,若显示 JDK 的版本信息,则说明安装成功。

JDK的组成

JDK(Java Development Kit)即Java开发工具包,主要由以下部分组成:

1. Java虚拟机(JVM,Java Virtual Machine):是Java程序的运行核心,负责加载字节码文件,并将字节码解释或编译成机器码在不同操作系统上执行,提供内存管理、垃圾回收、安全检查等功能。

2. Java运行时环境(JRE,Java Runtime Environment):包含JVM、Java核心类库以及支持Java程序运行的其他组件。它是运行Java程序所必需的环境,即使不开发Java程序,仅运行Java程序也需安装JRE。

3. Java开发工具:

  •  编译器(javac):将Java源文件(.java)编译成字节码文件(.class)。
  •  解释器(java):负责运行编译后的字节码文件,启动JVM并执行其中的指令。
  • 调试器(jdb):用于调试Java程序,能设置断点、查看变量值、单步执行等,帮助开发者查找和解决代码中的错误。
  • 打包工具(jar):可将多个.class文件及相关资源文件打包成一个JAR(Java Archive)文件,便于程序的分发和部署。

4. Java类库:

  • 核心类库:提供了Java编程中常用的类和接口,像用于输入输出的java.io包、集合框架java.util包、网络编程的java.net包等,是开发Java程序的基础。
  • 扩展类库:除核心类库外,还有一些扩展功能的类库,可根据特定开发需求使用。

什么是Path环境变量?

用于配置程序的路径,方便我们在命令窗口的任意目录下启动该程序。

JDK安装时,关于环境变量的配置,需要注意什么?

  • 较新版本的JDK会自动配置PATH环境变量,较老的JDK版本则不会。
  • 建议还是自己配置一下“PATH”、“JAVA_HOME” 。  

IDEA企业开发工具简介以及安装

IntelliJ IDEA 是一款由 JetBrains 公司开发的强大集成开发环境,堪称 Java 开发者的得力助手。它拥有智能代码补全功能,能依据代码上下文精准预测补全内容,大幅提升编码效率。同时具备强大的代码分析与重构能力,可实时检测潜在问题并提供优化建议,方便团队协作开发。

IntelliJ IDEA 分为社区版和旗舰版。社区版免费开源,适合初学者和小型项目开发;旗舰版功能更全面,支持多种技术框架,适用于企业级大型项目。它支持 Windows、macOS、Linux 等多平台,还有丰富插件可拓展功能,满足不同开发者的多样需求。

  1. 下载安装包
    • 访问 JetBrains 官方网站(IntelliJ IDEA – the Leading Java and Kotlin IDE ),在页面中找到 IntelliJ IDEA 下载选项。
    • IDEA 分为社区版(Community)和旗舰版(Ultimate)等,社区版免费开源,旗舰版功能更强大,适合企业开发,有试用期限,根据需求选择下载。
    • 点击下载按钮,获取.exe 格式的安装包。
  2. 安装程序
    • 下载完成后,双击安装包文件启动安装向导。
    • 按照向导提示操作,如选择安装路径(默认一般在 C:\Program Files\JetBrains\IntelliJ IDEA <版本号> ,可自定义修改)、选择创建桌面快捷方式等选项。
    • 点击 “Next” 逐步完成安装,最后点击 “Finish” 完成安装过程。
  3. 首次启动与配置
    • 安装完成后,双击桌面的 IntelliJ IDEA 图标启动软件。
    • 首次启动时,会弹出配置向导,可选择是否导入之前版本的设置等。
    • 接着会提示选择主题(如 Darcula、IntelliJ 等),根据喜好选择。
    • 之后软件会自动检测电脑上已安装的 JDK,如果没有检测到合适的 JDK,需要手动配置(在后续创建项目或在设置中配置)。

相关文章:

Java入门笔记(1)

引言 在计算机编程的广袤宇宙中&#xff0c;Java无疑是一颗格外耀眼的恒星。那么&#xff0c;Java究竟是什么呢&#xff1f; Java是美国Sun公司&#xff08;Stanford University Network&#xff09;在1995年推出的一门计算机高级编程语言。曾经辉煌的Sun公司在2009年被Oracle&…...

设计模式的艺术-开闭原则

原则使用频率图&#xff08;仅供参考&#xff09; 1.如何理解开闭原则 简单来说&#xff0c;开闭原则指的是 “对扩展开放&#xff0c;对修改关闭”。 当软件系统需要增加新的功能时&#xff0c;应该通过扩展现有代码的方式来实现&#xff0c;而不是去修改已有的代码。 例如我…...

【C语言系列】深入理解指针(3)

深入理解指针&#xff08;3&#xff09; 一、字符指针变量二、数组指针变量2.1数组指针变量是什么&#xff1f;2.2数组指针变量怎么初始化&#xff1f; 三、二维数组传参的本质四、函数指针变量4.1函数指针变量的创建4.2函数指针变量的使用4.3两段有趣的代码4.4 typedef关键字 …...

three.js+WebGL踩坑经验合集:写在前面的话

笔者从2023年初开始参与一个基于three.js引擎的web项目的开发工作。本打算2024年春节就把期间踩过的坑写到博客上分享给大家&#xff0c;然而哪怕本专栏的各种构思和内容已经在笔者的脑海里翻滚了一年&#xff0c;得了严重拖延症患者的我还是一直拖到了现在&#xff0c;实在惭愧…...

利用Linux的工作队列(Workqueue)实现中断下半部的处理

本文代码在哪个基础上修改而成&#xff1f; 本文是在博文 https://blog.csdn.net/wenhao_ir/article/details/145228617 的代码基础上修改而成。 关于工作队列(Workqueue)的概念 工作队列(Workqueue)可以用于实现Linux的中断下半部的&#xff0c;之前在博文 https://blog.cs…...

LabVIEW处理复杂系统和数据处理

LabVIEW 是一个图形化编程平台&#xff0c;广泛应用于自动化控制、数据采集、信号处理、仪器控制等复杂系统的开发。它的图形化界面使得开发人员能够直观地设计系统和算法&#xff0c;尤其适合处理需要实时数据分析、高精度控制和复杂硬件集成的应用场景。LabVIEW 提供丰富的库…...

spring-springboot -springcloud

目录 spring: 动态代理: spring的生命周期(bean的生命周期): SpringMvc的生命周期: SpringBoot: 自动装配: 自动装配流程: Spring中常用的注解&#xff1a; Spring Boot中常用的注解&#xff1a; SpringCloud: 1. 注册中心: 2. gateway(网关): 3. Ribbon(负载均…...

DRG/DIP 2.0时代下基于PostgreSQL的成本管理实践与探索(下)

五、数据处理与 ETL 流程编程实现 5.1 数据抽取与转换(ETL) 在 DRG/DIP 2.0 时代的医院成本管理中,数据抽取与转换(ETL)是将医院各个业务系统中的原始数据转化为可供成本管理分析使用的关键环节。这一过程涉及从医院 HIS 系统中抽取患者诊疗数据,并对其进行格式转换、字…...

打造本地音乐库

文章目录 存储介质硬盘&#xff08;NAS&#xff09;媒体播放器&#xff08;可视MP3、MP4&#xff09;实体介质&#xff08;CD光盘、黑胶片&#xff09;注意事项为什么不使用在线音乐&#xff08;App&#xff09;和网盘打造一套HiFi系统的成本非常高 获取音乐正版音乐途径免费音…...

【2024 - 年终总结】叶子增长,期待花开

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言论博客创作保持2024的记录清单博客科研开源工作生活 总结与展望互动致谢参考 前言…...

python 统计相同像素值个数

目录 python 统计相同像素值个数 最大值附近的值 python 统计相同像素值个数 import cv2 import numpy as np import time from collections import Counter# 读取图像 image cv2.imread(mask16.jpg)# 将图像转换为灰度图像 gray_image cv2.cvtColor(image, cv2.COLOR_BGR2…...

蓝卓“1+2+N”智慧工厂架构,让工业智能更简单

面对复杂的工业环境、海量的数据以及多样化的业务需求&#xff0c;如何实现智能化转型&#xff0c;让工业智能触手可及&#xff0c;成为了众多企业面临的难题。蓝卓以创新精神为引领&#xff0c;推出了“12N”智慧工厂架构&#xff0c;旨在简化工业智能的实现路径&#xff0c;让…...

12、MySQL锁相关知识

目录 1、全局锁和表锁使用场景 2、行锁的意义 3、为什么说间隙锁解决了快照的幻读? 4、RR隔离级别产生幻读的场景 5、详解元数据锁(MDL)作用以及如何减少元数据锁 6、出现死锁场景 7、查看MySQL锁情况 8、自增锁 1、全局锁和表锁使用场景 全局锁 备份数据库:当需要…...

某大厂一面:HashMap 的put方法具体做了哪些操作

HashMap 的 put 方法是一个常用的操作&#xff0c;它将一个键值对插入到哈希表中。下面是 put 方法执行的详细流程&#xff0c;包括各个步骤的解释&#xff0c;并附上相应的代码片段。 1. 检查键是否为 null 如果传入的键为 null&#xff0c;HashMap 会特别处理这种情况&…...

WPF基础 | 深入 WPF 事件机制:路由事件与自定义事件处理

WPF基础 | 深入 WPF 事件机制&#xff1a;路由事件与自定义事件处理 一、前言二、WPF 事件基础概念2.1 事件的定义与本质2.2 常见的 WPF 事件类型 三、路由事件3.1 路由事件的概念与原理3.2 路由事件的三个阶段3.3 路由事件的标识与注册3.4 常见的路由事件示例 四、自定义事件处…...

精选100+套HTML可视化大屏模板源码素材

大屏数据可视化以大屏为主要展示载体的数据可视化设计。 “大面积、炫酷动效、丰富色彩”&#xff0c;大屏易在观感上给人留下震撼印象&#xff0c;便于营造某些独特氛围、打造仪式感。 原本看不见的数据可视化后&#xff0c;便能调动人的情绪、引发人的共鸣。 使用方法&…...

如何使用Python爬虫按关键字搜索AliExpress商品:代码示例与实践指南

在电商领域&#xff0c;能够按关键字搜索并获取商品信息对于市场分析、选品和竞品研究至关重要。AliExpress&#xff08;速卖通&#xff09;作为全球知名的跨境电商平台&#xff0c;提供了丰富的商品数据。以下将详细介绍如何使用Python爬虫按关键字搜索AliExpress商品&#xf…...

No.36 学习 | Python 函数:从基础到实战

最近我在学 Python 编程&#xff0c;今天可算是狠狠钻研了一把 Python 里的函数&#xff0c;感觉脑袋里的知识又充实了不少&#xff0c;赶紧来记一记。 一、Python函数基础概念 &#xff08;一&#xff09;pass语句&#xff1a;代码块的“占位符” 在编写代码时&#xff0c;有…...

Unity常用特性(Attribute)用法

一.UnityEngine命名空间 1.[Header(string)] inspector面板上给显示的字段上加一个描述 通常情况下&#xff0c;用于在 Inspector 窗口中创建字段的逻辑分组 public class AttributeTest : MonoBehaviour {[Header("public_field_num")]public int num; }2.[Tool…...

VUE对接deepseekAPI调用

1.先去开放平台注册账号申请api key。开放平台&#xff1a;https://platform.deepseek.com/api_keys 2.你的项目需要有发送请求的axios或者自己写。 npm install axios # 或 yarn add axios 3.创建 API 调用函数 在 Vue 项目中&#xff0c;通常会将 API 调用的逻辑封装到一个…...

【Postman 接口测试】接口测试基础知识

在软件开发与测试领域&#xff0c;接口测试是保障软件质量的关键环节之一&#xff0c;而 Postman 作为一款功能强大且广泛使用的接口测试工具&#xff0c;能帮助我们高效地进行接口测试工作。下面&#xff0c;我们将详细介绍接口测试的基础知识&#xff0c;包括接口的认识、接口…...

谷粒商城——商品服务-三级分类

1.商品服务-三级分类 1.1三级分类介绍 1.2查询三级分类查询-递归树型结构数据获取 1.2.1导入数据pms_catelog.sql到数据表pms_category 1.2.2一次性查出所有分类及子分类 1.2.2.1修改CategoryController.java /*** 查出所有分类以及子分类&#xff0c;以树形结构组装起来*/R…...

视觉语言模型 (VLMs):跨模态智能的探索

文章目录 一. VLMs 的重要性与挑战&#xff1a;连接视觉与语言的桥梁 &#x1f309;二. VLMs 的核心训练范式&#xff1a;四种主流策略 &#x1f5fa;️1. 对比训练 (Contrastive Training)&#xff1a;拉近正例&#xff0c;推远负例 ⚖️2. 掩码方法 (Masking)&#xff1a;重构…...

HarmonyOS NEXT:华为分享-碰一碰开发分享

随着科技的不断进步&#xff0c;智能手机和智能设备之间的互联互通变得越来越重要。华为作为科技行业的领军企业&#xff0c;一直致力于为用户提供更加便捷、高效的使用体验。HarmonyOS NEXT系统的推出&#xff0c;特别是其中的“碰一碰”功能&#xff0c;为用户带来了前所未有…...

宝塔Linux+docker部署nginx出现403 Forbidden

本文主要讲述了宝塔docker部署nginx出现403 Forbidden的原因&#xff0c;以及成功部署前端的方法步骤。 目录 1、问题描述2、问题检测2.1 检测监听端口是否异常2.2 检测Docker容器是否异常2.2.1 打开宝塔Linux的软件商店&#xff0c;找到Docker管理器&#xff0c;查看前端容器是…...

软件测试丨Redis 的数据同步策略以及数据一致性保证

Redis 以其键值存储的方式&#xff0c;为开发者提供了数据快速存取的能力。它不仅支持丰富的数据结构&#xff0c;如字符串、哈希、列表、集合等&#xff0c;而且提供了高效的数据同步与一致性保障机制。正因为如此&#xff0c;Redis 被广泛应用于缓存、消息队列、实时数据分析…...

C语言-运算符

1. 按位与运算符&#xff08;&&#xff09; 按位与运算符对两个整数的每一位执行“与”操作。只有当两个相应位都为 1 时&#xff0c;结果才为 1 &#xff1b;否则为 0。 // 示例 int a 5; // 二进制: 0101 int b 3; // 二进制: 0011 int result a & b; …...

困境如雾路难寻,心若清明步自轻---2024年创作回顾

文章目录 前言博客创作回顾第一次被催更第一次获得证书周榜几篇博客互动最多的最满意的引发思考的 写博契机 碎碎念时也运也部分经验 尾 前言 今年三月份&#xff0c;我已写下一篇《近一年多个人总结》&#xff0c;当时还没开始写博客。四月份写博后&#xff0c;就顺手将那篇总…...

表格标签基本使用

表格主要用于显示、展示数据&#xff0c;因为它可以让数据显示的非常的规整&#xff0c;可读性非常好。特别是后台展示数据的时候&#xff0c;能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的教据表现得很有条理。 1.<table></table>是用于定义表格…...

【学术会议论文投稿】深度解码:机器学习与深度学习的界限与交融

目录 一、定义与起源&#xff1a;历史长河中的两条轨迹 二、原理差异&#xff1a;从浅层到深层的跨越 三、代码解析&#xff1a;实战中的机器学习与深度学习 机器学习示例&#xff1a;线性回归 深度学习示例&#xff1a;卷积神经网络(CNN) 四、应用差异&#xff1a;各自领…...