- 博客(56)
- 收藏
- 关注
原创 JWT令牌(JSON Web Token)
JWT令牌(JSON Web Token)是一种基于JSON的开放标准(RFC 7519),用于在网络应用之间安全地传递信息。
2025-03-25 10:11:44
463
原创 乐观锁与悲观锁 学习笔记
悲观锁:假设冲突是常态,因此在操作数据时直接加锁,直到操作完成才释放锁。乐观锁:假设冲突是少数情况,因此在操作数据时不加锁,但在更新数据时检查数据是否被其他操作修改。悲观锁(Pessimistic Locking)是一种基于“悲观”假设的锁机制。它认为在并发环境中,数据冲突是常态,因此在操作数据时会先加锁,直到操作完成才会释放锁。这种方式类似于传统的关系型数据库中的锁机制,通过锁来防止其他线程或事务对数据的并发访问。
2025-03-14 13:21:15
823
原创 OpenCV:计算机视觉的基石与应用
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,自 1999 年由英特尔公司首次发布以来,已成为计算机视觉领域的基石工具。它支持多个操作系统,包括 Windows、Linux、macOS、Android 和 iOS,具有跨平台特性。OpenCV 提供了 Python、Java 和 MATLAB 等多种编程语言的接口,使得不同编程语言的开发者都能轻松使用。
2025-03-14 11:13:09
697
原创 YOLO系列模型从v1到v10的演进
从YOLOv1到YOLOv10,每个版本都在前一代的基础上进行了创新和改进,不断在速度与精度之间寻求更好的平衡。未来,随着技术的不断发展,YOLO系列有望在更多领域发挥更大的作用,为计算机视觉技术的发展做出更大贡献。
2025-03-13 10:48:44
764
原创 Git版本控制系统详解
Git是由Linus Torvalds在2005年创建的开源版本控制系统。它最初是为了解决Linux内核开发中的版本控制问题而设计的,现在已经成为全球开发者广泛使用的版本控制工具。Git的主要特点是分布式架构,每个开发者都有完整的代码仓库,这使得它在处理大型项目和团队协作时具有高效性和灵活性。Git是一个功能强大的版本控制系统,通过合理使用其常用指令,可以高效地管理项目代码的版本变更。无论是个人开发还是团队协作,掌握Git的基本操作和一些进阶技巧都是必不可少的。希望本文能够帮助你更好地理解和使用Git。
2025-03-13 09:35:52
1177
原创 Python编程基础精要
"""打招呼函数"""def greet(name) : """打招呼函数""" print(f"Hello, {name }!") greet("Alice") # 调用函数def greet(name) : """打招呼函数""" print(f"Hello, {name }!") greet("Alice") # 调用函数哎呀,光写Java了,好久没写python了,都忘光了。
2025-03-12 11:29:05
375
原创 深度学习与神经网络学习笔记
计划近期复习深度学习和神经网络,学习yolov10,deepsort算法,PYQT,opencv等计算机视觉相关知识。所以我会捡着用得到的学,没用的先放一边。通过训练多层网络结构对未知数据进行分类或回归。深度前馈网络、卷积神经网络CNN、循环神经网络RNN都是有监督学习。卷积神经网络(CNN)是一种专门用于处理图像、视频和音频等具有网格结构数据的深度学习模型。它通过卷积层提取局部特征,并利用池化层进行降维,最终通过全连接层进行分类或回归。CNN在计算机视觉和语音处理等领域取得了显著的成果。
2025-03-12 08:00:27
1278
原创 力扣热题 100:技巧专题经典题解析
异或运算的性质是:一个数异或自己为 0,一个数异或 0 为自己。因此,遍历数组,将所有元素异或在一起,最终结果就是只出现一次的数字。我们可以维护一个候选元素和其计数,遍历数组,如果当前元素与候选元素相同,则计数加 1,否则计数减 1。给定一个包含红色、白色和蓝色的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色的顺序排列。遍历数组,根据元素的值交换到相应的位置。给定一个包含 n + 1 个整数的数组,其中每个元素在 1 到 n 之间,至少存在一个重复元素。找到那个只出现一次的元素。
2025-03-11 09:57:18
1151
原创 力扣热题 100:多维动态规划专题经典题解析
以上就是力扣热题 100 中与多维动态规划相关的经典题目的详细解析,希望对大家有所帮助。在力扣(LeetCode)平台上,多维动态规划相关的题目是算法面试和练习中的重要部分。今天,我们就来详细解析多维动态规划专题中的几道经典题目,帮助大家更好地理解解题思路和技巧。一个机器人位于一个 m x n 网格的左上角,只能向下或向右移动,求到达右下角的不同路径数。,其中每个单元格包含一个非负整数,求从左上角到右下角的最小路径和。这道题主要考察二维动态规划的应用。,求它们的最长公共子序列的长度。
2025-03-11 08:02:23
1131
原创 力扣热题 100:动态规划专题经典题解析
在力扣(LeetCode)平台上,动态规划相关的题目是算法面试和练习中的重要部分。今天,我们就来详细解析动态规划专题中的几道经典题目,帮助大家更好地理解解题思路和技巧。我们可以将问题转化为背包问题,判断是否存在一个子集的和等于总和的一半。我们可以使用动态规划来记录字符串的每个位置是否可以被拆分。我们可以使用动态规划来记录每个房子能抢劫到的最大金额。我们可以使用动态规划来记录每个数的最少完全平方数数量。我们可以使用动态规划来记录到达每个台阶的方法数。我们可以使用动态规划来记录每个金额的最少硬币数。
2025-03-10 13:01:23
783
原创 力扣热题 100:贪心算法专题经典题解析
解释:在第 2 天(价格为 1)买入,在第 3 天(价格为 5)卖出,利润为 4。然后在第 4 天(价格为 3)买入,在第 5 天(价格为 6)卖出,利润为 3。我们可以先统计每个字符最后出现的位置,然后遍历字符串,维护当前区间的最远结束位置。当到达当前区间的最远结束位置时,记录区间长度,并开始新的区间。我们可以遍历数组,记录当前最低价格,并计算每天卖出的利润,累加所有正利润即可得到最大利润。数组中的每个元素表示在该位置可以跳跃的最大步数。,将字符串划分成若干个连续的区间,每个区间内的字符都是唯一的。
2025-03-10 08:01:17
1409
原创 力扣热题 100:堆专题经典题解析
以上就是力扣热题 100 中与堆相关的经典题目的详细解析,希望对大家有所帮助。在实际刷题过程中,建议大家多动手实践,理解解题思路的本质,这样才能更好地应对各种算法问题。在力扣(LeetCode)平台上,堆相关的题目是算法面试和练习中的重要部分。今天,我们就来详细解析堆专题中的几道经典题目,帮助大家更好地理解解题思路和技巧。我们可以使用一个哈希表来统计每个元素的频率,然后使用一个大小为。我们可以使用两个堆来维护数据流的中位数。设计一个数据结构,能够高效地添加整数和找到当前所有元素的中位数。
2025-03-09 18:40:12
836
原创 力扣热题 100:栈专题经典题解析
在实际刷题过程中,建议大家多动手实践,理解解题思路的本质,这样才能更好地应对各种算法问题。今天,我们就来详细解析栈专题中的几道经典题目,帮助大家更好地理解解题思路和技巧。我们可以使用两个栈,一个用于存储所有元素,另一个用于存储最小值。解释:最大面积的矩形由高度为 5 的柱子和其右侧的柱子形成,宽度为 2,面积为 5 * 2 = 10。我们可以使用两个栈,一个用于存储字符,另一个用于存储数字。给定一个经过编码的字符串,返回其解码后的字符串。,表示一组柱状图的高度,计算能够形成的矩形的最大面积。
2025-03-09 17:07:30
1001
原创 力扣热题 100:二分查找专题经典题解析
给定一个按非递减顺序排列的整数数组nums和一个目标值target,找出目标值在数组中的第一个和最后一个位置。如果目标值不存在,返回[-1, -1]。
2025-03-09 13:50:02
726
原创 力扣热题 100:回溯专题经典题解析
在力扣(LeetCode)平台上,回溯相关的题目是算法面试和练习中的重要部分。今天,我们就来详细解析回溯专题中的几道经典题目,帮助大家更好地理解解题思路和技巧。给定一个不含重复元素的整数数组 ,返回其所有可能的全排列。示例 1:输入:输出:这道题主要考察回溯算法的应用。我们可以使用回溯算法来生成所有可能的排列。具体步骤如下:5. 复杂度分析时间复杂度 :O(n!),其中 n 是数组的长度。生成所有排列的时间复杂度为阶乘级别。空间复杂度 :O(n),递归调用栈的深度为 n。二、子集(题目 78)
2025-03-09 10:09:21
864
原创 力扣热题 100:图论专题经典题解析
给定一个二维网格,其中 ‘0’ 表示空单元格,‘1’ 表示新鲜橘子,‘2’ 表示腐烂橘子。每分钟,腐烂的橘子会使其上下左右的新鲜橘子腐烂。我们可以遍历网格中的每个元素,当遇到陆地时,将其标记为已访问,并递归或迭代地访问其相邻的陆地,直到所有相连的陆地都被访问过。我们可以将所有腐烂的橘子作为初始节点,同时进行 BFS,逐层腐烂相邻的新鲜橘子。在实际刷题过程中,建议大家多动手实践,理解解题思路的本质,这样才能更好地应对各种算法问题。给定一个由 ‘0’(水)和 ‘1’(陆地)组成的二维网格,计算其中岛屿的数量。
2025-03-08 18:54:49
1081
原创 力扣热题 100:二叉树专题进阶题解析(后7道)
二叉搜索树的性质是:左子树的所有节点值小于根节点值,右子树的所有节点值大于根节点值。前序遍历的第一个元素是根节点,在中序遍历中找到该根节点的位置,左边是左子树,右边是右子树。我们可以使用递归的方法,计算每个节点的最大贡献值(即该节点值加上左右子树的最大贡献值),并更新全局最大路径和。我们可以使用递归的方法,将右子树暂存,然后将左子树移动到右子树的位置,最后将暂存的右子树接到新的右子树的末尾。这道题主要考察二叉树的路径和计算。我们可以使用广度优先搜索(BFS)的方法,按层处理节点,并记录每层的最后一个节点。
2025-03-08 13:11:06
1153
原创 力扣热题 100:二叉树专题经典题解析(前8道)
二叉搜索树的性质是:左子树的所有节点值小于根节点值,右子树的所有节点值大于根节点值。我们可以使用递归的方法,同时传递当前节点的合法取值范围。我们可以使用递归的方法,在计算深度的同时更新最大直径。我们可以使用递归的方法,分别计算左右子树的深度,然后取最大值加 1(根节点)。我们可以使用递归的方法,选择数组的中间元素作为根节点,然后递归构建左右子树。最大深度是指从根节点到最远叶子节点的最长路径上的节点数。我们可以使用递归的方法,对每个节点交换其左右子树。给定一个升序排列的数组,将其转换为高度平衡的二叉搜索树。
2025-03-08 10:59:04
1407
原创 Jenkins学习笔记
Jenkins是一个开源的自动化服务器,主要用于持续集成(CI)和持续交付/部署(CD)。它允许我们自动化构建、测试和部署软件项目,从而提高软件开发和交付的效率和质量。简单来说,Jenkins就像是一个自动化工厂,只要把原材料(代码)放进去,它就能自动帮你把产品(可运行的软件)生产出来。Jenkins作为一款开源的自动化服务器,具有强大的功能和丰富的插件生态。通过学习Jenkins,可以有效地提高软件开发和交付的效率和质量。希望本篇学习笔记能够对大家有所帮助。
2025-03-06 21:21:26
1539
原创 RBAC 权限系统管理模型 学习笔记
在实际的开发和运维工作中,掌握 RBAC 模型能够帮助我们更好地设计和优化系统的权限架构,提高系统的安全性、可维护性和灵活性。然而,RBAC 模型并不是万能的,在面对一些复杂的业务场景时,可能需要对其进行扩展或结合其他权限管理模型来满足需求。当新员工入职时,只需将其分配到相应的角色中,即可快速获得该角色所具备的所有权限,无需逐个设置权限,提高了管理效率。总之,RBAC 权限系统管理模型作为权限管理领域的一个经典模型,是每一位从事信息系统相关工作的人员必须深入学习和掌握的知识。
2025-03-06 20:44:39
1306
原创 Docker学习笔记
Docker 是一个开源的容器化平台,允许开发者将应用程序及其所有依赖项打包到一个可移植的容器中,从而实现快速、可靠的应用部署。容器是一种轻量级的虚拟化技术,与传统的虚拟机相比,它具有更高的资源利用率和更快的启动速度。Docker 通过容器化技术,简化了应用的开发、部署和运行过程,极大地提高了开发效率和系统的可维护性。
2025-03-05 16:23:02
1151
原创 Jedis学习笔记
Jedis是Redis的Java客户端,以其高性能和易用性著称,支持多种数据类型及事务、管道、连接池等功能。它并非线程安全,多线程环境下需通过连接池使用。Jedis功能丰富,能满足多种场景需求。但需合理配置连接池、及时释放资源,并关注版本兼容性。
2025-03-05 15:54:40
739
原创 Spring Boot 学习笔记
Spring Boot 是由 Pivotal 团队开发的开源 Java 基础框架,用于简化 Spring 应用的开发过程。通过 Spring Boot,开发者可以轻松创建独立、生产级的 Spring 应用,而无需繁琐的配置和部署步骤。Spring Boot 内嵌了 Tomcat、Jetty 等主流 Web 容器,支持自动配置和依赖管理,极大地提高了开发效率。Spring Boot 是一个功能强大且易于使用的框架,通过简化配置和依赖管理,极大地提高了开发效率。
2025-03-04 16:49:33
806
原创 Redis 学习笔记
Redis(Remote Dictionary Server)是一个开源的高性能键值对存储数据库,由 Salvatore Sanfilippo 编写,使用 C 语言开发。它支持多种数据类型,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)、范围(ranges)、位图(bitmaps)、超日志(hyperloglogs)和地理空间索引(geospatial indexes)等。
2025-03-04 16:17:22
1346
原创 基于 Vue 和 SSM 的前后端分离项目实战:登录与注册功能实现
在现代 Web 开发中,前后端分离架构已经成为主流。前端负责页面展示和交互,后端提供数据接口,二者通过 API 进行通信。本文将通过一个实战小项目,详细介绍如何使用 Vue 搭建前端界面,以及使用 SSM 框架(Spring、SpringMVC、MyBatis)构建后端服务,实现登录和注册功能。我们将构建一个简单的用户管理系统,包含用户注册和登录功能。前端使用 Vue.js 框架,后端使用 SSM 框架进行开发。通过这个项目,可以深入理解前后端分离的开发模式以及各个框架的使用方法。
2025-03-03 22:35:29
972
1
原创 Linux常用指令学习笔记
在当今的IT领域,Linux系统因其开源、稳定、安全等特性,广泛应用于服务器、个人电脑以及各种嵌入式设备中。无论是系统管理员、开发人员还是普通用户,掌握Linux的常用指令都是必不可少的技能。本文将详细介绍Linux系统中的一些常用指令,帮助读者快速上手Linux操作。Linux系统提供了丰富而强大的指令集,通过掌握这些常用指令,用户可以高效地管理和操作Linux系统。无论是文件和目录操作、网络管理,还是系统服务管理,Linux都提供了简洁而高效的工具。
2025-03-03 11:12:30
1182
原创 Vue 3 新特性:对比 Vue 2 的重大升级
Vue.js 作为一款广受欢迎的前端框架,经历了从 Vue 2 到 Vue 3 的重大升级。Vue 3 在性能、API 设计、响应式系统等方面都带来了显著的改进和新特性。本文将详细介绍 Vue 3 的新语法和新特性,并与 Vue 2 进行对比,帮助开发者更好地理解 Vue 3 的优势和使用方法。Vue 3 相比 Vue 2,在性能、响应式系统、API 设计、新特性等方面都有显著的提升。Vue 3 的新语法和新特性使得代码更加简洁、灵活和高效,为开发者带来了更好的开发体验。
2025-03-01 19:57:40
939
原创 Vue.js 学习笔记
在前端开发领域,Vue.js 以其轻量级、易上手和高性能的特点,赢得了众多开发者的青睐。作为一名前端小白,我也踏上了学习 Vue.js 的旅程。本文将分享我的学习笔记,涵盖 Vue.js 的基础概念、常用指令、组件化开发、计算属性与侦听器、路由和状态管理等知识点,并附上代码示例,希望能帮助到同样在学习 Vue.js 的你。Vue.js 是一款用于构建用户界面的渐进式 JavaScript 框架。它采用直观的模板语法,降低了学习成本,并通过响应式数据绑定,实现了数据与视图的自动同步更新。
2025-03-01 19:48:24
1404
原创 力扣热题 100:链表专题经典题解析(后7道)
在力扣(LeetCode)平台上,链表相关的题目一直是考察重点,也是许多开发者提升算法能力的必刷内容。今天,我们就来详细解析链表专题中的几道经典题目,帮助大家更好地理解解题思路和技巧。
2025-02-28 14:30:08
793
原创 力扣热题 100:矩阵专题四道题详细解析(JAVA)
今天,我们就来详细解析热题 100 中与矩阵相关的四道题,帮助大家更好地理解解题思路和技巧。以上就是力扣热题 100 中与矩阵相关的四道题的详细解析,希望对大家有所帮助。我们可以从矩阵的右上角开始搜索,根据目标值与当前元素的大小关系,决定向左还是向下移动。我们可以先将矩阵转置,然后将每一行反转,从而实现顺时针旋转 90 度。的矩阵,每一行和每一列都按升序排列。解释:矩阵中有一个元素为 0,将其所在的行和列的所有元素都设置为 0。的矩阵,返回以螺旋顺序遍历矩阵的结果。的矩阵,将其顺时针旋转 90 度。
2025-02-26 20:10:12
977
原创 力扣热题 100:普通数组专题五道题详细解析(JAVA)
今天,我们就来详细解析热题 100 中与普通数组相关的五道题,帮助大家更好地理解解题思路和技巧。以上就是力扣热题 100 中与普通数组相关的五道题的详细解析,希望对大家有所帮助。我们可以使用哈希表来记录数组中出现的正整数,然后从 1 开始遍历,找到第一个未出现在哈希表中的正整数。我们可以先对区间列表按照区间的起始位置进行排序,然后遍历排序后的区间列表,合并重叠的区间。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。,请你合并所有重叠的区间,并返回合并后的区间列表。
2025-02-26 20:06:03
1323
原创 力扣热题 100:子串专题三道题详细解析(JAVA)
今天,我们就来详细解析热题 100 中与子串相关的三道题,帮助大家更好地理解解题思路和技巧。以上就是力扣热题 100 中与子串相关的三道题的详细解析,希望对大家有所帮助。在实际刷题过程中,建议大家多动手实践,理解解题思路的本质,这样才能更好地应对各种算法问题。我们可以使用前缀和来计算子数组的和,使用哈希表来存储前缀和出现的次数。我们可以使用双端队列来维护滑动窗口中的最大值。解释:滑动窗口中的最大值分别为 3、3、5、5、6、7。,找到每个滑动窗口中的最大值。和一个滑动窗口的大小。中所有字符的最小子串。
2025-02-25 21:24:26
980
原创 力扣热题 100:滑动窗口专题两道题详细解析(JAVA)
昨晚健身玩臂力器,干到自己下巴了,给眼镜干飞出去20米,下巴也破了个小口,就是因为我没有带好保护绳,长记性了。
2025-02-25 13:03:46
874
原创 Vue.js 学习笔记:TodoList 待办事项小案例
本次案例是一个基于 Vue.js 的待办事项应用,用户可以通过输入框添加待办事项,并对其进行删除或清空操作。整个应用界面简洁明了,功能实用,非常适合初学者学习和实践 Vue.js 的基本功能。通过这个待办事项应用的开发,我们不仅掌握了 Vue.js 的基本功能,如数据绑定、事件处理、条件渲染和列表渲染,还学会了如何通过简单的优化提升用户体验和代码质量。
2025-02-24 16:39:46
1397
原创 力扣热题 100:双指针专题四道题详细解析(JAVA)
今天,我们就来详细解析热题 100 中与双指针相关的四道题,帮助大家更好地理解解题思路和技巧。以上就是力扣热题 100 中与双指针相关的四道题的详细解析,希望对大家有所帮助。每个容器的宽度为 1,两个容器之间的距离为它们的下标之差。求能盛最多水的容器的面积。我们可以先对数组进行排序,然后使用双指针来查找和为零的三元组。每个柱子的宽度为 1,两个柱子之间的距离为它们的下标之差。解释:最大的面积是由高度为 7 和 8 的容器组成的,面积为 7 * 7 = 49。移动到数组的末尾,同时保持非零元素的相对顺序。
2025-02-24 11:21:38
1079
原创 力扣热题 100:哈希专题三道题详细解析(JAVA)
今天,我们就来详细解析热题 100 中与哈希相关的三道题,帮助大家更好地理解解题思路和技巧。在实际刷题过程中,建议大家多动手实践,理解解题思路的本质,这样才能更好地应对各种算法问题。这道题是力扣上的经典入门题,主要考察哈希表的应用。我们可以使用哈希表来存储数组中的元素及其下标,然后遍历数组,对于每个元素,检查。我们可以将每个字符串排序后作为哈希表的键,将变位词作为哈希表的值。我们可以使用哈希表来存储数组中的元素及其连续序列的长度。,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。
2025-02-23 22:01:13
1206
原创 MySQL 数据库关联查询全解析:一对一、一对多、多对多
在数据库的世界里,数据之间的关系错综复杂,而关联查询就像是连接这些数据的桥梁,帮助我们从多个表中获取所需的信息。今天,就带大家深入探索 MySQL 数据库中的关联查询,包括一对一、一对多和多对多这三种常见的关系类型,通过实际代码和案例,让大家轻松掌握。一对一关系通常出现在两个表中,一个表的一条记录只能对应另一个表中的一条记录。例如,一个用户表(user)和一个用户详细信息表(user_detail),每个用户对应一条详细信息记录。一对多关系是指一个表中的一条记录可以对应另一个表中的多条记录。
2025-02-23 19:11:05
1233
原创 Spring MVC 框架学习笔记:从入门到精通的实战指南
在 Java Web 开发领域,Spring MVC 框架无疑是众多开发者的选择之一。它基于 Spring 框架,提供了强大的 MVC 架构支持,帮助开发者构建高性能、可维护的 Web 应用程序。本文将按照清晰的目录结构,带你深入了解 Spring MVC 的核心概念、功能特性以及实战应用。Spring MVC 是 Spring 框架的一部分,专门用于构建 Web 应用程序。
2025-02-22 13:58:00
1064
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人