Category: JAVA

小师妹学JVM之:JVM中栈的frames详解

小师妹学JVM之:JVM中栈的frames详解

简介 我们知道JVM运行时数据区域专门有一个叫做Stack Area的区域,专门用来负责线程的执行调用。那么JVM中的栈到底是怎么工作的呢?快来一起看看吧。 JVM中的栈 小师妹:F师兄,JVM为每个...

小师妹学JVM之:Dirty cards和PLAB

小师妹学JVM之:Dirty cards和PLAB

简介 分代垃圾回收器在进行minor GC的时候会发生什么操作呢?有没有什么提高效率的手段呢?今天我们和小师妹一起来了解一下垃圾回收中的Dirty cards和PLAB 分代收集器中的空间划分 小师妹...

小师妹学JVM之:JVM中的Safepoints

小师妹学JVM之:JVM中的Safepoints

简介 java程序员都听说过GC,大家也都知道GC的目的是扫描堆空间,然后将那些标记为删除的对象从堆空间释放,以提升可用的堆空间。今天我们会来探讨一下隐藏在GC背后的一个小秘密Safepoints。 ...

小师妹学JVM之:cache line对代码性能的影响

小师妹学JVM之:cache line对代码性能的影响

简介 读万卷书不如行万里路,讲了这么多assembly和JVM的原理与优化,今天我们来点不一样的实战。探索一下怎么使用assembly来理解我们之前不能理解的问题。 一个奇怪的现象 小师妹:F师兄,之...

小师妹学JVM之:JIT的Profile神器JITWatch

小师妹学JVM之:JIT的Profile神器JITWatch

简介 老是使用命令行工具在现代化社会好像已经跟不上节奏了,尤其是在做JIT分析时,使用LogCompilation输出的日志实在是太大了,让人望而生畏。有没有什么更加简便的方法来分析JIT日志呢?快来...

小师妹学JVM之:逃逸分析和TLAB

小师妹学JVM之:逃逸分析和TLAB

简介 逃逸分析我们在JDK14中JVM的性能优化一文中已经讲过了,逃逸分析的结果就是JVM会在栈上分配对象,从而提升效率。如果我们在多线程的环境中,如何提升内存的分配效率呢?快来跟小师妹一起学习TLA...

小师妹学JVM之:JIT中的PrintAssembly

小师妹学JVM之:JIT中的PrintAssembly

简介 想不想了解JVM最最底层的运行机制?想不想从本质上理解java代码的执行过程?想不想对你的代码进行进一步的优化和性能提升? 如果你的回答是yes。那么这篇文章非常适合你,因为本文将会站在离机器码...

小师妹学JVM之:java的字节码byte code简介

小师妹学JVM之:java的字节码byte code简介

简介 Byte Code也叫做字节码,是连接java源代码和JVM的桥梁,源代码编译成为字节码,而字节码又被加载进JVM中运行。字节码怎么生成,怎么查看字节码,隐藏在Byte Code背后的秘密是什么...