- 博客(64)
- 收藏
- 关注
原创 Redis
(1)创建子进程,复制父进程的页表(包含虚拟地址和映射),越多大key,页表越大,可能阻塞进程;内核一直监听这些 Socket 上的连接请求或数据请求,接收到请求就交给 Redis 线程处理,这就实现了一个 Redis 线程处理多个 IO 流的效果。选举出了哨兵 leader 后,挑选出一个状态良好、数据完整的从节点,发送 SLAVEOF no one 命令,转换为「主节点」。定义:(大value)key存储的value很大、hash,list,set等存储value值多。解决:可删除(非热key);
2023-08-01 21:09:55
396
原创 Git-分布式版本控制工具
版本库:.git隐藏文件夹,储存配置信息、日志信息和文件版本信息等。工作区:包含.git文件夹的目录,用于存放代码。2、冲突问题(发生和解决)Git仓库:本地和远程。暂存区:index文件。
2023-07-24 21:19:27
210
原创 MyBatisPlus
范围查询:between lqw.libetween(User::getAge, 10, 30);增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)模糊查询:like lqw.like(User::getName,"J");@TableField @TableName(类注解)6、字段映射与表名映射。(秒杀问题,并发访问)逻辑删除(物理删除)
2023-07-12 10:36:39
72
原创 SpringBoot
配置文件:application.properties application.yml application.yaml(数据前加空格和冒号隔开)如果测试类在SpringBoot启动类的包或子包中,可以省略启动类的设置,即classes的设定。3级:classpath: config/application.yml。起步依赖:starter(减少依赖配置)、parent(减少依赖冲突)创建工程——添加起步依赖——功能类——启动程序。###执行package之前执行clean。
2023-07-10 22:23:17
211
原创 SSM整合
service(接口+实现类):业务层接口测试(整合JUnit)controller:表现层接口测试(PostMan)3、 mybatis和spring整合。dao(接口+自动代理)spring整合MVC。
2023-06-19 20:05:35
255
原创 springMVC01-
导坐标——做控制器——springMVC配置类,加载控制器——servlet容器配置类,加载springMVC的配置类。@EnableWebMvc 开启json数据转化成对象的功能。@RequestBody 设置接收json数据。类型转换器(HttpMessageConverter)springMVC无法接收,需要转化。访问资源称为RESTful。json数据:["","",""]类型转换器 Converter接口。
2023-06-19 17:11:13
673
原创 spring05-AOP
标准格式:动作关键字(访问修饰符 返回值 包名.类/接口名.方法名(参数)异常名)依赖ProceedingJoinPoint 实现对原始方法调用。spring-mybatis整合:注意版本对应。-开启Spring对AOP的注解驱动支持。切入点表达式:进行增强的方法的描述方法。-制作连接点方法,Dao接口与实现类。在原始切入点方法运行抛出异常后执行。-制作共性功能,通知类与通知。不能访问目标方法的执行的结果。-导坐标,pom.xml。切入点:要进行增强的地方。-绑定切入点与通知关系。
2023-06-16 15:31:33
185
原创 spring04-注解
以配置的形式加载@PropertySource("***.properties"),多文件使用数组格式,不允许使用通配符*、(2)扫描式@ComponentScan("配置类所在的包")-----@Configuration。@Autowired 自动装配模式(按类型),不用set方法,基于反射(暴力反射)、(1)导入式 @Import(***.class),此注解只能添加一次,多个数据使用数组格式。、添加@Bean表示当前方法的返回值的一个bean。、定义一个方法获得要管理的对象。
2023-06-14 16:55:18
704
原创 spring03-外部属性
context:property-placeholder location="classpath:*.properties" system-properties-mode="NEVER"/>//仅从当前工程读取;location="classpath*:*.properties" 从类路径或jar包中搜索并加载properties文件。2、加载properties文件。
2023-06-08 22:24:37
43
原创 spring
#IoC管理service和Dao,通过配置将被管理的对象——>ioc。spring默认bean单例(创建的对象反复使用)(使用无参构造器)定义spring管理的类(接口)##通过接口获取ioc容器,接口方法获取Bean。(封装实体的域对象、不适合交给容器管理)作用范围:一个bean的创建是否是单例。建立Bean和Bean之间的依赖关系。1、IOC容器(spring提供)提供对象(被创建或管理的对象统称为。name控制一个bean有多个名称。由主动new产生对象,转换为由。控制反转(对象创建权的转换)
2023-06-08 15:32:04
544
原创 JAVA结构
LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。(当存储的数据为int类型的时候,treeset是可以自动进行排序的)
2023-06-05 10:11:29
19
原创 LeetCode-031. 最近最少使用缓存
HashSet(哈希表): 查询快,增删慢。(底层其实就是Map)。存放的引用类型需重写hashCode()和equals()方法。Set(集):元素无序,不可重复 (没有索引)。List(列表):元素有序,元素可以重复 (有索引)。通过元素的equals()方法判断是否重复。LinkedHashSet(哈希链表): 查询慢,增删快。Collection(集合):容器,用于存放对象(引用类型。ArrayList(数组列表): 查询快,增删慢。LinkedList(链表): 查询慢,增删快。
2023-05-31 21:50:28
171
原创 LeetCode-030. 插入、删除和随机访问都是 O(1) 的容器
为了满足插入、删除和随机访问元素操作的时间复杂度都是 O(1),需要将变长数组和哈希表结合,变长数组中存储元素,哈希表中存储每个元素在变长数组中的下标。
2023-05-30 20:50:23
64
原创 LeetCode-029. 排序的循环链表
最后节点:left>right:插入点比left大或者比right小,则在此处插入。left<right:要求 left<insert<right。
2023-05-29 16:26:11
24
原创 LeetCode-028. 展平多级双向链表
dfs(cur)实现展平,cur为当前结点,若cur无child,则在此处无需展平,考察下一个结点cur.next。否则总是递归调用dfs(cur.child)展平以child为首后续部分。展平后应当能返回展平链的最后一个结点last,并连接cur.next与last,因此dfs应返回last结点。
2023-05-29 15:19:35
46
原创 JAVA题解-链表
first超前second的节点数:当 first 遍历到链表的末尾时,second 就恰好处于倒数第 n 个节点。1、哑节点(dummy node),它的 next 指针指向链表的头节点。定义虚拟头节点,省去头节点的判断。
2023-05-20 22:36:55
69
原创 LeetCode-023. 两个链表的第一个重合节点
指针 pA 移动了 a+c+b 次、指针 pB 移动了 b+c+a 次之后,两个指针会同时到达两个链表相交的节点,该节点也是两个指针第一次同时指向的节点,此时返回相交的节点。2、链表 headA和 headB的长度分别是 a+c 和 b+c。1、如果当前节点在哈希集合中,则后面的节点都在哈希集合中,
2023-05-19 20:37:58
36
原创 LeetCode-022. 链表中环的入口节点
fast 与 slow。它们起始都位于链表的头部。随后,slow 指针每次向后移动一个位置,而 fast 指针向后移动两个位置。如果链表中存在环,则 fast 指针最终将再次与 slow 指针在环中相遇。
2023-05-19 16:48:24
26
原创 LeetCode-021.删除链表的倒数第 n 个结点
添加一个哑节点(dummy node),它的 nextnext 指针指向链表的头节点。在遍历链表的同时将所有节点依次入栈。
2023-05-19 14:45:37
25
原创 LeetCode-020.回文子字符串的个数
O(n 2) 的时间枚举出所有的子串 s[l ⋯ r ],然后再用 O(r −l +1) 的时间检测当前的子串是否是回文,整个算法的时间复杂度是 O(n^3)。枚举回文中心的是 O(n) 的,对于每个回文中心拓展的次数也是O(n) 的,所以时间复杂度是 O(n^2 )3、Manacher 算法。
2023-05-18 15:48:31
134
原创 LeetCode-018. 有效的回文
直接在原字符串s 上使用双指针。在移动任意一个指针时,需要不断地向另一指针的方向移动,直到遇到一个字母或数字字符,或者两指针重合为止。
2023-05-18 14:09:42
25
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人