Tagged: jvm

troubleshoot之:GC调优到底是什么

troubleshoot之:GC调优到底是什么

简介 我们经常会听到甚至需要自己动手去做GC调优。那么GC调优的目的到底是什么呢?让程序跑得更快?让GC消耗更少的资源?还是让程序更加稳定? 带着这些疑问来读一下这篇文章,将会得到一个系统的甚至是不一...

troubleshoot之:使用JFR分析性能问题

troubleshoot之:使用JFR分析性能问题

简介 java程序的性能问题分析是一个很困难的问题。尤其是对于一个非常复杂的程序来说,分析起来更是头疼。 还好JVM引入了JFR,可以通过JFR来监控和分析JVM的各种事件。通过这些事件的分析,我们可...

JVM系列之:再谈java中的safepoint

JVM系列之:再谈java中的safepoint

safepoint是什么 java程序里面有很多很多的java线程,每个java线程又有自己的stack,并且共享了heap。这些线程一直运行呀运行,不断对stack和heap进行操作。 这个时候如果...

JVM系列之:从汇编角度分析NullCheck

JVM系列之:从汇编角度分析NullCheck

简介 之前我们在讲Virtual call的时候有提到,virtual call方法会根据传递的参数实例的不同而进行优化,从而优化成为classic call,从而提升执行效率。 今天我们考虑一下,在...

JVM系列之:从汇编角度分析Volatile

JVM系列之:从汇编角度分析Volatile

简介 Volatile关键字对熟悉java多线程的朋友来说,应该很熟悉了。Volatile是JMM(Java Memory Model)的一个非常重要的关键词。通过是用Volatile可以实现禁止重排...

JVM系列之:JIT中的Virtual Call接口

JVM系列之:JIT中的Virtual Call接口

简介 上一篇文章我们讲解了Virtual Call的定义并举例分析了Virtual Call在父类和子类中的优化。 JIT对类可以进行优化,那么对于interface可不可以做同样的优化么? 一起来看...

JVM系列之:JIT中的Virtual Call

JVM系列之:JIT中的Virtual Call

简介 什么是Virtual Call?Virtual Call在java中的实现是怎么样的?Virtual Call在JIT中有没有优化? 所有的答案看完这篇文章就明白了。 Virtual Call和...