自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2025年-redis(p1-p10)

关系型数据库的事务特性(ACID):原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。(4)原理(面试):redis底层原理分析,redis常见的数据类型底层结构、redis的通信模型、redis的内存策略、redis常见面试题。(2)企业实战的应用场景:共享session、缓存解决问题、秒杀中的redis应用、社交app中的redis应用、redis特殊结构的应用。(2)单线程,每个命令具备原子性。

2025-04-30 16:30:54 199

原创 2025年- H15-Lc123-41.缺失的第一个正数(普通数组)---java版

将非正数全部替换成 n+1,因为我们只关心 [1, n] 范围内的正整数,所以把所有 ≤ 0 的数变成 n+1(一定不在 [1, n] 范围中)。

2025-04-30 14:03:56 117

原创 2025年- H14-Lc122-136.只出现一次的数字(技巧)---java版

/ //在统计每个数的频率时就立刻返回 get(num) == 1,这没有意义!因为几乎每个数在第一次出现时 == 1,你会立刻返回第一个出现的数字,而不是判断它是否是唯一的。容易出错的点,如果按下面的格式写,容易刚开始统计每个数的时候就立刻返回1.因为几乎每个数在第一次出现时 == 1,你会立刻返回第一个出现的数字,而不是判断它是否是唯一的。m.getOrDefault(num,0)+1:统计该字符出现的次数,如果没有出现返回默认值0.如果有出现次数+1。

2025-04-30 10:36:44 164

原创 2025年- H13-Lc121-189.轮转数组(普通数组)---java版

详细例子:定义一个左数组,定义一个右边数组。刚开始左数组的第一个元素是固定的=1,就是等于第一个元素左边的元素的乘积。右数组最后一个元素为1,等于最后一个元素最右边的元素的乘积。

2025-04-30 10:15:12 122

原创 2025年- H13-Lc120-189.轮转数组(普通数组)---java版

补充2:

2025-04-29 23:54:10 176

原创 2025年- H12-Lc119-56.合并区间(普通数组)---java版

按照左边界从小到大排序之后,如果 intervals[i][0] <= intervals[i - 1][1] 即intervals[i]的左边界 <= intervals[i - 1]的右边界,则一定有重叠。(本题相邻区间也算重贴,所以是<=)//将 LinkedList<int[]> 转换成 int[][] 数组作为最终结果返回。如果有合并,则把合并区间加入到结果数组中,如果没有合并,则将该区间加入到数组中。方法1:不带测试用例。

2025-04-29 22:55:41 484

原创 11.学习笔记-MyBatisPlus(P110-P118)

比如有两张数据表,一张是员工表,一张是员工业绩表,通过员工的id关联,如果该员工离职,首先员工表的数据要被删除,对应的员工业绩表则成了垃圾数据,也要删除。通过Mp的api删除,是看不到被删除的数据,如果此时还想看到全数据(包括deleted=0以及deleted=1,就去Dao层写SQL语句。如果函数不支持Mp,恢复到最早的Mybatis,在数据接口层Dao中,继续用@select,下面添加sql语句。场景:八个人去抢最后的一个商品,会出现-1,-2,-3…抽象类不能直接用,我们使用的是抽象类的实现类。

2025-04-29 17:22:35 391

原创 10.学习笔记-MyBatisPlus(P105-P110)

比如有两张数据表,一张是员工表,一张是员工业绩表,通过员工的id关联,如果该员工离职,首先员工表的数据要被删除,对应的员工业绩表则成了垃圾数据,也要删除。通过Mp的api删除,是看不到被删除的数据,如果此时还想看到全数据(包括deleted=0以及deleted=1,就去Dao层写SQL语句。如果函数不支持Mp,恢复到最早的Mybatis,在数据接口层Dao中,继续用@select,下面添加sql语句。场景:八个人去抢最后的一个商品,会出现-1,-2,-3…抽象类不能直接用,我们使用的是抽象类的实现类。

2025-04-29 15:56:44 228

原创 2025年- H11-Lc118-53.最大子数组和(普通数组)---java版

用动态规划方法来解决【最大子数组和】(Maximum Subarray)问题。pre(当前位置最大和)、 maxAns(全局最大和)

2025-04-28 17:19:55 247

原创 9.学习笔记-springboot(P90-P104)

补充:必须要检查运行pom.xml文件里面是否有plugin这个插件,这个插件可以保证为boot程序打jar包。11.SpringBoot-11-多环境开发兼容问题(maven与boot)1.SpringBoot-01-SpringBoot工程入门案例开发步骤。4.SpringBoot-04-SpringBoot简介。9.SpringBoot-09-多环境开发配置。5.SpringBoot-06-配置文件格式。配置了一些列的版本和版本所需要的依赖管理。12.SpringBoot-12-配置分类。

2025-04-28 16:13:12 218

原创 8.学习笔记-Maven进阶(P82-P89)

通过maven可以做版本的集中管理,所以能不能通过maven进行配置文件(jdbc.properties)的集中管理。选择一个有web-inf工程下,pom.xml中加入,刷新maven,然后在install。(2)01父工程管理02,03,04子工程。(1)多环境开发:maven提供配置多种环境的设定,帮助开发者使用过程中迅速切换环境。(1)因为要跟本地仓库交换资源,所以配置写在本地仓库中。补充,打开cmd,进入maven的安装路径,进入bin。(一)Maven-08-配置文件加载属性。

2025-04-26 23:46:03 979

原创 7.学习笔记-Maven进阶(P75-P89)-进度(p75-P80)

然后把03的pom.xml的maven_03_pojo的依赖拷到04的pom.xml的依赖下,刷新一下maven。把maven_02_ssm里面的domain模块 移动到maven_03_ssm,现在02缺少了domain里面的book类会报错,所以要怎么在02模块调用03模块的domain呢?简而言之,就是现在的模块不想给别人用,隐藏自己的依赖,让别人不知道我用过什么(隐私)。自己的东西被别人用。继承:描述两个工程之间的关系(父工程、子工程),子工程可以继承父工程的配置信息,常见于依赖关系的继承。

2025-04-26 21:15:00 420

原创 6.学习笔记-SpringMVC-拦截器(P71-P74)

在projectinterceptor.java中,如果是return false,则说明把原始方法及之后的方法 无法调用和执行。一般情况下,拦截器都是给表现层用的,所以创建在controller下。(二)配置拦截器的执行位置。(一)制作拦截器的功能类。

2025-04-24 16:51:06 303

原创 5.学习笔记-SpringMVC(P61-P70)

7.SSM整合–前后台协议联调(列表功能)1.一般要吧css、js、pages、plugins、web-inf的文件复制粘贴到webapp下springMvc一般会自动拦截页面的请求,所以要进行放行。在Java的项目文件夹下的config下,添加新的类SpringMvcSupport。(3)各个层均出现异常,所有异常均抛出到表现层进行处理。表现层处理异常,每个方法单独写,代码书写量巨大并且意义不强,所以我们采用AOP思想。(4)业务层、数据层的异常怎么交到异常处理器中,异常目前只是在每一层报出来。

2025-04-24 16:19:08 519

原创 5.学习笔记-SpringMVC(P53-P60)

insert into 表名(type)这边的type变量是表中的type属性。对于web容器(getServletConfigClass,应对web请求处理的),我们需要加载的是SpringMVCConfig.class。比如注入的bookDao在idea中目前不存在,spring没有配置bookDao的Bean(因为用的自动代理)。(1)spring核心容器的组件完成配置(SpringConfig)(5)web容器配置类(servletConfig)(2)响应数据(异步提交):文本数据、json数据。

2025-04-23 22:56:37 443

原创 4.学习笔记-SpringMVC(P43-P47)

(SpringMVC获取请求参数与响应json数据操作、基于REST风格的请求路径设置与参数传递、前后端通信协议、SSM整合技术开发任意业务模块)SpringMVC技术(更少的代码,简便)与servlet技术功能相同,属于web层开发技术。6)检测到@ResponseBody直接将save()方法的返回值作为响应请求体返回给请求方。6)执行getServletMappings方法,定义多哟的请求都通过springMVC。4)由/save匹配执行对应的方法save()数据层(jdbc、mybatis)

2025-04-18 10:35:49 319

原创 3.学习笔记--Spring-AOP总结(p39)-Spring事务简介(P40)-Spring事务角色(P41)-Spring事务属性(P42)

1>REQUIRED(默认),事务管理员开启事务,事务协调员加入事务;事务管理员如果没有事务 ,事务协调员新建事务。(但是这个造成了如果在转账中出现了i/0异常,不管转账是否成功,日志的信息并不会在数据库出现,虽然金额没错保持原样,但是日志信息没有保存)如果事务协调员没有事务,则事务协调员也会开启任务。(4)在jdbc的配置中,通过Bean引入平台事务管理器的操作(DataSource dataSource)1)数据层提供基础操作,指定账户减钱(outMoney),指定账户加钱(inMoney)

2025-04-17 15:49:28 673

原创 2025年- H10-Lc117-560.和为K的子数组(子串)--java版

【代码】2025年- H10-Lc117-560.和为K的子数组(子串)--java版。

2025-04-16 16:39:44 139

原创 2025年- H9-Lc116-438.找到字符串中所有字母异位词(滑动窗口)--java版

【代码】2025年- H9-Lc116-438.找到字符串中所有字母异位词(滑动窗口)--java版。

2025-04-14 16:48:47 184

原创 2025年- H8-Lc115-3.无重复字符的最长子串(滑动窗口)--java版

【代码】2025年- H8-Lc115-3.无重复字符的最长子串(滑动窗口)--java版。

