- 博客(14)
- 收藏
- 关注
原创 FutureTask介绍
java.util.concurrent.FutureTask<V> 介绍:FutureTask实现了RunnableFuture接口,具备了Runnable和Future的所有特性。 Future提供了一种获得异步线程运行结果的机制。可以通过调用get方法得到结果,如果线程还未结束,会阻塞当前线程直至结果返回或中断发生。Future一般和Callable以及Ex...
2013-12-07 18:14:49
157
原创 Semaphore介绍
java.util.concurrent.Semaphore 介绍: Semaphore是一个信号灯模型,简单理解为N进N出的模型。每次调用acquire时,如果已经有N个线程进入管道,则会阻塞。每次线程离开管道时,通过release释放掉。当Semaphore的count为1时,它的语义就差不多是个互斥锁了,一进一出。 //JDK中的 例子,通过一个...
2013-12-07 15:49:37
160
原创 CountDownLatch介绍
java.util.concurrent.CountDownLatch 介绍: CountDownLatch是一个开闭锁,允许多个线程同时阻塞在一个点,然后通过信号量来同时释放线程。就好像赛马比赛:所有的马(Thread)都等着栅栏(Singal)放开那一刻,放开后,奋力前行,到达终点(CPU或者其他资源)。 CountDownLatch初始化方法为:CountDo...
2013-12-07 15:27:12
143
原创 Condition介绍
java.util.concurrent.locks.Condition介绍: Condition其实类似Object的Monitor模型(wait,notify,notifyAll),和Object的monitor需要在sychronized里一样,Condition需要和Lock搭档。 Condition可以通过Lock.newCondition()方法获取。某...
2013-12-06 22:21:51
171
原创 ReentrantLock介绍
java.util.concurrent.locks.ReentrantLock 介绍: reentrant 是一个排它锁,和Synchronized有相同的作用,除此之外,还提了其他功能。 ReentrantLock 通过调用lock方法,使线程获取锁,多线程同时获取锁时,只有一个线程可以得到此锁,其他的线程将处于阻塞状态。如果某个线程已经获得锁,再次请求获...
2013-12-06 14:53:55
212
原创 AbstractQueuedSynchronizer的介绍
简介:在AQS中,实现了一个FIFO的队列,主要通过waitStatus来控制队列单元的状态(park和unpark)。AQS实现了共享锁和排它锁的算法。 Node { int waitStatus; Node prev; Node next; Node nextWaiter; Thread thread;} waitSta...
2013-12-06 10:35:51
120
原创 Mysql Limit的使用效率
资料:PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇”Efficient Pagination Using MySQL“的报告。 clue做法:给翻页提供一些”线索”,比如还是SELECT * FROM message ORDER BY id DESC,按id降序分页,每页20条,当前是第10页,当前页条目id最大的是9527,...
2013-11-05 00:06:30
138
原创 protocolbuffer thrift avro
Thrift is not a standard. It is originally from Facebook and was later open-sourced and is currently in the Apache incubator (where it's been since 2008, so it appears to be moving very slowly.) It i...
2013-07-24 23:49:18
119
原创 Spring-IOC学习:WebApplicationContext(三)
WebApplicationContext:web容器ctx,目的是可以加载WEB-INF下面的资源文件。 ConfigurableWebApplicationContext:主要提供了几个设置配置的接口:ServletContext,ConfigLocations AbstractRefreshableWebApplicationContext:这个接...
2013-07-02 23:57:00
149
原创 Spring-IOC学习:ApplicationContext(二)
ApplicationContext:BeanFactory的另一种展现形式。getAutowireCapableBeanFactory方法可以看出ApplicationContext中聚合一个AutowireCapabelBeanFacotry,所以ApplicationContext实质还是用的XmlBeanFacotry,可以看成只是封装。 ResourcePatter...
2013-06-30 13:47:04
122
原创 Spring-IOC学习:BeanFactory(一)
spring的核心内容便是IOC(Inversion Of Control, 不过有人觉得叫Dependency Injection 更贴切) : BeanFactory: spring Bean 容器最顶层的接口,主要定义了基本的Bean获取操作。其子类必须尽可能的支持SpringBean对象的生命周期,它的顺序如下(只是先后顺序,可以跳过):1. ...
2013-06-26 22:31:59
129
原创 Spring-IOC学习-Prototype reference inside a Singleton
Prototype reference inside a Singleton 在Spring容器中,如果定义了一个Singleton作用域的Bean,但是属性Bean是一个prototype作用域的,会怎么样?如果按照平常类似<bean></bean>的格式注入,是不可以。唯一的办法是将prototype这个Bean对象改成ProxyBean。...
2013-06-24 20:02:25
196
原创 Spring-IOC学习-Lazy-Init
lazy-init配置是懒加载,但是需要 ApplicationContext的时候才有效,并且Bean的作用域是singleton。XmlBeanFactory会忽略这个配置。 具体可以看下spring文档的内容:http://static.springsource.org/spring/docs/2.5.x/reference/beans.html#beans-facto...
2013-06-23 22:51:35
135
原创 Spring Aop介绍
介绍的不错。转自http://www.goldendoc.org/2010/12/spring_aop/ 软件开发经历了从汇编语言到高级语言和从过程化编程到面向对象编程;前者是为了提高开发效率,而后者则使用了归纳法,把具有共性的东西进行归类并使之模块 化,达到便于维护和扩展的目的;如果说面向对象编程可以对业务需求进行很好的分解使之模块化;那么面向切面编程AOP(Aspect-Orient...
2013-06-19 12:25:18
101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