JVM
文章平均质量分 95
蒋含竹
非淡泊无以明志,非宁静无以致远。
展开
-
volatile在JVM内存交互中的操作
volatile在JVM内存交互中的操作JMMJVM内存屏障(JVM规范)JVM内存交互操作(Hotspot)volatile在硬件层的操作(Hotspot+Windows)示例-非volatile修饰的变量赋值操作示例-volatile修饰的变量赋值操作(lock/unlock)原创 2020-01-11 02:49:41 · 1498 阅读 · 0 评论 -
Spark优化总结(三)——调参
文章目录Spark优化总结(三)——调参前言简单示例常用参数JVM调参Spark优化总结(三)——调参前言不要期待修改一个参数能够像魔法一样立马得到神奇的好效果!(某些时候效果确实很棒^_^)你应当把参数看作一道菜中的调味品,能够丰富味道,但主要还是得靠原材料的质量与炒菜的技艺。开发Spark应用时,应当先优化好你的应用代码,再来思考调参优化(必要的参数的除外)。调参是一个比较复杂的主.........原创 2020-01-04 21:50:40 · 3123 阅读 · 1 评论 -
JVM对synchronized的优化——锁膨胀
文章目录Java对synchronized的优化——锁膨胀前言锁标志位锁膨胀的流程Java对synchronized的优化——锁膨胀前言通常我们在synchronized(…)中传一个对象,即可实现加锁,非常简单。而使用锁,常见的问题就是效率慢。在较早期的Java中synchronized会直接调用系统的重量级互斥锁(monitor)来实现加锁,效率较慢。锁膨胀则是针对该问题的优化方案:由...原创 2019-12-27 21:37:55 · 2198 阅读 · 1 评论 -
从Java代码到Java堆——理解并优化你的应用的内存使用量
文章目录从Java代码到Java堆——理解并优化你的应用的内存使用量背景:Java进程对于内存的使用 Java对象剖析Java数组对象剖析从Java代码到Java堆——理解并优化你的应用的内存使用量尽管优化应用代码在内存的使用量的主题已不再新颖,但它也不是一个能够很好被理解的部分。这篇文章简要的介绍了Java进程对于内存的使量,然后深入的挖掘了你所写的Java代码对于内存的使用量。最后,展...翻译 2019-12-24 14:09:59 · 2291 阅读 · 0 评论 -
JVM对象头的简单记录
JVM对象头信息的简单记录对象头信息Mark Word锁状态(无锁、偏向锁、轻量级锁CAS、重量级锁、GC标记)GC年代记录(分代年龄)hashcode (调用 System.identityHashCode(对象) 获得,HotSpot使用xor-shift算法)Klass Word,即class指针(指向内存中对象的class类,例如通过getClass拿到类信息)数组长...原创 2019-12-24 01:34:10 · 2881 阅读 · 2 评论 -
JVM堆内存管理小总结
JVM堆内存管理小总结1. JVM堆内存分代区域与大小比例2. 垃圾收集算法、垃圾收集器3. 一个对象在堆内存中的生命周期4. 补充:内存中实际建立一个对象的过程5. 自制:对象在内存中分配的流程图原创 2018-02-08 21:54:48 · 1927 阅读 · 1 评论