- 博客(31)
- 收藏
- 关注
原创 mysql存储引擎innodb隔离级别RR(REPEATABLE READ )锁定读行锁的范围罗列
1.首先创建一个user表CREATE TABLE `user` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `name` varchar(30) DEFAULT NULL COMMENT '姓名', `age` int DEFAULT NULL COMMENT '年龄', `email` varchar(50) DEFAULT NULL COMMENT '邮箱', `create_time` datetime DEF
2020-11-22 08:53:29 1018
原创 group by 基于临时表和基于B+树的数据结构形式
前提:在MYSQL 8 以及之后,group by 不会再进行order by 了,所以如果我们不需要排序,那么无须再进行order by null 。group by 详解: 如果有索引,那么就会走索引,如果没有索引那么会走全表扫描,此时会有个临时表。 走临时表的情况: 取出每一条数据,然后对age做一个唯一索引,每次取出的数据都与updateTime进行对比,如果比它大,那么就会替换到旧值。 走索引的情况: ...
2021-11-27 15:31:56 357
原创 二叉堆
package maxheap;import java.util.ArrayList;import java.util.List;public class Test1 { static class MaxHeap{ ArrayList<Integer> data; public MaxHeap(){ data=new ArrayList<Integer>(); } pu
2021-01-30 13:57:56 122
原创 红黑树插入操作步骤分解
23树是具有绝对平衡的二叉树,即平衡因子是0(AVL树平衡因子控制在1),而红黑树模仿了23树的特征,但是不是真正意义上的平衡树。画一下23树和红黑树比较一下就清楚了如上图所示,左边的是23树,右边的是红黑树。红黑树的特点是左倾斜,即右不能有红色节点,如果有红色节点 要进行如下操作。1.左旋转,左节点是黑,右结点是红旋转完成后,交换两个节点的颜色。2.如果是这种情况,直接改变两个子节点的颜色为黑色,根节点变红,整个过程相当于颜色的翻转3.还有这种左子树连续两个都是红色的,此时进行右旋转,
2021-01-29 23:16:39 276
原创 AVL树-删除操作(维护平衡的操作)
public Node remove(Node node,int data){ if( node == null ) return null; Node retNode=node; if (data==node.data){ if (node.left!=null&&node.right!=null){ Node min = fin.
2021-01-29 15:02:27 391
原创 AVL树-平衡树
我们先来分析AVL的高度node.heigh= Math.max(getHeigh(node.left),getHeigh(node.right))+1;`首先,我们向二叉树插入数据18和45,插入18的时候,根据上述代码,我们从20的左右子节点找到一个高度最高的,也就是30所在的位置高度1,然后再+1得到20节点所在的高度。我们再插入45的时候,取30左右子节点的最大高度,30的左子节点为null,所以右子节点高度为1,也就是30的高度为2.此时回溯到20节点,20节点的左右子节点最大节点为30
2021-01-28 20:34:05 146
原创 二叉搜索树-删除节点
package binarytree;public class Test1 { static class Node{ int data; Node left; Node right; public Node(int data){ this.data=data; left=null; right=null; } } static c
2021-01-27 22:06:50 85
原创 二叉搜索数-查找结点
package binarytree;public class Test1 { static class Node{ int data; Node left; Node right; public Node(int data){ this.data=data; left=null; right=null; } } static c
2021-01-27 17:32:47 172
原创 二叉树-先中后遍历
package binarytree;public class Test1 { static class Node{ int data; Node left; Node right; public Node(int data){ this.data=data; left=null; right=null; } } static c
2021-01-27 17:09:39 85
原创 二分搜索树-递归插入
package binarytree;public class Test1 { static class Node{ int data; Node left; Node right; public Node(int data){ this.data=data; left=null; right=null; } } static c
2021-01-27 16:57:00 102
原创 LinkedHashMap--特性
我们知道散列表的遍历并不能保证顺序,因为它是经过hash到对应的桶中。由图中打印的结果来看,LinkedHashMap是可以保证顺序的。我们再来看一组数据的输出结果Linked的本质其实是在插入的数据中维护一个双向链表。当遍历数据的时候,直接从双向链表中遍历,get数据的时候会把数据放到尾结点,覆盖数据的先删除原有的数据,然后插入到尾结点...
2021-01-27 10:47:08 258
原创 查找算法-二分查找
package binarysearch;import java.util.Arrays;//二分查找public class Test1 { public static void main(String[] args) { int[] numbers= {1,2,3,4,5,7,8,22,33}; int i = binaySort(numbers, 0, numbers.length -1, 22); System.out.println
2021-01-26 20:31:29 72
原创 排序算法-选择排序
package selection;import java.util.Arrays;public class Test1 { public static void main(String[] args) { int[] numbers= {2,1,3,4,5,6,7,8,4,3,2,2,0,-1,-2,100,20,34332}; for (int i = 0; i < numbers.length; i++) { int tem
2021-01-26 16:50:34 71
原创 排序算法-插入排序
package insertion;import java.util.Arrays;public class Test1 { public static void main(String[] args) { int[] numbers= {2,1,3,4,5,6,7,8,4,3,2,2,0,-1,-2,100,20,34332}; for (int i = 1; i < numbers.length; i++) { int tem
2021-01-26 16:20:14 67
原创 排序算法-冒泡排序
package bubble;import java.util.Arrays;//冒泡排序,稳定的排序算法,把最大或者最小的数逐渐向右或向左移动public class Test1 { public static void main(String[] args) { int[] numbers= {1,2,3,4,5,6,7,8,4,3,2,2}; for (int i = 0; i <numbers.length ; i++) {
2021-01-26 15:20:07 72
原创 排序算法-基数排序(基于桶排序)
package radix;import java.util.Arrays;public class Test1 { public static void main(String[] args) { String[] numbers={"18144154252","18144154262","18144154253"}; int[] bucket=null; String[] R=null; for (int j = 10; j
2021-01-26 15:00:42 114
原创 排序算法-桶排序(计数排序)
package bucket;//桶排序---计数排序import java.util.Arrays;//题目:给分数 0-5分的同志排序 假设 0,2,3,0,2,0,5,4,1public class Test1 { public static void main(String[] args) { int[] numbers={2,5,3,0,2,3,0,3}; //数组下标代表分数 也就是0-5分 int[] bucket=new .
2021-01-26 10:08:33 118
原创 排序算法-快速排序
package partition;import java.util.Arrays;public class Test1 { public static void main(String[] args) { int[] numbers={1,2,3,4,5,6,0,7,8,9,10,0}; partitionSort(numbers,0,numbers.length-1);// for (int n:numbers) {//
2021-01-25 21:48:34 95
原创 排序算法-归并算法
package merger;import com.sun.tools.javac.util.ArrayUtils;/** * 归并算法 */public class Test1 { public static void main(String[] args) { int[] numbers={1,4,9,33,2,55,24,6,99}; mergerSort(numbers); for (Integer i: numbers ) {
2021-01-25 17:30:09 117 1
原创 RabbitMQ-直连模式
public class Product { public static void main(String[] args) throws IOException, TimeoutException { ConnectionFactory connectionFactory=new ConnectionFactory(); connectionFactory.setHost("10.211.55.3"); connectionFactory.setPo.
2020-12-12 18:06:05 279
原创 RabbitMQ管理界面介绍
在RabbitMQ中,我们一般不使用linux的命令行来进行操作,而是使用可视化图形界面进行操作。 rabbitmq-plugins enable|list|disable 我们在装有RabbitMQ的系统上执行这个命令,开启可视化图形界面。http://10.211.55.3:15672我们使用ip+端口号的形式直接访问界面。使用账号密码均为guest进行登录这个界面包含了mq的一些基本信息,我们来看三个端口:amqp::5672 这个端口表示我们生产者消费者...
2020-12-12 17:24:08 1970
原创 存储器-cpu高速缓存2
先来看一段java 代码public class test { private static volatile int COUNTER = 0; public static void main(String[] args) { new ChangeListener().start(); new ChangeMaker().start(); } static class Change
2020-11-30 10:29:46 124
原创 存储器-cpu高速缓存1
存储器类别现代存储器一共包括以下几种: 寄存器 直接和cpu进行交互数据的存储器 (速度最快)与cpu1级高速缓存交互 cpu 1级高速缓存 直接嵌在cpu内部,每个cpu独有的 cpu 2级高速缓存 在cpu外部,也是每个cpu独有 cpu 3高速缓存 所有cpu共享的缓存 内存 与高速缓存交互、通过cpu控制dma与内存做交互 硬盘 通过cpu控制dma与内存做交互 上图的存储器速度,从上到下依...
2020-11-29 22:28:47 584
原创 二进制浮点数的精度丢失问题
二进制浮点数的精度丢失问题二进制浮点数介绍二进制组成部分丢失精度的情况10.3的二进制数:下面我们来看0.6的二进制表示0.3+0.6结果:我们再来看一组数据0.3+0.4还有一种丢失精度的情况二进制浮点数介绍二进制组成部分二进制对应的:名称解释符号位1位正数 0位负数指数位到0~255 一共8位 映射到 -126~127 0和255(有特殊用途 NAN和无穷大小的判断)有效位一共23位丢失精度的情况1十进制数0.3+0.6,因为计算机都是先转换成二进
2020-11-25 22:15:43 2048
原创 事务中的脏写、脏读、不可重复读、幻读
事务中的脏写、脏读、不可重复读、幻读首先来说一下事务中会发生的问题:脏写、脏读、不可重复读、幻读假设id=5的记录最原始的username=“小王”1.脏写sessionAsessionBbegin //开启事务begin//开启事务update user set username=“张三” where id=5;commit//提交事务update user set username=“李四” where id=5;ROllBACK
2020-05-27 11:53:16 1580
原创 mysql事务的特性与概念
事务的隔离级别事务的特性功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入事务的特性事务一共有四个特性原子性:类似原子,原子不可分割,在mysql中的表现就是开启的事务,该事务内的sql必须执行完成,否则就回滚。隔离性:假设
2020-05-18 22:19:19 272
原创 泛型的使用2
1.首先明白 Number是Integer的父类,那么List类型作为参数,使用List能正确传递吗?看图很明显,这里是不兼容的,那么怎么样才能使其兼容呢。继续看下图把Number换成?就兼容了,说明?是个具体的类型,是所有类型的父类。继续看下图说明这个?是个Object类型,如果使用了?相当于使用了Object类型。...
2020-04-28 20:42:22 143
原创 泛型的使用1
泛型只在编译期间有效,并且在编译期间会验证传入的值是否为泛型类型的值,如果不是对应泛型的值,将会报错:图1 图2此时的构造函数的值应该是泛型的类型的值,也就是String类型的值,否则会报错。2.如下图说明了,泛型在编译成class文件会被擦除,也就是运行的是同一个Class文件,此处和JVM的类加载相关。不赘述图33.如果没有传入对应的泛型,则是Object类型,因为Object...
2020-04-27 22:24:46 257
转载 关于IDEA Servlet注解异常
https://blog.csdn.net/wanghuawei19930812/article/details/80872107 参考此链接
2019-02-09 20:52:40 1752
原创 关于JDBC连接数据库异常
数据库JAR包要手动放Tomcat对应的项目的lib文件夹下,并且在项目中导入JAR包,两个JAR包要一致,否则会出现异常。JAR包的版本也要注意
2018-12-15 12:46:06 410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人