Tagged: JIT

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和...

JVM系列之:通过一个例子分析JIT的汇编代码

JVM系列之:通过一个例子分析JIT的汇编代码

简介 我们知道JIT会在JVM运行过程中,对热点代码进行优化,传说自然是传说,今天我们通过一个简单的例子来具体分析一下JIT到底是怎么进行优化的。 一个简单的例子 说干就干,我们先准备一个非常简单的例...

自动草稿

JVM详解之:HotSpot VM中的Intrinsic methods

简介 内置方法是什么呢?它和inline method有什么关系呢?内置方法是怎么实现的呢?所有的问题都可以在本文找到答案。 什么是Intrinsic Methods 什么是内置方法呢? 维基百科给出...

JVM详解之:本地变量的生命周期

JVM详解之:本地变量的生命周期

简介 java方法中定义的变量,它的生命周期是什么样的呢?是不是一定要等到方法结束,这个创建的对象才会被回收呢? 带着这个问题我们来看一下今天的这篇文章。 本地变量的生命周期 在类中,变量类型有类变量...

JVM系列之:String,数组和集合类的内存占用大小

JVM系列之:String,数组和集合类的内存占用大小

简介 之前的文章中,我们使用JOL工具简单的分析过String,数组和集合类的内存占用情况,这里再做一次更详细的分析和介绍,希望大家后面再遇到OOM问题的时候不再抱头痛哭,而是可以有章可循,开始吧。 ...

JVM系列之:详解java object对象在heap中的结构

JVM系列之:详解java object对象在heap中的结构

简介 在之前的文章中,我们介绍了使用JOL这一神器来解析java类或者java实例在内存中占用的空间地址。 今天,我们会更进一步,剖析一下在之前文章中没有讲解到的更深层次的细节。一起来看看吧。 对象和...