2025-04-14 14:56:37 200

原创 2025年- H7-Lc114-15.三数之和(双指针)--java版

时间复杂度是 O(n²),空间复杂度最坏是 O(n²),虽然逻辑清晰,但是性能比不上双指针法,特别是在数据量大的时候容易 超时或内存爆炸。双指针部分是 O(n²),但跳过重复元素大幅减少不必要的操作。方法一:不推荐,超出时间限制。排序一次 O(n log n)方法二:双指针,时间复杂度。

2025-04-11 16:41:59 120

原创 2025年- H6-Lc113-112.盛最多水的容器(双指针)--java版

能盛最多水的容器=宽度*高度决定,宽度代表横坐标之间的距离(两两遍历,双指针),而高度取决与当前横坐标下最小的高度,因为水的高度由最矮板决定。方法一:双层for循环,暴力搜索,会报时间限制的错误。能装的水高度最多就是 矮的一边,所以高度取min。不推荐使用,会超出时间限制,能运行。方法二:while循环,左右指针。

2025-04-11 15:36:34 196

原创 3.Spring-AOP通知类型/AOP通知获取数据/AOP总结/Spring事务(p36-p40)

(一)AOP通知类型:前置通知、后置通知、环绕通知、返回后通知、抛出异常后通知。(三)AOP通知获取数据。

2025-04-08 16:04:39 197

原创 2025年- H5-Lc113-283.移动零(双指针)--java版

在 Java 中,int[] 数组初始化时所有元素默认就是 0;

2025-04-08 15:30:47 173

原创 3.Spring-AOP简介/AOP切入点表达式/AOP工作流程(p31-p35)

比如(update()、delete()方法)要追加功能,我们把这两个方法定义为切入点。共性的功能method()叫做通知。(1)AOP(aspect oriented programming)面向切面编程。切入点配置很多,我们也不会都读取,我们只读取配置完成的切入点(也就是@pointcut,@before)切入点可以匹配一个具体的方法,也可以匹配多个方法。(2)oop(object oriented programming)面向对象编程。切面指的是执行位置(切入点)与共性功能之间的关系。

2025-04-08 11:17:12 430

原创 2025年- H4-Lc112-1.两数之和(哈希)--java版

如果找不到两数之和==target,直接返回空数组。new int[0]两次循环,固定i,j=i+1,依次往后面找。

2025-04-08 09:59:34 178

原创 2025年- H3-Lc111-49.字母异位词分组(哈希)--java版

输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]首先用strs.toCharArray(),把字符串变成字符数组。

2025-04-08 09:40:48 370

原创 2025年- H2-Lc110-128.连续最长序列(哈希)--java版

Array.sort()一般不放在for循环里面,没有意义。

2025-04-08 00:20:10 142

原创 2025年- H1-Lc109-160. 相交列表--java版

指针 A:先走 lenA + lenCommon,然后换到 B 头再走 lenB。指针 B:先走 lenB + lenCommon,然后换到 A 头再走 lenA。于是总长度都是:lenA + lenB + lenCommon。链表 A 独有部分长度是 lenA。链表 B 独有部分长度是 lenB。公共部分长度是 lenCommon。让两个指针走相同的总路径长度!思路一:双指针+路径对齐。

2025-04-07 22:42:03 394

原创 2.Spring-注解开发定义bean/纯注解开发/Spring整合MyBatis(p21-p30)

要在pom.xml定义一下坐标。(四)Spring整合MyBatis。(一)注解开发定义bean。(三)xml配置和注解配置。(三)bean的作用范围。

2025-04-07 11:25:21 271

原创 Spring核心容器总结(p1-p20)

(3)ApplicationContext接口提供基础的bean操作相关方法(大多数基础bean的操作方法 从BF那边继承过来),通过其他接口扩展功能。构造器注入(引用类型、简单类型)、set方法注入(引用类型、简单类型)。构造器注入适合第三方框架整合的时候使用,平时都用set注入。(1)BeanFactory是IOC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载。(2)ApplicationContext接口是Spring容器的核心接口,初始化bean时立即加载。

2025-04-07 09:37:50 245

原创 2025年- G34-Lc108-207. 课程计划--java版

你需要完成 numCourses 门课程,课程编号从 0 到 numCourses - 1。如果你可以完成所有课程,返回 true;否则,返回 false。课程安排 (Course Schedule) - 题目翻译。如果你想选修课程 a_i,你必须先完成课程 b_i。

2025-04-01 18:11:38 141

原创 2025年- G33-Lc107-150. 评估逆波兰表示法--java版

(2)遇到运算符,先从栈顶弹出两个元素,进行计算,把结果压入栈中。(1)遇到数字,将数字压入栈中,遵循先进后出得策略。

2025-04-01 16:51:45 156

空空如也

空空如也

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

TA关注的人

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