- 博客(6)
- 收藏
- 关注
原创 实习学习记录
SQL的Case WhenSQL的Case When结合sum和count的case when构建流程:创建客户端连接对象CloseableHttpClienthttpclient;创建URIBuilder uriBuilder对象;定义一个list,该list的数据类型是NameValuePair(简单名称值对节点类型),存放Get/Post请求的参数;使用uriBuilder.setParameters(list)进行参数拼接;uriBuilder.build()获取URL;
2023-09-12 16:49:52
75
原创 com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException
然后对记录加独占锁,该事务没有提交,又开启一个新事务执行update操作,且where条件没有使用索引,会走全表扫描,需要对所有记录加上 next-key 锁(记录锁 + 间隙锁),但是由于前一个事务没有提交,会阻塞,所以会等待前一个事务释放锁资源。sysServiceImpl.update执行的是update操作,如果where条件使用索引,会对记录加独占锁(X锁),否则会走全表扫描,personServiceImpl.saveParent执行的是insert操作,执行成功后会加。
2023-09-12 14:34:32
742
原创 Map学习记录
无序性不等同于随机性,向多个HashMap添加相同顺序的元素,遍历顺序是一致的,无序是指元素在底层数组中的存储顺序不是按照添加顺序来存储,而是按照哈希值来存储。使用匿名内部类或lambda表达式,重写Comparator接口的compare方法,从而实现定制排序。如果链表长度大于8,且数组长度大于64(当数组长度小于64时,数组扩容),则将链表转换为红黑树。如果key是对象,可实现Comparable接口,重写compareTo方法,从而实现定制排序。JDK1.7,HashMap的底层结构是。
2023-09-11 20:51:46
103
原创 List学习记录
JDK1.8及之后时,无参构造时底层的Object[]数组先初始化为{},当需要添加第一个元素时才初始化一个长度为10的Object[]数组,并进行元素添加。最坏情况,删除首部元素,剩余元素都需要向前移动一位,时间复杂度为O(n)。最坏情况,在头部插入,所有元素都需要向后移动一位,时间复杂度为O(n)。最坏情况,末尾元素才是所需元素或者元素不存在,时间复杂度为O(n)。最好情况,首部元素即为所需元素,时间复杂度为O(1);最好情况,直接删除末尾元素,时间复杂度为O(1);时间复杂度为O(n)。
2023-09-09 21:47:50
43
1
原创 红黑树学习记录
AVL树的平衡比较严格,在进行频繁的插入删除操作时,为了保持左右子树的高度差不超过1的平衡条件,需要进行频繁的旋转操作来维持平衡。与AVL树相比,红黑树牺牲了部分平衡性,以换取插入/删除操作时。如果存在极端情况,每次节点插入时都是最大或最小的元素,那么二叉查找树就退变成一条链表啦😱。对任一节点而言,其左子树的所有节点都小于该节点,其右子树的所有节点都大于该节点。首先找到其左右子树失衡的节点,例如下图中节点9的左右子树失衡了,高度差超过1。左旋:失衡节点指向其右孩子的左孩子。一般在插入红黑树节点的时候,会。
2023-09-08 21:40:42
148
1
原创 为什么重写equals()时必须重写hashcode()
如果只重写了equals()没有重写hashcode(),那么在加入HashSet时,p1映射到哈希表中的位置可能是A,而p2映射到哈希表中的位置可能是B,此时p1、p2均被成功的加入到了HashSet中,这就违反了HashSet的不重复原则。以HashSet为例来描述“为什么重写equals()时必须重写hashcode()”可以看到,p1和p2两个对象相等,但是hashcode值并不相等。,我们才认为这两个对象相等。摘自JavaGuide。
2023-09-07 11:42:47
206
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人