- 博客(28)
- 收藏
- 关注
原创 hot100-矩阵
利用矩阵的第一行和第一列记录需要置零的行和列,避免了额外的空间开销,同时保持了时间复杂度为。:将矩阵的第一行与最后一行交换,第二行与倒数第二行交换,依此类推。遍历矩阵的每个元素,找到所有需要置零的行和列,遍历。旋转图像,这意味着你需要直接修改输入的二维矩阵。记录四个变量上下左右的边界值,每次循环走四条边。如果当前值大于目标值,向左移动(列减1)。如果当前值小于目标值,向下移动(行加1)。列表中的每个行索引将记录的行置零,遍历。列表中的每个列索引将该列的所有元素置为。,则将其所在行和列的所有元素都设为。
2025-02-27 21:18:06
576
原创 我的创作纪念日
成为一名技术创作者,对我来说,既是偶然,也是必然。然而,当我看到身边许多同事和朋友也在为类似的难题烦恼时,我意识到,这些经验或许能帮助更多的人。在过去的创作中,我写过许多代码,但让我印象最深刻的是一个基于Java的分布式任务调度系统的实现。同时,我也希望能通过创作,帮助更多的人成长,让更多的人感受到技术的魅力。于是,我决定在优快云上开设博客,分享我在实战项目中的经验、日常学习的点滴,以及一些有趣的bug解决方案。我相信,只要坚持创作,用心分享,我一定能在技术的道路上走得更远,也能为技术社区贡献更多力量。
2025-02-26 12:51:02
329
原创 hot100-滑动窗口
双指针指向不含重复字符的连续字串的头和尾,用集合存储子串中的元素,有重复时,左指针持续右移,无重复后统计长度。维护一个固定长度的窗口,向后遍历,每前进一步就检查当前窗口是否满足条件,满足条件就记录下来。的子串,返回这些子串的起始索引。不考虑答案输出的顺序。,请你找出其中不含有重复字符的。
2025-02-22 20:41:04
332
原创 hot100-双指针(acm模式)
每次移动较短边的指针,因为移动较长边的指针不会增加面积,反而可能减少宽度,所以需要判断一下哪个是最大值。计算当前三元组的和:如果和为零,说明找到了一个有效的三元组,将其加入结果列表。:在固定元素时,跳过重复的元素,避免结果中出现重复的三元组。在找到一个有效的三元组后,跳过重复的左指针和右指针元素,避免重复的三元组。:如果当前固定元素大于零,则后续所有元素都大于零,无法构成和为零的三元组,直接退出循环。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。移动到数组的末尾,同时保持非零元素的相对顺序。
2025-02-20 14:53:06
986
1
原创 hot100笔记-哈希
你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。将每个字符串排序后作为键,所有排序后得到相同键的字符串即为一组异位词。,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。是由重新排列源单词的所有字母得到的一个新单词。使用哈希表存储数和对应下标,遍历的同时进行寻找。可以按任意顺序返回结果列表。整数,并返回它们的数组下标。给你一个字符串数组,请你将。给定一个未排序的整数数组。为起点,不断查找下一个数。,请你在该数组中找出。中,并统计序列的长度。
2025-02-20 08:42:16
236
原创 DeepSeek的大火,可以用它来做什么
DeepSeek可以提供智能对话服务,回答用户的各种问题,涵盖多个领域的知识。它支持多种文件格式(如CSV、Excel、TXT等),并提供自定义分析和模型训练功能,提升分析的精度和适用性。它支持多语言生成,并可以根据不同的写作风格(如正式、简洁、创意等)优化生成的内容。DeepSeek可以用于创意写作,帮助用户生成创意内容,如故事、诗歌、剧本等。DeepSeek支持文件上传和读取功能,用户可以上传文档、PDF等文件,系统会自动解析内容并提供相关的信息和分析。它能够处理复杂的金融模型,提供精准的分析结果。
2025-02-07 20:47:53
963
原创 java虚拟机JVM简单介绍(可用于面试)
本地方法栈与虚拟机栈相似,区别在于虚拟机栈是为 JVM 执行 Java 编写的方法服务的,而本地方法栈是为 Java 调用本地方法服务的,由 C/C++ 编写。JVM即java虚拟机,Java程序运行的时候,编译器会将Java源代码编译成与平台无关的Java字节码文件,而不是直接生成某一特定的机器代码,接下来对应平台的JVM会对字节码文件进行解释,翻译成对应平台的机器指令并运行,这也体现了Java的跨平台特性。,用于存储局部变量表、操作数栈、动态链接、方法出口等信息,然后栈帧会被压入栈中。
2025-02-06 20:39:04
380
原创 探寻C++,Java,Python的异同之处
C++:适合对性能和底层操作要求极高的场景,如系统软件开发、游戏开发等。它的优点是性能高、灵活性强,缺点是语法复杂、开发效率低、调试难度大。Java:适合企业级应用开发、大数据处理、Android 应用开发等场景。它的优点是跨平台性好、开发效率较高、生态系统丰富,缺点是执行效率相对较低。Python:适合数据分析、人工智能、Web 开发、自动化脚本等场景。它的优点是语法简洁、开发效率高、生态系统丰富,缺点是执行效率低、不适合对性能要求极高的场景。
2025-02-06 13:46:07
784
原创 黑马点评 秒杀下单出现的问题:服务器异常---java.lang.NullPointerException: null(已解决)
在此之前找了好多资料,查了很多,都没有找到对应解决的方法,虽然知道是userid为空,但不知道要修改哪里,还是自己的debug能力不足,以后得多加练习。。。
2024-11-20 13:35:04
950
原创 Redis中的缓存穿透、雪崩、击穿的原因以及解决方案
缓存穿透:客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会访问数据库。导致DB的压力瞬间变大而卡死或者宕机。缓存雪崩:是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。缓存击穿:Redis中的某个热点key过期,但是此时有大量的用户访问该过期key。
2024-11-19 11:13:26
2313
原创 苍穹外卖知识总结【下】
Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解, 利用 Spring AOP(面向切面编程)来实现缓存逻辑。在方法执行前后,AOP 可以拦截方法调用,实现缓存的读取和写入。常用注解注解说明开启缓存注解功能,通常加在启动类上@Cacheable在方法执行前先查询缓存中是否有数据,如果有数据,则直接返回缓存数据;如果没有缓存数据,调用方法并将方法返回值放到缓存中@CachePut将方法的返回值放到缓存中将一条或多条数据从缓存中删除。
2024-11-17 22:05:15
994
原创 苍穹外卖知识总结【上】
本项目(苍穹外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括 系统管理后台 和小程序端应用 两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护,对餐厅的各类数据进行统计,同时也可进行来单语音播报功能。小程序端主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单、支付、催单等。ThreadLocal 是 Java 提供的一种线程局部变量机制,它允许我们创建线程局部变量,每个使用该变量的线程都有其自己的变量副本,副本之间互不影响。
2024-11-15 16:05:54
2437
1
原创 苍穹外卖学习-day11
Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。常见的统计图形有:柱状图,条形图,折线图不管是哪种形式的图形,最本质的东西实际上是数据,它其实是对数据的一种可视化展示。
2024-11-14 12:50:17
966
原创 苍穹外卖学习-day08-day10(跳过微信支付,订单取消,来电提醒问题解决)
订单处于待接单状态下取消,需要进行退款,由于前面模拟微信支付,直接调用了支付成功的接口,实际上并未支付,此时用户端取消订单,需要跳过微信支付退款接口,直接修改数据库订单状态,调用orderService.paySuccess方法,传入订单号ordersPaymentDTO.getOrderNumber(),直接更新数据库订单状态,模拟支付成功。由于微信支付需要商家认证才能开通,个人开发者只能模拟支付的流程,完成后续项目的学习。,直接调用了支付成功的接口,所以可以。订单支付状态为 ”已退款 “,
2024-11-13 13:09:10
3669
1
原创 苍穹外卖学习-day07
Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如:EHCacheCaffeineRedis(常用)
2024-11-09 21:27:09
963
原创 苍穹外卖学习-day06
小程序是一种新的开放能力,开发者可以快速地开发一个小程序。可以在微信内被便捷地获取和传播,同时具有出色的使用体验。微信小程序首先,在进行小程序开发时,需要先去注册一个小程序,在注册的时候,它实际上又分成了不同的注册的主体。我们可以以个人的身份来注册一个小程序,当然,也可以以企业政府、媒体或者其他组织的方式来注册小程序。那么,不同的主体注册小程序,最终开放的权限也是不一样的。比如以个人身份来注册小程序,是无法开通支付权限的。若要提供支付功能,必须是企业、政府或者其它组织等。
2024-11-08 21:41:45
1077
原创 苍穹外卖学习-day04-day05
完成套餐管理模块所有业务功能,包括:新增套餐套餐分页查询删除套餐修改套餐起售停售套餐要求:根据产品原型进行需求分析,分析出业务规则设计接口梳理表之间的关系(分类表、菜品表、套餐表、口味表、套餐菜品关系表)根据接口设计进行代码实现分别通过swagger接口文档和前后端联调进行功能测试自主完成...
2024-11-08 11:53:00
473
原创 在Java中操作Redis
Spring Data Redis 是 Spring 的一部分,提供了在 Spring 应用中通过简单的配置就可以访问 Redis 服务,对 Redis 底层开发包进行了高度封装。在 Spring 项目中,可以使用Spring Data Redis来简化 Redis 操作。
2024-11-07 11:14:07
674
原创 Redis基本知识
Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。主要特点:Redis 以其极高的性能而著称,能够支持每秒数十万次的读写操作24。这使得Redis成为处理高并发请求的理想选择,尤其是在需要快速响应的场景中,如缓存、会话管理、排行榜等。Redis 不仅支持基本的键值存储,还提供了丰富的数据类型,包括字符串、列表、集合、哈希表、有序集合等。这些数据类型为开发者提供了灵活的数据操作能力,使得Redis可以适应各种不同的应用场景。
2024-11-07 10:14:53
857
原创 解决IDEA报错:无法检索应用程序 JMX 服务 URL
还是不行,尝试清除缓存:删除"C:\Users\%user%\AppData\Local\Temp”下的"hsperfdata_%user%"文件,重启idea。在此目录中找到这个文件夹“hsperfdata_XXX”(XXX代表你的系统登录的用户名,必须与任务管理器中的用户名一致且区分大小写,)删掉;%user%是你电脑系统的用户名,AppData是隐藏项目,需要打开显示隐藏项目。打开任务管理器,点击详细信息,关闭所有与java和idea相关的进程;在任务管理器中点击用户,看一下用户名称;
2024-11-04 17:30:46
1978
1
原创 苍穹外卖学习记录-day02
本文描述了员工管理模块的实现过程,包括新增员工需求分析与设计、分页查询、启用禁用功能、编辑员工接口及动态SQL的运用。文章还涉及功能测试、代码完善和SpringMVC配置等内容。
2024-11-04 14:07:56
1165
原创 苍穹外卖学习记录-day01
本文介绍了项目业务开发流程以及角色的分工,后端项目的初始结构,包括Maven父工程、子模块划分(公共类、实体类、服务模块),以及JWT在身份验证中的应用。同时,讲解了如何导入接口文档到Apifox与Swagger的集成和Swagger的常用注解。
2024-11-04 12:42:00
974
原创 【异常描述】No primary or single unique constructor found for interface javax.servlet.http.HttpSession
开始为了解决HttpServletResponse等方法爆红问题,就在pom.xml中注入了javax.servlet-api依赖,虽然爆红解决,但是会出现上述问题,原因就是HttpServletResponse实际上是一个接口,不能直接实例化,所以在使用Spring等框架时,确保HttpServletResponse是通过方法参数注入的,而不是作为一个bean来注入。把原本javax.servlet 类全部删除,利用springboot3自动导入import jakarta.servlet包;
2024-10-20 17:19:28
1283
1
操作系统接口:兼容Unix/Linux命令接口1
2025-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人