自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(607)
  • 收藏
  • 关注

原创 vue_day06

本文系统讲解了Vue路由和工程化实践的核心知识。主要内容包括:路由模块封装实现解耦复用;router-link的高亮配置和类名自定义;声明式导航的两种传参方式(查询参数和动态路由)及其区别;编程式导航的实现方法;二级路由配置规范;组件缓存机制及组件名作用;基于VueCli的项目创建流程;ESLint代码规范的自动/手动修正方法。通过理论结合案例的方式,帮助开发者掌握Vue路由的进阶用法和工程化规范,提升项目开发效率和代码质量。

2025-11-24 22:32:55 1

原创 vue_day05

本文系统总结了Vue.js核心知识点:1. 自定义指令:详解指令生命周期钩子(bind/inserted/update等)、全局/局部注册方式及v-loading指令封装技巧;2. 插槽机制:包括默认插槽、具名插槽和作用域插槽的使用场景与实现原理;3. 组件通信:重点解析v-model实现原理及$nextTick的异步DOM更新机制;4. 路由系统:介绍SPA路由配置和router-view工作原理;5. 组件设计:区分页面组件与复用组件的设计原则与目录规范。全文结合具体应用场景,深入剖析Vue的组件化开发

2025-11-23 19:55:49 631

原创 Redis_day01

本文系统介绍了Redis从基础到Java客户端开发的全栈知识体系。主要内容包括:Redis基础认知与环境搭建,详细讲解了NoSQL概念、Redis特性及Linux环境安装;Redis核心数据结构与命令,涵盖String、Hash、List、Set、SortedSet五种数据类型的操作命令及适用场景;Java客户端实战部分,对比了Jedis、Lettuce和SpringDataRedis三种客户端,重点演示了SpringDataRedis的使用方法及序列化配置,文章通过大量代码示例,帮助开发者快速掌握Redi

2025-11-21 11:24:04 24

原创 SSM_day03

本文介绍了SpringMVC的核心概念和使用方法,包括:1)SpringMVC工作流程和配置要点;2)请求处理方式(GET/POST/JSON参数传递);3)RESTful风格开发与优化技巧;4)SSM整合配置(含事务管理和异常处理);5)拦截器使用与链式配置。重点讲解了前后端交互中的数据协议定义、静态资源处理、路径参数与变量的区别,以及通过@RestController等注解简化开发的方法。最后提及了SSM整合中的DAO层作用、事务管理和异常处理机制。

2025-11-19 21:17:45 558

原创 SpringCloud_day03

本文摘要: 本文系统介绍了微服务架构的核心概念与实践方法。主要内容包括:微服务与单体架构的对比分析、使用SpringCloud进行微服务开发、黑马商城的微服务拆分原则与步骤(从下往上拆分)、服务治理中的注册中心(Nacos)搭建与使用、远程调用实现(RestTemplate和OpenFeign)以及负载均衡配置。特别强调了微服务拆分的最佳实践,包括Maven继承与聚合、依赖注入方式选择、Feign接口的抽取封装等关键技术点。最后通过商品服务、购物车服务等拆分案例,详细演示了微服务开发中的常见问题解决方案,为

2025-11-19 09:05:48 702 2

原创 225. 用队列实现栈

【摘要】该题使用两个队列实现栈功能,主队列que1存储元素,que2作为辅助队列。每次push操作时,先将新元素加入que2,再将que1所有元素移入que2,最后交换两个队列引用。这样保证后入先出的栈特性,pop和top操作直接对que1进行。时间复杂度:push为O(n),其他操作为O(1)。核心思想是通过队列间的元素转移模拟栈行为。(字数:148)

2025-11-13 20:47:19 652

原创 232. 用栈实现队列

本文通过两个栈实现队列功能,利用栈的翻转特性将"后进先出"转换为"先进先出"。输入栈(st1)负责接收新元素,输出栈(st2)负责弹出元素;当st2为空时,将st1元素全部倒入st2实现顺序翻转。关键操作包括:push时优先存入st1,pop时若st2为空则转移元素再弹出,peek直接返回st2栈顶。该实现保证了push和peek操作的时间复杂度为O(1),pop的均摊复杂度也为O(1),是算法面试中经典的栈队列转换问题。

2025-11-13 20:07:07 1040

原创 120. 三角形最小路径和

