- 博客(23)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 MySQL 对null 值的特殊处理
可以看下MySQL文档,其中描述了对null值的定义是,从概念上讲,表示“缺少未知值”。如下图所示,NULL作为电话号码不为人知,空字符串'' 作为这个人没有电话、没有电话号码去理解, 但是这对于我们日常的开发、理解,包括对非字符类型的默认值,都需要一个默认值的规定。对于字段来说,能Default Not Null 的尽量设置,对于可能为空的值,存在NULL值无可厚非,只是在SQL语句中要注意对null的特殊处理。自信考证NULL值存在的合理性以及使用场景。
2023-12-05 14:50:21
1087
原创 SpringBoot 注入RedisTemplat 启动报错
The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)
2023-12-04 18:15:09
758
2
原创 字符串模式匹配算法(暴力破解、KMP、BM、Sunday)
目录暴力破解KMP 算法构造 next 数组KMP代码BM 算法Sunday 算法参考资料又通过leetcode复习了之前的知识:找出字符串中第一个匹配项的下标你的面前有两段序列 S 和 T,你需要判断 T 是否可以匹配成为 S 的子串。你可能会凭肉眼立即得出结论:是匹配的。可是计算机没有眼睛,只能对每个字符进行逐一比较。对于计算机来讲,首先它会从左边第一个位置开始进行逐一比较:这样,当匹配到 T 的最后一个字符时,发现不匹配,于是从 S 的第二个字符开始重新进行比较:仍然不匹配,再次将 T 与 S 的第三
2023-07-12 16:06:41
351
原创 Java 为什么推荐用Deque实现Stack
Java推荐使用 Deque stack = new ArrayDeque() 代理Stack类实现栈结构的原因
2022-07-13 17:36:25
1562
3
原创 MySQL 各语句执行顺序
目录语句中各子句完整执行顺序概括(按照顺序号执行):每个子句执行顺序分析语句中各子句完整执行顺序概括(按照顺序号执行):from (注:这里也包括from中的子语句) join on where group by(开始使用select中的别名,后面的语句中都可以使用) avg,sum.... 等聚合函数 having select distinct order by limit每个子句执行顺序分析所有的 查询语句都是从from开始执行的,在执行过程中,每个步骤都会为
2022-01-10 11:22:20
5107
原创 MySQL 分类排名(并列、不并列),分组TOP N,ROW_NUMBER()函数
表结构学生表如下:CREATE TABLE `t_student` ( `id` int NOT NULL AUTO_INCREMENT, `t_id` int DEFAULT NULL COMMENT '学科id', `score` int DEFAULT NULL COMMENT '分数', PRIMARY KEY (`id`));数据如下:题目一:获取每个科目下最后两名学生的成绩平均值取最后两名成绩SELECT s1.* FROM stud...
2022-01-10 11:01:19
2811
原创 从机械硬盘和固态硬盘的结构来看IO
“磁盘”这个词,对于程序员来说并不陌生,我们知道它是一种存储介质,主要用来存储数据的,可以说常用的中间件基本上都离不开它,比如我们常用的MySQL数据库、kafka消息引擎,甚至redis缓存都离不开磁盘。我们在优化某个业务逻辑的时候,经常需要用到缓存,尽量让热数据都从缓存里读取,因为我们知道磁盘是缓慢的,特别在高并发的场景下,我们要保证极少的请求走磁盘IO。不知道你有没有思考过以下问题: 机械硬盘为什么慢? 机械硬盘有多慢? kafka也是写磁盘的,它却挺快的,为什么?..
2022-01-04 14:31:23
2217
1
原创 JAVA 序列化、反序列化
一、概括Java序列化就是指把Java对象转换为字节序列的过程,Java反序列化就是指把字节序列恢复为Java对象的过程。序列化最重要的作用:在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。总结:核心作用就是对象状态的保存和重建。(整个过程核心点就是字节流中所保存的对象状态及描述信息)...
2021-07-14 11:00:44
242
原创 Java 获取字段属性值的两种方法
目录一、需求二、方法1.Java反射2.转Json/Map get属性值三、取舍一、需求数百万数据(类Student),根据一定的标准计算成绩,其中标准动态变化,标准数量不固定,标准规则不固定,需要根据现有的标准计算,遂想到在每条标准添加对应Student类属性值,遍历现在的标准“动态”去取Student类的值。二、方法1.Java反射传入参数名,获取对应Object,然后根据对应标准把Object转成对应类型(使用策略模式具体算成绩)。publ...
2021-07-08 18:39:51
3190
原创 短路逻辑运算符和非短路逻辑运算符
没想到毕业工作后还会有随堂测试[旺财],有题如下:根据下面的代码:String s = null;会抛出NullPointerException异常的有()。if( (s!=null) & (s.length()>0) ) if( (s!=null) && (s.length()>0) ) if( (s==null) | (s.length()==0) ) if( (s==null) || (s.length()==0) )答案为 AC
2021-01-25 23:34:12
814
4
原创 Windows10 MySQL 5.7.32 安装
目录1.安装包下载2.文件、路径、参数配置3.配置环境变量4.运行MySQL1.安装包下载有梯子可以去官网下-->MySQL Community Server(存档版本)建议用mysql镜像 -->清华大学MySQL5.7镜像我用的是 mysql-5.7.32-winx64.zip2.文件、路径、参数配置解压 ,创建 data空文件夹 和 my-default.ini 文件(老版本可能是my.ini)my-default.ini 文...
2021-01-09 23:26:50
956
原创 Java static关键字 学习笔记
目录static 关键字静态变量 与 非静态变量 静态方法 static 特点Java 类执行顺序面试题参考资料static 关键字static关键字主要用来用于修饰成员(包括成员变量和成员函数),被static修饰的成员被所有的类对象所共享。Java是面向对象的语言,正常情况下只有用new实例化对象时才会正式生产数据存储空间,并可使用相应的方法。但对于static(静态)关键字来说是特殊的,一旦将成员变量、成员函数设为 static 后,我们就可以...
2020-12-26 14:02:03
220
1
原创 LeetCode 389. Find the Difference(找不同)
目录题目地址原题目方法一 计数遍历方法二 位运算-异或题目地址389. Find the Difference原题目方法一 计数遍历看到题目首先想到了使用HashMap,key存放字符,value存放出现次数。不过一看“只包含小写字母”,发觉只使用char[26]即可。class Solution { public char findTheDifference(String s, String t) { int[] ret = ne...
2020-12-18 20:03:57
201
原创 数据库——触发器基础知识
1 触发器的定义触发器(TRIGGER)是和表关联的特殊的存储过程,当数据库系统执行INSERT、UPDATE和DELETE事件时,会激活使其执行相应的操作。2 创建触发器2.1 触发器中的 new和 old在MySQL中用old和new表示触发器执行前和执行后的数据。new在before触发器中赋值,取值;在after触发器中取值。在after的触发器中,new的赋值已...
2020-03-19 18:07:53
1490
原创 LeetCode 260. Single Number III (只出现一次的数字 III)
目录题目地址原题目方法一 遍历数组解题过程代码实现复杂度分析方法二 位运算解题过程代码实现复杂度分析方法三 哈希表题目地址260. Single Number III原题目方法一 遍历数组看到 Single Number III,首先想到了之前做过的Single Number,知道用位运算应该会更好的解决问题,可惜...
2020-02-12 23:42:23
268
原创 LeetCode 190. Reverse Bits(颠倒二进制位)
题目地址:190. 颠倒二进制位原题目:颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596, ...
2020-01-17 17:49:57
1530
原创 LeetCode 136. Single Number (只出现一次的数字)
题目地址:136. Single Number原题目:本菜鸡的想法:先给数组排序,使得两个相同的数挨在一起 防止数组越界,从0到nums.length-2遍历数组找不相同的相邻两个数,较小的那个即是Single Number 找不到则说明最后一个数字是 Single Numberpublic int singleNumber(int[] nums) { ...
2020-01-08 16:43:13
229
原创 奇偶判断
刷LeeCode看到评论区有人回复奇偶判断s.length()&1仔细思考我终于懂了,把数字以二进制的形式展示后,只需要判断最后一个二进制位是 1 还是 0 。如果是 1 的话,代表是奇数,如果是 0 则代表是偶数,以11为例:奇偶判断代码如下: public void judge(int i){ if ((i&1)==1)...
2019-12-31 18:51:41
1422
1
原创 类似xshell的ssh工具 FinalShell
刚弄了个腾讯云,本地连接用,摸索中。官网: http://www.hostbuf.com/下载地址: http://www.hostbuf.com/downloads/finalshell_install.exe
2018-06-05 09:37:23
7177
1
关于scanf输入int[]的时候需要用 & 的疑问。
2019-03-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人