一枝花算不算浪漫

其他

一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移?

直接看底层交互的代码,位置在com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute()
2020年6月22日
其他

面试官:线程池如何按照core、max、queue的执行循序去执行?(内附详细解析)

不管是使用execute()还是submit()提交任务,最终都会执行到ThreadPoolExecutor.runWorker(),我们来看下源码(源码基于JDK1.8):
2020年6月15日
其他

线程池续:你必须要知道的线程池submit()实现原理之FutureTask!

}}上面的使用很简单,submit()内部传递的实际上是个Callable接口,我们自己实现其中的call()方法,我们通过futureTask既可以获取到具体的返回值。
其他

万字图文 | 学会Java中的线程池,这一篇也许就够了!

【强制】创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。正例:自定义线程工厂,并且根据外部特征进行分组,比如,来自同一机房的调用,把机房编号赋值给whatFeaturOfGroup
2020年5月24日
其他

比AtomicLong更优秀的LongAdder确定不来了解一下吗?

}9}我们在计数的过程中,一般使用incrementAndGet()和decrementAndGet()进行加一和减一操作,这里调用了Unsafe类中的getAndAddLong()方法进行操作。
2020年5月15日
其他

面试官:小伙子,听说你看过ThreadLocal源码?(万字图文深度解析ThreadLocal)

经过hash计算后应该落到index=4的桶中,由于index=4桶已经有了数据,所以往后迭代最终数据放入到index=7的桶中,放入后一段时间后index=5中的Entry数据key变为了null
其他

???

这里用了一步一图的方式结合三个线程依次加锁/释放锁来展示了ReentrantLock的实现方式和实现原理,而ReentrantLock底层就是基于AQS实现的,所以我们也对AQS有了深刻的理解。
其他

一个普通程序员的成长之路

放弃不难,但坚持一定很酷。记录一个普通Javaer成长之路:http://www.cnblogs.com/wang-meng
2020年1月14日
其他

【一起学源码-微服务】Ribbon 源码四:进一步探究Ribbon的IRule和IPing

Ribbon还有一个重要的组件就是ping机制,通过上一讲Ribbon的初始化我们知道,默认的IPing实现类为:NIWSDiscoveryPing,我们可以查看其中的isAlive()方法: