摘要:
为什么不用hash,二叉树,平衡二叉树(AVL),B-树呢?InnoDB并不支持hash索引 1.hash的时间复杂度是O(1),但是会退化为O(n),而且无法解决排序,范围查询等问题; 2.树的时间复杂度是O(log2(n));比O(n)小,所以排除hash; 3.二叉树的特点是 4.二叉树会产生 阅读全文
摘要:
通过用zk创建临时节点的特性,实现分布式锁; 当前只有一个线程创建成功,然后close之后,该节点被删除; 其他线程可以再次争抢。 实现一个生成订单号,几个线程生成几个订单号,模仿多jvm对应多个线程 public class OrderNumCreateUtil { private static 阅读全文
摘要:
ZooKeeper是什么? ZooKeeper是一个开源的分布式应用程序协调系统。简称ZK,ZK是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于它实现数据的发布/订阅、负载均衡、名称服务、分布式协调/通知、集群管理、Master选举、分布式锁盒分布式队列等等功能。它运行在JAVA环境之中 阅读全文
摘要:
参考博客:https://www.cnblogs.com/summerday152/p/14012622.html 单机 docker pull zookeeper(拉取镜像) docker images (查看镜像) docker run -d -p 2181:2181 --name kaka-z 阅读全文
摘要:
首次输入top,显示如下 其中: %CPU,%MEM分别是cpu占比和内存占比; %Cpu(s):显示cpu所有核数的信息,当在键盘上按1,会显示所有详细的核,因为我只有一个,所以显示如下; 另外: us是用户,sy是系统,id是idle空闲,这个数字越大越好。 还有: Load average是系 阅读全文
摘要:
CyclicBarrier是所有线程都到了指定的个数,才开始执行下边的代码。 public class CyclicBarrierDemo { // private static String[] arr = {"小王","小张","小李","小赵","小丽","小陈","小孙","小郭","小吴" 阅读全文
摘要:
/** * CountDownLatch的两种使用场景: * 场景1:让多个线程等待 * 场景2:和让单个线程等待。 */ public class CountDownLatchDemo { public static void main(String[] args) throws Exceptio 阅读全文
摘要:
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候 阅读全文
摘要:
设置过期时间 声明一个DeadQueue @Configuration public class DeadRabbitmqConfiguration { //声明交换机 @Bean public DirectExchange deadDirect(){ return new DirectExchan 阅读全文
摘要:
队列设置过期时间 在生产者建TTL配置类 @Configuration public class TTLRabbitmqConfiguration { //声明交换机 @Bean public DirectExchange ttlDirectExchange(){ return new Direct 阅读全文