上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 35 下一页

2018年2月16日

锁 - 抽象锁AbstractQueuedSynchronizer

摘要: 抽象锁 AbstractQueuedSynchronizer 很难去翻译这个词,抽象排队同步器?这里姑且叫抽象锁吧。 抽象锁只是一个抽象类,锁封装了一些锁的常规操作,包括信号量、倒数锁、可重入锁,内部代码都包含了抽象同步锁的实现类。 抽象同步锁用到了Unsafe类,Unsafe虽然在Java的基础包 阅读全文

posted @ 2018-02-16 18:11 疯狂的妞妞 阅读(392) 评论(0) 推荐(0)

锁 - 可重入锁ReentrantLock

摘要: 可重入锁 其实 synchronized 就是一个可重入锁,而 ReentrantLock 具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但 ReentrantLock 的功能更强大。 可重入锁“可重入”的意思就是:当前线程获取了一个锁,就可以进入任何 阅读全文

posted @ 2018-02-16 17:51 疯狂的妞妞 阅读(128) 评论(0) 推荐(0)

2018年2月3日

锁 - 线程屏障CyclicBarrier

摘要: CyclicBarrier 直译是:循环屏障、可重用屏障。日常交流过程中,也可能称作:线程屏障。 跟信号量、倒数锁一样,都可以简单地实现“多个子线程执行完毕,主线程开始执行”的功能。 而屏障锁是其中较为特殊的: 几个线程互相等待,直到某个公共屏障点 (common barrier point),它们 阅读全文

posted @ 2018-02-03 08:36 疯狂的妞妞 阅读(261) 评论(0) 推荐(0)

锁 - 倒数锁CountDownLatch

摘要: CountDownLatch 倒数锁,顾名思义,需要给定一个初始值,每次调用计数减一,计数到达零之前,线程将一直受阻塞,计数到零之后,会释放所有等待的线程。 业务场景:主线程需要5个并发的初始化操作,5个线程全部执行完毕,主线程开始执行。 /** * @author ChenSS on 2018年2 阅读全文

posted @ 2018-02-03 08:33 疯狂的妞妞 阅读(130) 评论(0) 推荐(0)

锁 - 信号量Semaphore

摘要: Semaphore 直译:发出信号、打旗语,在编程中通常被称为:计数信号量,或者信号量。 举个生活案例 比如说旅店有10个单人间,有非常多的人要住; 最多只会只有10个人拿到钥匙; 没拿到钥匙的人非要住,那就只能等了; 而拿走钥匙的人,不住了那就必须退还钥匙,不然别人就没办法住。 信号量的使用类似于 阅读全文

posted @ 2018-02-03 08:29 疯狂的妞妞 阅读(183) 评论(0) 推荐(0)

2018年2月2日

mq - 优先队列PriorityQueue

摘要: 场景描述 队列通常采用 FIFO(先进先出) 策略,可以满足多数情况下的开发需求,但是也有其不足之处。 例如: 我要小明帮我买早餐, 第一次,“小明,你后天帮我买牛奶吧!”, 过了一会儿,“小明,你明天帮我买豆浆呗!”。 这个案例中,我先叫小明买的牛奶,再叫他买的豆浆,如果按照普通队列,按顺序执行, 阅读全文

posted @ 2018-02-02 10:40 疯狂的妞妞 阅读(181) 评论(0) 推荐(0)

mq - 阻塞队列BlockingQueue

摘要: 队列 Queue 在 java 中,继承自 Collection,多数的实现类位于 java.util.concurrent,与线程池位于同一个包下,大多数的队列都与线程和锁挂钩,少量位于 java.util,比如 LinkedList、PriorityQueue。 程序员最早接触的队列一般是 Li 阅读全文

posted @ 2018-02-02 10:33 疯狂的妞妞 阅读(361) 评论(0) 推荐(0)

2017年12月21日

spring - 注册代理类

摘要: 最近我遇到了一个难题,如下图,禁止任何类继承A这个接口,而程序正常运行,怎么实现? (换种问法,就是如何实现Mybatis的配置方式) 了解代理模式的,一看就知道,要使用动态代理的知识,但,问题的难点不在这; 难点是要把代理类,注册到Spring容器中,使用@Autowired可以获取到你的代理类。 阅读全文

posted @ 2017-12-21 21:55 疯狂的妞妞 阅读(229) 评论(0) 推荐(0)

spring - 静态工厂

摘要: 常规用法,没什么好说的,一看就懂 注解和Xml配置混用 public class BeanFactory { public Object getInstance(int a) throws Exception { if(a==1){ return new HelloWorld1(); }else{ 阅读全文

posted @ 2017-12-21 19:32 疯狂的妞妞 阅读(123) 评论(0) 推荐(0)

2017年12月10日

html - 追加dom元素

摘要: javascript 纯 javascript 的情况下,往往需要创建 node 对象,设置参数之后,进行 append() 操作。 const parent = document.createElement('div'); const child = document.createElement( 阅读全文

posted @ 2017-12-10 00:11 疯狂的妞妞 阅读(2878) 评论(1) 推荐(0)

上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 35 下一页

导航