摘要: 1.synchronized与static synchronized 的区别 synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种约束了。那么static synchronized 阅读全文
posted @ 2020-11-28 19:12 沐春风-燕南飞 阅读(151) 评论(0) 推荐(0)
摘要: 一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景 阅读全文
posted @ 2020-11-28 17:55 沐春风-燕南飞 阅读(244) 评论(0) 推荐(0)
摘要: 转载:https://zhuanlan.zhihu.com/p/32867181 自从最近的某年某月某天起,线上服务开始变得不那么稳定。在高峰期,时常有几台机器的内存持续飙升,并且无法回收,导致服务不可用。 例如GC时间采样曲线: 和内存使用曲线: 图中所示,18:50-19:00的阶段,已经处于服 阅读全文
posted @ 2020-11-28 17:47 沐春风-燕南飞 阅读(1133) 评论(0) 推荐(0)
摘要: 转载:https://blog.csdn.net/yanliguoyifang/article/details/80964237 Java 对象生命周期 在JVM运行空间中,对象的整个生命周期大致可以分为7个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段(Invisible) 阅读全文
posted @ 2020-11-28 14:31 沐春风-燕南飞 阅读(1969) 评论(0) 推荐(1)