摘要: 小史:树的话,无非就是前中后序遍历、二叉树、二叉搜索树、平衡二叉树,更高级一点的有红黑树、B 树、B+ 树,还有之前你教我的字典树。 红黑树 一听到红黑树,小史头都大了,开始抱怨了起来。 小史:红黑树看过很多遍了,但是每次都记不住,它的规则实在是太多了,光定义就有四五条规则,还有插入删除的时候,需要 阅读全文
posted @ 2019-03-31 02:37 Twinhead 阅读(491) 评论(0) 推荐(1) 编辑
摘要: left join on and 与 left join on where的区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的 阅读全文
posted @ 2019-03-18 20:57 Twinhead 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-03-11 22:41 Twinhead 阅读(283) 评论(0) 推荐(0) 编辑
摘要: postman测试上传文件 输入url:http://127.0.0.1:8081/uploadfile 选择post方式 选择body 选择form-data,text改为file 输入key:file ,value:选择文件 send即可 输入url:http://127.0.0.1:8081/ 阅读全文
posted @ 2019-03-03 15:06 Twinhead 阅读(6013) 评论(0) 推荐(1) 编辑
摘要: 1.引言 RabbitMQ——Rabbit Message Queue的简写,但不能仅仅理解其为消息队列,消息代理更合适。RabbitMQ 是一个由 Erlang 语言开发的AMQP(高级消息队列协议)的开源实现,其内部结构如下: RabbitMQ作为一个消息代理,主要和消息打交道,负责接收并转发消 阅读全文
posted @ 2019-01-26 20:02 Twinhead 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 阿里镜像源,直接在终端安装,首先在终端输入 su 点击回车,输入密码,密码输入时为了安全是不显示的,你输入以后直接回车就可以了。 zypper addrepo -f http://mirrors.aliyun.com/opensuse/update/leap/42.3/oss openSUSE-42 阅读全文
posted @ 2018-12-10 22:45 Twinhead 阅读(2343) 评论(0) 推荐(0) 编辑
摘要: 轮询(Round Robin)法 1.获取ip列表 2.根据ip在list的中pos顺序获取,server = keyList.get(pos);(使得同一时刻只能有一个线程可以修改pos的值) 随机(Random)法 1.获取ip列表 2.Random的nextInt方法取0~keyList.si 阅读全文
posted @ 2018-11-03 14:29 Twinhead 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 三次握手client->server syn报文server->client syn+ack报文 client->server ack报文 如果server没有收到ack回复,则将client放入等待队列,轮训发送syn+ack 四次握手client->serve fin报文server->clie 阅读全文
posted @ 2018-11-03 14:28 Twinhead 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 一、Java 虚拟机内存原型 寄存器:我们在程序中无法控制。 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中。 堆:存放用new产生的数据。 静态域:存放在对象中用static定义的静态成员。 常量池:存放常量。 非 RAM 存储:硬盘等永久存储空间。 二、常量池(con 阅读全文
posted @ 2018-11-03 14:26 Twinhead 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 缓存击穿 定义: 缓存中的key一般设有过期时间,如果某个key过期了,恰在这个时候,有大量的并发请求访问这个key,则这些请求都会到达DB,导致DB瞬间压力过大,压垮DB。 解决方案: 1.设置互斥锁,mutex。当缓存失效时不时立即去访问数据库,而是使用缓存工具的操作成功带返回值的操作,比如re 阅读全文
posted @ 2018-11-03 14:17 Twinhead 阅读(1963) 评论(0) 推荐(0) 编辑