【1】Java 零基础入门学习(小白专用)
【1】Java 零基础入门学习
📚博客主页:代码探秘者
✨专栏:《JavaSe从入门到精通》 其他更新ing…
❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
【文章目录】
文章目录
- 【1】Java 零基础入门学习
- 1.1 什么是程序
- 1.2 Java诞生小故事
- 1.3 Java技术体系平台
- 1.4 Java的重要特点
- 【了解】解释型和编译型语言
- 1.5 Java快速入门
- 1.6 Java运行机制及运行过程
- 1.7 JDK、JRE和JVM(重点)
- 【了解】命令行里的编译和运行
- 1.8 配置环境变量PATH(重要)
- 1.9 关键字
- 1.10 标识符
- 1.11 Java转义字符
- 1.12 Java代码规范
- 1.13 Java开发注意事项和细节说明
- 1.14 初学Java易犯错误
- 1.15 注释
- 【了解】javadoc
1.1 什么是程序
程序是一系列有序指令的集合,用于让计算机执行特定的操作或解决问题。例如,一个简单的程序可以要求计算机完成1+1的计算并将结果显示在屏幕上。
1.2 Java诞生小故事
Java是由Sun Microsystems公司开发的编程语言,最初名为Oak。Java的创始人是James Gosling。Java以其跨平台特性和安全性而闻名,广泛应用于企业级应用和移动应用开发。
1.3 Java技术体系平台
Java技术体系平台包括Java SE(标准版)、Java EE(企业版)和Java ME(微型版)。Java SE是Java的基础,提供了基本的编程功能;Java EE用于构建企业级应用;Java ME用于嵌入式设备和移动设备。
1.4 Java的重要特点
Java的主要特点包括跨平台性、面向对象、垃圾回收、安全性和多线程支持。Java的跨平台性得益于Java虚拟机(JVM),使得Java程序可以在任何支持JVM的平台上运行。
- Java虚拟机(JVM):JVM就像一个翻译官,将Java代码翻译成计算机能理解的指令,让Java程序能在不同平台上运行。
- 面向对象(oop):面向对象编程就像搭积木,通过定义类和对象来构建复杂的程序。
- 垃圾回收:垃圾回收就像清洁工,自动清理不再使用的对象,释放内存空间。
- **解释和编译并存:**具有解释型语言特征,同时需要先编译,生成字节码文件,再由java解释器执行
【了解】解释型和编译型语言
区别是:
解释性语言
- 编译后的代码,不能直接被机器执行,需要解释器来执行,
- 通过解释器一行一行解释成机器代码再执行。python
编译性语言,
- 编译后的代码, 可以直接被机器执行, c /c++
1.5 Java快速入门
Java 程序,需要三个步骤:编写程序,编译程序,运行程序
public class Main {public static void main(String[] args) {System.out.println("Hello world!");}
}
通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:
源文件(扩展名为.java)*:源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个 类。类的内容必须包含在花括号里面。
类:类中带有一个或多个方法。方法必须在类的内部声明。
方法:在方法的花括号中编写方法应该执行的语句。
总结:类存在于源文件里面;方法存在于类中;语句存在于方法中。 注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。
1.6 Java运行机制及运行过程
Java程序的运行机制依赖于Java虚拟机(JVM)。JVM负责解释和执行Java字节码,确保程序能够在不同的平台上运行。Java程序的运行过程包括编译和执行两个阶段。
1.7 JDK、JRE和JVM(重点)
【JVM介绍】
基本介绍
- 1)JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK中.
- 2)对于不同的平台,有不同的虚拟机。
- 3)Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”(就是说一次编译好的.class文件,可以在多个系统运行)
- .class文件->字节码文件
【解释】
- JDK(Java Development Kit)是Java开发工具包,包含了JRE和Java开发工具。
- JRE(Java Runtime Environment)是Java运行环境,包含了JVM和Java核心类库。
- JVM(Java Virtual Machine)是Java虚拟机,负责执行Java字节码(把字节码翻译成机器码,方便执行)。
【示意图】:
-
安装JDK一般就包括JRE了
-
如果只想运行开发好的.class文件,安装JRE就行
【了解】命令行里的编译和运行
比如要执行Test.java
// 编译 生成字节码文件
javac Test.java
// 运行
java Test
1.8 配置环境变量PATH(重要)
【】为什么安装?
配置环境变量PATH是为了让操作系统能够找到Java开发工具和JVM。通过配置PATH,可以在任何目录下执行Java命令。
【1】官网安装jdk
【2】打开高级系统设置
【3】按照下面流程
【4】Win+R 输入cmd,打开命令行窗口,输入下面命令
java -version
安装成功!
1.9 关键字
关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字
注意:用户不能使用关键字定义标识符
1.10 标识符
标识符:在程序中由用户给类名、方法名或者变量所取的名字。
1.11 Java转义字符
Java中的转义字符用于在字符串中表示特殊字符,如\n
表示换行符,\t
表示制表符。这些字符在控制台输出时具有特定的功能。
\t :一个制表位,实现对齐的功能
\n :换行符
\\:一个\
\":一个"
':一个'
\r :一个回车System.out.println("中国\r北京");
1.12 Java代码规范
Java代码规范包括使用Javadoc注释、保持代码的缩进和格式、使用UTF-8编码等。这些规范有助于提高代码的可读性和可维护性。
1.13 Java开发注意事项和细节说明
在Java开发中,需要注意代码的规范性和可读性。例如,使用合适的命名规范、添加必要的注释、保持代码的整洁等。
1.14 初学Java易犯错误
初学者在Java开发中常见的错误包括语法错误、逻辑错误和资源管理不当等。通过学习和实践,可以逐步避免这些错误。
1.15 注释
Java中的注释分为
-
单行注释(
//
)、 -
多行注释(
/* ... */
) -
文档注释(
/** ... */
)。
注释用于解释代码的功能和逻辑,帮助他人理解代码。
【了解】javadoc
相关文章:
【1】Java 零基础入门学习(小白专用)
【1】Java 零基础入门学习 📚博客主页:代码探秘者 ✨专栏:《JavaSe从入门到精通》 其他更新ing… ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏作者水…...
《Python实战进阶》No26: CI/CD 流水线:GitHub Actions 与 Jenkins 集成
No26: CI/CD 流水线:GitHub Actions 与 Jenkins 集成 摘要 持续集成(CI)和持续部署(CD)是现代软件开发中不可或缺的实践,能够显著提升开发效率、减少错误并加速交付流程。本文将探讨如何利用 GitHub Actio…...
算力100问☞第92问:为什么各地热衷建设算力中心?
目录 1、宏观分析 2、政府角度分析 3、投资者角度分析 在数字化浪潮中,各地对算力中心建设的热情高涨,这一现象背后潜藏着诸多深层次的原因,涵盖了经济、科技、社会等多个维度,且彼此交织,共同驱动着这一发展趋势。 1、宏观分析 从经济结构转型的底层逻辑来看,全球经…...
w266农产品直卖平台的设计与实现
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
OpenLayers集成天地图服务开发指南
以下是一份面向GIS初学者的OpenLayers开发详细教程,深度解析代码: 一、开发环境搭建 1.1 OpenLayers库引入 <!-- 使用CDN引入最新版OpenLayers --> <link rel"stylesheet" href"https://cdn.jsdelivr.net/npm/ollatest/ol.c…...
1、双指针法
关于每个知识点的例题 可以自己看力扣标准题解。也可以在哔哩哔哩上看。想看我的,就到github 看 - 库 ,介绍里写的算法讲解那些,里面有知识点,有题库。题库,每天都发题,可能跟博客的进度不一样。因为我上传…...
程序算法基础
程序设计基本概念 程序和算法 人们做任何事情都有一定的方法和程序,如:春节联欢晚会的节目单、开会的议程等,都是程序。在程序的指导下,可以有秩序地、有效的完成每一项工作。随着计算机的问世和普及,“程序”逐渐专…...
JavaScript基础-删除事件(解绑事件)
在现代Web开发中,动态地添加和移除事件处理器是构建交互式网页的关键技能之一。虽然添加事件处理器相对直观,但了解如何有效地移除或“解绑”这些处理器同样重要。这不仅有助于优化性能,还能防止潜在的内存泄漏问题。本文将介绍几种方法来删除…...
Selenium Web UI自动化测试:从入门到实战
引言 在当今快速迭代的软件开发周期中,自动化测试已成为保障产品质量、提升测试效率的核心手段之一。而针对Web应用的UI自动化测试,Selenium作为最流行的开源工具之一,凭借其跨浏览器、多语言支持(Python、Java、C#等)…...
AT_abc398_f [ABC398F] ABCBA
题目大意 请点击这里查看原题面。给定一个字符串 S S S,找出以 S S S 为前缀的最短回文字符串。 思路 观察样例三,容易发现只要寻找到一个合适的“对称轴”即可。可以考虑枚举对称轴位置,判断然后得到长度并计算答案串。但是这样显然会超…...
RK3568开发笔记-egtouch触摸屏ubuntu系统屏幕校准
目录 前言 一、官方egtouch触摸屏驱动校准 二、ubuntu系统xinput_calibrator工具校准 2.1. 工具安装 2.2. xinput_calibrator命令校准 总结 前言 在基于 RK3568 平台进行开发,并使用 egtouch 触摸屏搭配 ubuntu20.04 系统时,准确的屏幕校准对于良好的用户交互体验至关重要…...
使用uniapp的vite版本进行微信小程序开发,在项目中使用mqtt连接、订阅、发布信息
1、保证在微信公众平台配置socket合法域名 2、项目中使用mqtt 建议在package.json中配置"mqtt": “4.1.0”,使用这个版本的依赖 页面中引入mqtt并配置连接 // ts-ignoreimport * as mqtt from mqtt/dist/mqtt.js; //要使用这里面的const state reacti…...
【软件系统架构】单体架构
一、引言 在软件开发的漫长历程中,架构的选择一直是至关重要的决策。单体架构作为一种经典的架构模式,曾经在许多项目中发挥着不可替代的作用。虽然如今微服务等架构逐渐流行,但理解单体架构对于深入掌握软件架构体系仍然有着重要意义。 二、…...
强大的AI网站推荐(第三集)—— AskO3
网站:AskO3 号称:由华为全球技术服务部(GTS)基于盘古大模型构建的领域知识大模型 博主评价:学习网络安全必备的网站,ICT服务领域顶级AI网站,如果学习HCIA,园区配置等,也可…...
高速网络包处理,基础网络协议上内核态直接处理数据包,XDP技术的原理
文章目录 预备知识TCP/IP 网络模型(4层、7层)iptables/netfilterlinux网络为什么慢 DPDKXDPBFPeBPFXDPXDP 程序典型执行流通过网络协议栈的入包XDP 组成 使用 GO 编写 XDP 程序明确流程选择eBPF库编写eBPF代码编写Go代码动态更新黑名单 预备知识 TCP/IP…...
C++智能指针详解
C智能指针详解 目录 智能指针概述为什么需要智能指针C标准库中的智能指针 std::unique_ptrstd::shared_ptrstd::weak_ptr 智能指针的实际应用智能指针的最佳实践总结 智能指针概述 智能指针是C中用于自动管理动态分配内存的对象,它们遵循RAII(资源获…...
git 设置保存密码 git保存密码
目录 长久保存密码 长久保存密码 git push和git pull都能使用。 git config --global credential.helper store 然后执行一次 git pull,Git 会提示输入用户名和密码, 输入后保存路径: ~/.git-credentials , Windows系统&…...
clamav服务器杀毒(Linux服务器断网状态下如何进行clamav安装、查杀)
ClamAV服务器杀毒(服务器断网状态也可以使用该方法) 服务器因为挖矿病毒入侵导致断网,进行离线的clamav安装并查杀 安装包下载网址:https://www.clamav.net/downloads 安装.deb,如果服务器处于断网状态,可以…...
深入剖析 RocketMQ 的 ConsumerOffsetManager
在消息队列系统中,准确记录和管理消息的消费进度是保障系统可靠性和数据一致性的关键。RocketMQ 作为一款高性能、高可用的分布式消息队列,其 ConsumerOffsetManager 组件在消费进度管理方面发挥着至关重要的作用。本文将详细介绍 ConsumerOffsetManager…...
一文了解 threejs 中.bin 文件与 .gltf 文件 和 .glb 文件三者之间的关系
文章目录 前言一、.bin 文件的作用二、.gltf 文件的作用三、.gltf 和 .bin 的关系四、.glb 文件的作用五、如何查看或编辑 .bin 文件六、总结 前言 在 GLTF 生态中,.bin 文件是 GLTF 格式的重要组成部分,通常与 .gltf 文件一起使用。以下是它们的详细关…...
蓝桥杯(N皇后问题)------回溯法
题目描述 在 NN 的方格棋盘放置了 N 个皇后,使得它们不相互攻击(即任意 2 个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成 45 角的斜线上。你的任务是,对于给定的 N,求出有多少种合法的放置方法…...
Linux系统中关闭Docker服务并禁止其开机自启 、docker 安装目录结构分析 | 【du -sh *】
文章目录 在Linux系统中关闭Docker服务并禁止其开机自启,具体步骤如下:适用于使用 systemd 的系统(如Ubuntu 16.04/CentOS 7等)适用于使用 SysVinit 或 Upstart 的旧版系统其他注意事项示例输出 linux 下 一条命令实现 统计各个目…...
免费下载 | 2025低空经济产业发展报告
低空经济概览 产业链条:低空经济产业链分为上游的低空经济基础设施(如空管系统、飞行基地等)、中游的低空制造(包括无人机、eVTOL、直升机等飞行器的设计、研发、生产)和下游的低空运营及飞行服务。低空经济以低空空域…...
单一职责原则开闭原则其他开发原则
一、单一职责原则(Single Responsibility Principle, SRP) 定义 一个类应该有且仅有一个引起它变化的原因(即一个类只负责一个职责)。 核心思想 高内聚:类的功能高度集中 低耦合:减少不同职责之间的相互影…...
(自用)yolo算法学习
1.难受中,看了教程过后无从下手啊 2.pycharm专业版成功就好 3.安装包时出先问题 (base) PS G:\pycharm\projects\yolo\yolov5> pip install opencv-python>4.1.1 Requirement already satisfied: opencv-python>4.1.1 in g:\anaconda\app\lib\site-packa…...
手机号登录与高并发思考
基础逻辑 一般来说这个验证码登录分为手机号、以及邮箱登录 手机号短信验证,以腾讯云SMS 服务为例: 这个操作无非对后端来说就是两个接口: 一个是获取验证码,这块后端生成6位数字expire_time 去推送到腾讯云sdk ,腾…...
Linux系统管理与编程07:任务驱动综合应用
兰生幽谷,不为莫服而不芳; 君子行义,不为莫知而止休。 [环境] windows11、centos9.9.2207、zabbix6、MobaXterm、Internet环境 [要求] zabbix6.0安装环境:Lamp(linux httpd mysql8.0 php) [步骤] 2 …...
12:表的内外连接
1. 内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。 新的内连接的语法: select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件; //通过…...
Mybatis的基础操作——03
写mybatis代码的方法有两种: 注解xml方式 本篇就介绍XML的方式 使用XML来配置映射语句能够实现复杂的SQL功能,也就是将sql语句写到XML配置文件中。 目录 一、配置XML文件的路径,在resources/mapper 的目录下 二、写持久层代码 1.添加mappe…...
在CentOS系统上运行Ruby on Rails应用的详细步骤
以下是AI生成,仅做备份。 1. 安装必要的依赖 在CentOS上,首先要安装一些基础的开发工具和依赖库,它们能确保后续的安装和运行过程顺利进行。 sudo yum update -y sudo yum install -y git gcc-c patch readline readline-devel zlib zlib-…...
《AI大模型趣味实战》第6集:基于大模型和RSS聚合打造个人新闻电台
《AI大模型趣味实战》第6集:基于大模型和RSS聚合打造个人新闻电台 摘要 本文将带您探索如何结合AI大模型和RSS聚合技术,打造一个功能丰富的个人新闻电台系统。我们将使用Python和PyQt5构建一个桌面应用程序,该应用可以从多个RSS源抓取新闻&…...
Unity 与 JavaScript 的通信交互:实现跨平台的双向通信
前言 在现代游戏开发和 Web 应用中,Unity 和 JavaScript 的结合越来越常见。Unity 是一个强大的跨平台游戏引擎,而 JavaScript 是 Web 开发的核心技术之一。通过 Unity 和 JavaScript 的通信交互,开发者可以实现从 Unity 到 Web 页面的功能扩…...
Sql Server 索引性能优化 分析以及分表
定位需优化语句 根据工具 skywking 或者开启慢查询日志 找到 慢sql 的语句根据 执行过程 来 判断 慢的原因 row filter 指标 看查了多少数据 比例多少 type 看下是单表 还是 join联表 比如 执行步骤多 没索引 优化方向 减少执行次数索引 没索引考虑加索引 加索引 尽量选择 i…...
Vue.js 模板语法全解析:从基础到实战应用
引言 在 Vue.js 的开发体系中,模板语法是构建用户界面的核心要素,它让开发者能够高效地将数据与 DOM 进行绑定,实现动态交互效果。通过对《Vue.js 快速入门实战》中关于 Vue 项目部署章节(实际围绕 Vue 模板语法展开)…...
【JVM】内存区域划分,类加载机制和垃圾回收机制
本篇内容为了解 JVM 的内存区域划分,类加载机制,垃圾回收机制。实际开发中几乎用不到,但为了某些情况我们又不得不了解。 目录 一、JVM中的内存区域划分 1.1 内存区域划分考点 二、JVM的类加载机制 2.1 类加载流程 2.2 类加载什么时候会…...
代码随想录算法训练营第十四天|替换数字
文档讲解:代码随想录 难度:easy 附:冲 passion!!!passion!!!passion!!! 替换数字 卡码网题目链接(opens new window) 给定一个字符串…...
Java实体类(Javabean)-编程规范
Java学习笔记-Java实体类详解 今天我们要聊一个看似简单却至关重要的知识点——Java实体类。就像快递小哥打包物件需要包装盒一样,在Java世界里处理数据也需要专门的容器,这就是我们的实体类! 一、实体类是什么?——程序的"…...
深入解析 Java Stream API:筛选子节点的优雅实现!!!
🚀 深入解析 Java Stream API:筛选子节点的优雅实现 🔧 大家好!👋 今天我们来聊聊 Java 8 中一个非常常见的操作:使用 Stream API 从 Map 中筛选出特定条件的元素。🎉 具体来说,我们…...
Vala编程语言教程-面向对象编程语基础
基础 尽管Vala语言并不强制你使用对象进行编程,但有些功能只能通过对象的方式来实现。因此,在大多数情况下,你肯定会希望采用面向对象的编程风格。与大多数当前的编程语言一样,为了定义你自己的对象类型,你需要编写一个…...
写读后感的时候,可以适当地引用书中的内容吗?
写读后感时,适当地引用书中的内容是可以的,这样可以更好地支持你的观点和感受,增强文章的可信度和说服力。 引用书中的内容可以帮助读者更好地理解你所讨论的主题和人物,同时也可以展示你对原著的深入理解和阅读能力。但是&#…...
计算机网络高频(二)TCP/IP基础
计算机网络高频(二)TCP/IP基础 1.什么是TCP/IP⭐⭐ TCP/IP是一种网络通信协议,它是互联网中最常用的协议之一。TCP/IP有两个基本的协议:TCP(传输控制协议)和IP(互联网协议)。 TCP(Transmission Control Protocol,传输控制协议)是一种可靠的、面向连接的协议。它负…...
蓝桥杯 之 数论
文章目录 习题质数找素数 LCM报数游戏 快速幂数字诗意 组合数与错位排序小蓝与钥匙 同余取模 数论,就是一些数学问题,蓝桥杯十分喜欢考察,常见的数论的问题有:取模,同余,大整数分解,素数&#x…...
无法写入文件:(FileSystemError): Error: EPERM: operation not permitted, open...)
问题分析: 当我想在Visual Studio Code中编写文件时,出现无法写入文件的错误,发现是权限的问题 解决办法: 右键应用图标 → 以管理员身份运行就可以了...
Java爬虫抓取B站视频信息
依赖 <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.17.2</version> <!-- 最新版可去官网查看 --></dependency>编码 public static List<VideoDto> parseSearchPage(Str…...
Sql Server数据迁移易错的地方
背景:之前一直台式机,毕业准备答辩了,要将代码搬到笔记本运行才方便些。这个Sql数据弄过来搞了好几个小时 还原备份报错:媒体簇的结构不正确。SQL Server 无法处理此媒体簇。 解决:升级到sql server版本比备份的那个高…...
七、服务器远程桌面报错
🌻🌻目录🌻🌻 一、远程桌面报错-用户账户限制(例如,时间限制)会阻止你登录。 一、远程桌面报错-用户账户限制(例如,时间限制)会阻止你登录。 原因是被远程的系…...
JAVA 之「优先队列」:大顶堆与小顶堆的实现与应用
Java 优先队列:大顶堆与小顶堆的实现与应用 文章目录 Java 优先队列:大顶堆与小顶堆的实现与应用一、什么是优先队列和堆?1. 优先队列2. 堆 二、Java PriorityQueue 基本用法1. 默认小顶堆示例代码输出 2. 实现大顶堆示例代码输出 三、大顶堆…...
压缩壳学习
壳是什么 壳就是软件的一个保护套,防止软件被进行反编译或被轻易地修改。 其作用就是为了保护软件。 常见的大类壳有压缩壳、加密壳、VM 壳的分类。 压缩壳顾名思义就是用来减小软件的文件大小的;加密壳,通过加密软件来保护软件ÿ…...
VRRP配置双出口ipsec隧道建立。
背景:在做毕设时,发现规划的不是那么合理,vrrp主备切换后,ipsec隧道并没有跟着切换到与备防火墙建立隧道,这是因为配置了双出口,路由的设计导致vrrp主备切换ipsec隧道没有跟着切换。 fw1为主,fw…...
机器学习——Numpy的神奇索引与布尔索引
在 NumPy 中,神奇索引(Fancy Indexing) 和 布尔索引(Boolean Indexing) 是两种强大的索引方式,用于从数组中提取特定元素或子集。以下是它们的详细说明和示例: 1. 神奇索引(Fancy In…...