- 博客(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年- 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
原创 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年- 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关注的人