本文详细解析了LeetCode 120题"三角形最小路径和"的动态规划解法。首先分析了题目特点,指出贪心算法不可行,必须使用动态规划。文章提供了二维和一维两种DP实现代码,并详细解释了状态转移方程和边界条件处理。特别分析了何时使用DP(具有最优子结构和重叠子问题特性)以及何时能压缩空间维度(当状态更新只依赖特定行时)。最后总结了DP解题步骤:定义状态、确定转移方程、初始化、计算所有状态和返回结果。通过这个典型案例,帮助读者深入理解动态规划的核心思想和实现技巧。

2025-11-11 16:41:26 578

原创 622. 设计循环队列

本文详细解析了LeetCode 622题;设计循环队列的解决方案。循环队列通过数组和双指针(front/end)实现循环存储,解决了普通队列的"假溢出"问题。关键点包括:使用数组大小k+1(浪费一个空间区分满/空状态),入队时移动end指针(end+1)%size,出队时移动front指针(front+1)%size。所有操作(入队、出队、获取头尾元素、判空判满)的时间复杂度均为O(1),空间复杂度为O(k)。循环队列在网络缓冲、任务调度等场景有广泛应用。文章通过代

2025-11-11 15:15:18 758

原创 Java面经_11.10

本文围绕 Java 核心编程的网络编程、IO 流、线程与并发三大模块展开,系统梳理了 BIO/NIO/AIO 的差异与选型、IO 流的分类与应用、线程安全的核心机制(ThreadLocal、锁、线程池等)。

2025-11-10 21:00:50 559

原创 vue_day04

本文全面解析Vue.js核心知识体系,重点涵盖以下内容: 组件通信机制: 父子组件通过props/$emit实现数据传递 非父子组件采用EventBus事件总线或provide/inject跨层级通信 数据绑定关键点: v-model双向绑定原理及应用场景 .sync修饰符简化父子组件状态同步 props的响应式特性与数据验证规则 核心特性详解: ref/$refs操作DOM元素和组件实例 Vue异步更新机制与$nextTick的使用场景 数据持久化存储实现方案 开发实践: 组件化开发规范与最佳实践 表单处

2025-11-07 23:25:20 1766

原创 160. 相交链表

本文介绍了两种解决链表相交问题的方法:哈希表法和双指针法。哈希表法通过存储节点地址来查找交点,而双指针法则巧妙地利用路径对齐原理:两个指针分别遍历两个链表后交换遍历,使总路径长度相同,最终在交点处相遇或同时到达null。双指针法具有O(m+n)时间复杂度和O(1)空间复杂度,比哈希表法更高效简洁。文章详细解析了算法原理、代码实现,并通过测试用例验证了正确性,展示了该技巧在链表问题中的普适性和巧妙性。

2025-11-07 12:19:13 548

原创 237. 删除链表中的节点

摘要:本文详细解析LeetCode 237题"删除链表中的节点"的巧妙解法。当无法访问链表头节点和前驱节点时,采用"移花接木"策略:用下一节点的值覆盖当前节点,然后跳过下一节点。文章剖析了算法原理(O(1)时间复杂度)、代码实现、约束条件(节点非尾节点且值唯一),并通过示例验证。这种创新解法突破了传统链表删除的思路局限,展示了在特殊约束下的高效解题技巧。

2025-11-07 12:01:18 1004

原创 876. 链表的中间结点

本文介绍了使用快慢指针算法解决「876.链表的中间结点」问题。通过设置两个指针(快指针每次走两步,慢指针每次走一步),当快指针到达链表末尾时,慢指针刚好位于中间位置。这种方法只需一次遍历即可找到中间结点,时间复杂度为O(n),空间复杂度为O(1)。文章详细解析了算法原理、代码实现,并通过示例验证正确性,最后讨论了算法变体和其他应用场景。

2025-11-07 11:47:10 865

原创 SpringCloud_day02

摘要:本文系统介绍了Docker从安装到项目部署的完整流程。首先详细说明Docker的安装步骤,包括卸载旧版本、安装依赖、添加仓库和配置镜像加速等。然后讲解MySQL容器部署、Docker常用命令和网络配置等核心功能,重点分析了数据卷挂载的两种方式及其应用场景。通过Dockerfile语法讲解和自定义镜像构建,展示了容器化部署的灵活性。最后演示了Java后端和前端项目的实际部署流程,并介绍了Docker Compose在多容器编排中的应用。文章为开发者提供了从Docker基础到项目实战的完整学习路径,是掌握

2025-11-07 11:32:55 847

原创 23. 合并 K 个升序链表

这篇题解提供了合并K个升序链表的算法思路:将数组第一个链表作为基础,逐个与其他链表合并。使用dummy节点简化操作,通过hebing方法实现两两链表的有序合并。时间复杂度为O(NK),其中N是链表平均长度,K是链表数量。空间复杂度O(1)。虽然简单直观,但效率低于优先队列或分治等优化方法。

