Spring Bean的生命周期是Spring面试热点问题。这个问题即考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入...

Spring Bean的生命周期是Spring面试热点问题。这个问题即考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入...
微服务兴起这几年涌现出不少分布式事务框架,比如ByteTCC、TCC-transaction、EasyTransaction以及最近很火爆的Seata。最近刚看了Seata的...
在JDK1.5已经提供了Future和Callable的实现,可以用于阻塞式获取结果,如果想要异步获取结果,通常都会以轮询的方式去获取结果,如下: 从上面的形式看来轮询的方式...
Socket原理 1、什么是Socket 在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计...
图很赞, 简单明了
Synchronized之管程Java对象如何与Monitor关联 如图所示,依次对图中进行解释。 我们知道JVM堆中存放的是对象实例。对象实例包括几个部分。分别是与对象实例无关的对象头,实例数据,填充数...
本文探讨Linux中主要的几种零拷贝技术以及零拷贝技术适用的场景。为了迅速建立起零拷贝的概念,我们拿一个常用的场景进行引入: 引文## 在写一个服务端程序时(Web Serv...
我稍微看了一下就知道作者没看过源码,CyclicBarrier居然说“且计数器加1”,CyclicBarrier和CountDownLatch的源码里面都是一开始给计数器初值,然后不断减,直到为0的时候,CyclicBarrier会调用Condition.signalAll()把堵塞的线程释放,CountDownLatch则是使用AQS,在计数器的0的时候让AQS堵塞队列里面被堵塞的线程逐个tryAcquireShared()成功,进而把堵塞的线程释放