Java中的对象都是在JVM堆中分配的,其好处在于开发者不用关心对象的回收。但有利必有弊,堆内内存主要有两个缺点:1.GC是有成本的,堆中的对象...
本文为synchronized系列第二篇。主要内容为分析偏向锁的实现。 偏向锁的诞生背景和基本原理在上文中已经讲过了,强烈建议在有看过上篇文章的...
关于synchronized的底层实现,网上有很多文章了。但是很多文章要么作者根本没看代码,仅仅是根据网上其他文章总结、照搬而成,难免有些错误;...
本文为死磕Synchronized底层实现第三篇文章,内容为轻量级锁实现。 轻量级锁并不复杂,其中很多内容在偏向锁一文中已提及过,与本文内容会有...
本文为死磕Synchronized底层实现第三篇文章,内容为重量级锁实现。 本系列文章将对HotSpot的synchronized锁实现进行全面...
刚做后端开发的时候,最早接触的是基础的spring,为了引用二方包提供bean,还需要在xml中增加对应的包<context:component...
在关于同步的一点思考-下一文中,我们知道glibc的pthread_cond_timedwait底层是用linux futex机制实现的。 更多...
前一篇文章提到了限流的几种常见算法,本文将分析guava限流类RateLimiter的实现。 RateLimiter有两个实现类:SmoothB...
后端服务的接口都是有访问上限的,如果外部QPS或并发量超过了访问上限会导致应用瘫痪。所以一般都会对接口调用加上限流保护,防止超出预期的请求导致系...