2025-11-06 19:01:05 618

原创 82. 删除排序链表中的重复元素 II

本文介绍了一种删除排序链表中所有重复元素的算法。通过设置哑节点作为辅助头节点,使用pre和cur双指针遍历链表。当发现重复节点时,跳过所有重复项,将前驱节点直接指向非重复节点;否则正常移动指针。该方法时间复杂度为O(n),空间复杂度O(1),能有效处理各种重复情况,包括删除头节点的情况。关键点在于利用哑节点统一处理逻辑,并通过临时next节点判断重复范围。

2025-11-06 17:22:29 565

原创 83. 删除排序链表中的重复元素

本文解析LeetCode 83题《删除排序链表中的重复元素》,针对有序链表的去重问题提出了高效的解决方案。算法利用链表有序特性,通过单次遍历和指针跳跃操作(外层循环定位当前节点,内层循环跳过重复节点)实现去重,时间复杂度O(n),空间复杂度O(1)。文章详细解析了代码逻辑,包括虚拟头节点的使用、指针操作细节,并通过多个测试用例验证算法正确性。该解法展现了如何利用数据结构特性优化算法,是链表基础操作的经典案例,为处理更复杂链表问题奠定基础。

2025-11-06 17:11:47 1036

原创 34. 在排序数组中查找元素的第一个和最后一个位置

摘要:该文提供了在排序数组中查找目标值第一个和最后一个位置的算法解决方案。通过二分查找的lowerbound方法定位目标值的起始位置,再通过查找target+1的下界减1确定结束位置。若未找到目标值则返回[-1,-1]。算法时间复杂度为O(log n),空间复杂度为O(1),高效地解决了问题。

2025-11-06 16:40:01 993

原创 203. 移除链表元素

摘要:本文介绍了LeetCode 203题"移除链表元素"的解法。使用哑结点(dummyHead)简化链表操作,通过移动指针遍历链表。当遇到目标值时,跳过该节点;否则指针继续前进。该方法时间复杂度O(n),空间复杂度O(1),有效解决了链表元素删除问题。关键点在于哑结点的运用和指针的灵活移动。

2025-11-06 16:32:45 824

原创 19. 删除链表的倒数第 N 个结点

本文介绍了删除链表倒数第N个节点的双指针解法。通过定义虚拟头节点和快慢指针,先让快指针移动n步,然后同时移动快慢指针直至快指针到末尾,此时慢指针指向待删除节点的前驱节点。该方法时间复杂度O(L)(L为链表长度),空间复杂度O(1)。关键点在于虚拟头节点的使用可避免对头节点的特殊处理,而快慢指针的配合能精确定位倒数第N个节点。

2025-11-06 16:30:21 1031

原创 34. 在排序数组中查找元素的第一个和最后一个位置

摘要:该题解利用二分查找高效解决了在排序数组中查找目标值起始和结束位置的问题。通过定义lowerBound函数找到第一个≥target的下标,可确定起始位置;通过查找target+1的左边界并减1得到结束位置。代码仅需两次二分查找,时间复杂为O(logn),空间复杂度为O(1)。该方案复用基础二分模板,有效处理了各种边界情况,包括目标值不存在、位于数组两端等场景,体现了算法设计的简洁性和高效性。

2025-11-06 10:53:57 594

原创 Spring AOP和事物

本文系统介绍了AOP和Spring事务的核心概念与应用。AOP通过切面实现非侵入式增强,支持五种通知类型和多种切入点表达式,可应用于日志记录、性能监控等场景。Spring事务基于AOP机制,通过@Transactional注解实现声明式事务管理,具有传播行为、隔离级别等关键属性。文章通过密码兼容处理、接口性能监控等实战案例,展示了这两项技术在解耦业务代码、提升可维护性方面的协同价值。同时深入分析了事务失效的常见场景及解决方案,为开发健壮应用提供指导。

2025-11-05 23:28:00 647

原创 Springcloud_day01

关键字冲突记得加反引号因为要使用到IUserService所以需要注入,一是使用@Autowired注入(但是不推荐),所以就使用构造器传参注入,但是这个写的比较繁琐,可以使用注解@RequiredArgsConstructor 加上final标记哪个变量需要依赖注入;(也可以使用@AllArgsConstructor(不过这个是给所有变量注入依赖))另外我想问@RequestMapping和@RestController注解有什么用?为什么两个需要同时加?

2025-11-05 21:23:48 879

原创 英语六级单词11/3

英语高频词汇解析摘要 本文精选60个高频英语词汇,涵盖日常生活、学术和职场场景。通过词性拆解、多义解析和例句示范,帮助学习者掌握词汇的核心用法。例如:"rip"既可表示"撕破",也可指"突飞猛进";"fragrance"专指宜人香味;"delicate"兼具"精巧"和"脆弱"双重含义;"counterpart"表示对应的人或物。这些词汇均配有典型搭配

2025-11-03 16:39:19 762

原创 六级单词11/2

英语高频实用词汇解析:40个核心单词的多场景应用 本摘要精选40个高频英语单词,涵盖其核心含义、搭配用法及多场景应用。从"represent"(代表/描绘)到"narrative"(叙述/故事),每个单词均体现多重语义和实用价值。例如:"ozone"既指保护地球的臭氧层,也指有害的地面臭氧污染;"fable"强调寓言的教育意义,而"myth"可指神话或错误观念;"crew"不仅表示机组人员

2025-11-02 14:42:37 487

原创 二分查找为什么总是写错

本文系统介绍了二分查找的开区间[left,right)实现方法。通过左闭右开的区间定义(左边界包含元素,右边界不包含),这种写法简化了边界处理,统一了指针移动规则(left=mid+1,right=mid),避免了闭区间实现中的常见错误。文章详细讲解了基础查找、查找左右边界三种场景的实现逻辑,并给出了典型应用场景(插入位置、求平方根)的代码示例。开区间写法因其一致性和容错性而成为工程实践中的优选方案,能够有效降低二分查找的实现难度。

2025-11-01 22:29:43 938

原创 单词11/1

本文精选60+英语高频实用词汇,涵盖日常交流、学术写作和职场表达等多个场景。通过词根词缀解析、搭配例句示范和联想记忆法,详细讲解如"fling"(猛扔)、"retrieve"(取回)、"fertile"(肥沃的)等词汇的核心含义及用法。特别针对易混淆词(如"hop/jump/leap")、多义词(如"brew")和抽象概念词(如"volatility")进行辨析。同时提供场景联想法(如&q

2025-11-01 14:05:18 824

原创 黑马SSM框架_day02

本文系统梳理了SSM(Spring+SpringMVC+MyBatis)框架的核心开发要点。首先介绍了注解开发定义Bean的方式,包括@Component系列注解和纯注解开发的配置方法。其次详细讲解了Bean的作用范围(@Scope)和生命周期管理(@PostConstruct/@PreDestroy)。在依赖注入部分,重点分析了@Autowired、@Qualifier等注解的使用场景和区别。针对第三方Bean管理,阐述了@Bean和@Value的应用方法。最后提供了Spring整合MyBatis和JUn

2025-11-01 10:26:05 1171

原创 操作系统-day04

本文系统梳理了操作系统内存管理的关键知识体系。首先介绍内存的硬件本质和分层结构,阐明其在程序运行中的核心作用;其次深入解析内存管理的核心目标与基本任务,包括地址映射、内存共享和回收机制;随后详细讲解进程内存映像的结构及其面临的挑战;重点分析了连续分配管理方式和动态分区分配算法(首次适应、最佳适应等),对比其优缺点及适用场景。全文揭示了内存管理技术从简单到复杂的发展历程,强调其本质是平衡资源有限性与需求无限性,为理解操作系统运行机制提供了系统化视角。

2025-11-01 09:07:38 923

原创 vue-day03

本文系统梳理了Vue.js核心知识点与实践应用。主要内容包括:1)Vue生命周期的四个阶段及其应用场景;2)工程化开发流程,包括脚手架工具(Vue CLI/Vite)和项目结构;3)组件化开发机制,详解局部与全局组件注册;4)实战案例,展示电商平台组件拆分和数据可视化(饼图)实现。文章强调Vue渐进式特性、响应式系统和组件化思维,建议通过实际项目将知识转化为技能。全文提供了一条从Vue基础到项目实践的完整学习路径。

2025-10-31 23:39:00 738

原创 黑马SSM框架01

本文深入解析Spring核心容器三大核心板块:Bean管理、依赖注入机制和容器实现体系。重点剖析了Bean的配置维度(id/name、class、scope等)和生命周期管理,详细介绍了三种依赖注入方式(构造器注入、Setter注入和自动装配)及其适用场景。同时阐述了容器分层体系,比较了BeanFactory的基础功能和ApplicationContext的企业级扩展特性。文章还探讨了IoC/DI设计思想的价值,包括解耦、可维护性和可测试性等优势,并提供了配置风格选择、依赖注入避坑指南等实战建议。Sprin

