- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 springboot初步使用RocketMQ
Consumer类:/**RocketMQ消费者类,在web容器启动时启动一个消费线程,详见MyListenerOnServlet * Created by chenhaitao on 2017/9/28. */public class Consumer { public void testConsume(){ DefaultMQPushConsumer con
2017-09-28 14:45:21 3494
原创 springboot结合redis实现redis订阅发布模式
redis订阅发布模式:Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。Redis的这种发布订阅机制与基于主题的发布订阅类似,Channel相当于主题。实现功能
2017-09-27 09:54:38 4066 1
原创 Java中CountDownLatch的使用
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException 构造方法参数指定了计数的次数co
2017-09-25 17:52:56 174
转载 Redis消息系统——发布/订阅
发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合。redis作为一个pub/sub server,在订阅者和发布者之间起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向redis serve
2017-09-25 16:13:13 453
转载 HashMap的实现
JDK7中的HashMapHashMap底层维护一个数组,数组中的每一项都是一个Entry我们向 HashMap 中所放置的对象实际上是存储在该数组当中; 而Map中的key,value则以Entry的形式存放在数组中static class Entry implements Map.Entry { final K key; V value;
2017-09-22 14:14:31 105
转载 HashMap为什么线程不安全
hash碰撞与扩容导致通过Entry内部的next变量可以知道使用的是链表,这时候我们可以知道,如果多个线程,在某一时刻同时操作HashMap并执行put操作,而有大于两个key的hash值相同,如图中a1、a2,这个时候需要解决碰撞冲突,而解决冲突的办法上面已经说过,对于链表的结构在这里不再赘述,暂且不讨论是从链表头部插入还是从尾部初入,这个时候两个线程如果恰好都取到了对应位置的头结
2017-09-22 13:55:41 309
转载 利用HandlerExceptionResolver对SpringMVC进行统一异常处理
要解决Controller的异常问题,当然也不能在每个处理请求的方法中加上异常处理,那样太繁琐。Spring MVC提供了一个HandlerExceptionResolver接口,可用于统一异常处理。HandlerExceptionResolver接口public interface HandlerExceptionResolver { ModelAndView resol
2017-09-11 15:35:28 1481
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人