-
95
热度 -
48
热度 -
[综合] TreeMap的put方法
TreeMap通过put()和deleteEntry()实现红黑树的增加和删除节点操作 新增节点前提: 需要调整的节点总是红色的如果插入新节点的父节点是黑色的,无须调整 如果插入新节点的父节点是红色的,因为红黑树规定不能出现相邻的两个红色节点,所以进入循环判断,或重新着色,或左右旋转,最终达到...
17
热度 -
[综合] TreeMap的get方法
TreeMap的get(Objectkey): publicVget(Objectkey){Entry<K,V>p=getEntry(key);return(p==null?null:p.value);} 根据指定key,比较器比较去寻找指定节点,找不到返回null finalEntry...
76
热度 -
[综合] JDK7 HashMap(一)
哈希类集合的三个基本存储概念: table,存储所有节点数据的数组 slot哈希槽,即table[i]的位置 bucket哈希桶,即table[i]上所有元素形成的表或者树的集合 存储所有节点的table数组transientNode<K,V>[]table; 描述一个hash...
52
热度 -
[综合] JDK7 HashMap(二)
publicVput(Kkey,Vvalue): publicVput(Kkey,Vvalue){//hash函数计算得到hash值inthash=hash(key);//通过hash函数获得哈希槽的位置inti=indexFor(hash,table.length);//遍历哈希槽上所有数据,判...
80
热度 -
30
热度 -
[综合] RabbitMQ相关
验证RabbitMQ是否安装成功: sudorabbitmqctlstatus 查看RabbitMQ集群信息: sudorabbitmqctlcluster_status 添加新用户: rabbitmqctladd_userroot1234567 为root用户设置所有权限: root@song...
66
热度 -
[综合] RabbitMQ生产者消费者DEMO
生产者客户端代码 packagecom.song.songvue.config.message;importcom.rabbitmq.client.Channel; importcom.rabbitmq.client.Connection; importcom.rabbitmq.client.Con...
36
热度 -
[综合] RabbitMQ相关使用
判断队列是否存在,如果指定的队列存在,则正常返回,反之则抛出异常 try{AMQP.Queue.DeclareOkdeclareOk=channel.queueDeclarePassive(QUEUE_NAME);Stringqueue=declareOk.getQueue();System.out...
59
热度 -
79
热度 -
[综合] RabbitMQ备份交换器
备份交换器Alternate-Exchange,简称AE 生产者在发送消息时如果不设置mandatory参数,那么消息在未被路由的情况下将会丢失。如果设置了mandatory参数,则需要添加ReturnListener的编程逻辑,生产者的代码变的复杂。如果不想复杂生产者代码,又不想消息丢失,可以使...
51
热度 -
[综合] RabbitMQ过期时间(TTL)
设置TTL: root@song-PC:/home/song#rabbitmqctlset_policyTTL".*"'{"message-ttl":1000}'--apply-toqueues Settingpolicy"TTL"forpattern".*"to"{\"message-ttl\":...
67
热度 -
[综合] Linux whereis 快速寻找应用安装位置
root@song-PC:/usr/share#whereisredis redis:/etc/redis root@song-PC:/usr/share#whereisrabbitmq rabbitmq:/usr/lib/rabbitmq/etc/rabbitmq/usr/share/rabbi...
47
热度 -
[综合] RabbitMQ重置(不推荐)
(不推荐)使用reset方式重置rabbitmq即清空掉rabbitmq所有的队列数据和配置(划重点) root@song-PC:/home/song#rabbitmqctlstop_app Stoppingnode'rabbit@song-PC'... root@song-PC:/home/so...
86
热度 -
[综合] RabbitMQ优先级队列
延迟队列: 延迟队列存储的对象是对应的延迟消息,所谓的延迟消息是指当消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定的时间后,消费者才能拿到这个消息进行消费。 延迟队列的使用场景:在订单系统中,一个用户下单之后通常有30分钟的时间进行支付,如果30分钟之内没有支付成功,则对这个订单进行异常处...
87
热度 -
[综合] RabbitMQ事务机制
生产者确认机制: 默认情况下发送消息的操作是不会返回任何信息给生产者的,也就是默认情况下生产者是不知道消息有没有正确的到达服务器,如果在消息到达服务器之前就已经丢失了,持久化操作也解决不了问题。 RabbitMQ针对这个问题,提供了两种解决方式: 通过事务机制实现 通过发送方确认(publish...
73
热度 -
[综合] RabbitMQ发送方确认机制
发送方确认机制: 发送方无法确认消息是否准确到达RabbitMQ,随后我们了解到事务机制可以解决这个问题,但是采用事务机制会严重降低RabbitMQ的消息吞吐量,这里引入一种更轻量级的方式---发行方确认(publisherconfirm)机制 生产者将信道设置成confirm(确认)模式,一旦信道...
57
热度 -
[综合] RabbitMQ消息相关概念
消息端要点: 当RabbitMQ队列拥有多个消费者时,队列收到的消息将以轮询的分发方式发送给消费者。每条消息只会发送给订阅列表里的一个消费者。这种方式非常适合扩展,如果负载加重,那么只需要创建更多的消费者来消费处理消息即可。轮询分发机制也不是那么优雅,默认有n个消费者,那么RabbitMQ会将第m条...
22
热度 -
[综合] RabbitMQ多租户与权限
每一个RabbitMQ服务器都能创建虚拟的消息服务器,我们称之为虚拟主机(virtualhost),简称vhost.每一个vhost本质上都是一个独立的小型RabbitMQ服务器,拥有独立的队列,交换器以及绑定关系等,并且拥有独立的权限。vhost就像是虚拟机与物理服务器一样,它们在各个实例之间提供...
40
热度