浅谈自旋锁和 JVM 对锁的优化

背景 先上图 由此可见,非自旋锁如果拿不到锁会把线程阻塞,直到被唤醒;自旋锁拿不到锁会一直尝试 为什么要这样? 好处 阻塞和唤醒线程都是需要高昂的开销的,如果同步代码块中的内容不复杂,那么可能转换线程...
2年前
630

JVM 垃圾回收的工作原理

对于程序员来说,掌握 Java 的内存管理机制并不是必须的,但它能够帮助你更好地理解 JVM 是如何处理程序中的变量和类实例的。,Java 之所以能够如此流行,自动 垃圾回收Garbage Colle...
4年前
570

聊聊Java对象栈上分配

通过对象的分配过程分析,除了堆以外,还有两个地方可以存放对象:,Java对象分配流程图:,,如果开启栈上分配,JVM会先进行栈上分配,如果没有开启栈上分配或则不符合条件的则会进行TLAB分配,如果TL...
4年前
640

JDK中自带的JVM分析工具

对于分布式架构中的文件服务来说,由于涉及大量的IO流操作,很容易引发JVM的相关异常,尤其是内存溢出的问题;,,在最近的一次版本迭代中,真实的业务处理场景和上述几乎一致,由于在文件服务中添加批量处理的...
4年前
210