2025-10-30 09:29:14 673

原创 Java面经-集合类

本文系统介绍了常见数据结构及其Java实现。线性结构包括动态数组(ArrayList)、链表(LinkedList)、栈和队列;非线性结构涉及优先级队列(PriorityQueue)、哈希表(HashMap)、红黑树(TreeMap)和跳表(ConcurrentSkipListMap)等。详细解析了Java集合框架中的主要接口(Collection、List、Set、Map)及其实现类特点,特别分析了HashMap的核心原理:采用数组+链表+红黑树的数据结构,默认容量16,负载因子0.75触发扩容。

2025-10-29 16:25:04 832

原创 vue-day02

本文总结了Vue.js的核心知识点,主要涵盖以下内容:1. 指令修饰符:介绍了事件修饰符(.stop/.prevent)、按键修饰符(.enter)和表单修饰符(.lazy/.number/.trim)的用法;2. v-bind的使用:包括动态绑定HTML属性、class和style的多种绑定方式;3. v-model的高级应用:在各类表单元素中的使用及原理;4. 计算属性:特点和适用场景,与方法的区别;5. watch监视器:简写语法和完整版(deep/immediate)的配置;6. 实战案例:通过成绩

2025-10-28 23:06:20 1187

原创 vue-day01

本文系统梳理了Vue的核心知识点,包括:1. Vue实例创建与响应式原理;2. 模板语法(插值表达式、v-text/v-html);3. 指令系统(v-show/v-if、v-for、v-bind、v-on);4. 表单双向绑定v-model;5. 实战案例(图片切换、图书管理、记事本)。重点讲解了Vue的响应式机制、指令使用场景差异、列表渲染key的重要性,以及如何通过v-model实现表单交互。文章还提供了学习路径建议和常见误区提示,帮助开发者构建完整的Vue知识体系。

2025-10-25 10:54:34 582

原创 六级单词03

hysteria情绪失控concealment隐藏bureau办事处,机构cement水泥,混凝土,巩固cunning狡猾的redundancy解雇,累赘eccentric古怪的grid网格,方格narrative叙述(的)alcoholic酒精的,酒鬼ploytechnic理工学院jail监狱subordinate部属,下级idelogy意识形态is bound for发生simplicity简单extravagantly挥霍无度的intrinsically本质上地majestic雄伟的fuelled b

2025-10-23 22:43:52 881

原创 六级单词02

文章摘要: 本文解析了多个英语词汇的用法与搭配,涵盖生活、职场、自然等多个场景。 Brew 指酿造或酝酿(如啤酒、情绪),搭配如 "brew coffee" 或 "brew trouble"。 Blunder 表示愚蠢错误(如 "make a blunder")或莽撞行为。 Slender 描述纤细身材("slender figure")或微小机会("slender chance")。 Elaborate 可

2025-10-23 09:23:06 733

原创 操作系统03

本文深入解析了操作系统中的并发控制机制管程和死锁问题。管程部分阐述了其作为同步工具的优势,包括封装共享资源、互斥访问和条件变量机制,并通过博客系统实例展示了管程的实际应用。死锁部分分析了其四个必要条件,对比了死锁与饥饿、死循环的区别,并介绍了预防、避免和检测解除三种处理策略,结合博客系统案例演示了资源编号法和银行家算法等解决方案。文章强调理解这些并发机制对于开发高可用系统的重要性,为构建稳定的分布式应用提供了理论基础和实践指导。

2025-10-22 18:10:54 862

原创 99. 计数孤岛

本文介绍了如何使用BFS算法统计矩阵中的连通分量数量。通过自定义Pair类存储坐标,利用方向数组简化邻接计算,采用队列实现BFS遍历并标记已访问节点。算法时间复杂度为O(nm),空间复杂度O(nm)。文章详细解析了1-based索引处理、边界判断等关键实现细节,并指出了常见错误及解决方案,适用于岛屿数量等类似问题。

2025-10-18 10:49:46 884

原创 JavaWeb_p165部门管理

本文介绍了Vue中实现部门管理表单的开发要点,主要包括:1)使用ref控制对话框显示/隐藏;2)通过变量控制共用表单的标题切换;3)axios与后端交互的实现流程;4)表单校验规则的定义与应用;5)常见问题的解决方案:清空遗留数据、重置校验规则、优化提示信息等。关键点在于合理使用ref管理组件状态,并通过事件绑定实现交互逻辑。

2025-10-17 13:18:24 612

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除