随笔分类 - JVM
摘要:前段时间收到线上一些列告警,内容是CMSGC太频繁。那接下来这篇文章我会告诉你:什么是CMSGC太频繁;整个排查过程与你分享;以及一些规避手段。
阅读全文
摘要:JVM内存设置多大合适?Xmx和Xmn如何设置? 本文摘自:https://blog.csdn.net/m0_54864585/article/details/124098668文章。 问题:新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费
阅读全文
摘要:jstat命令查看jvm的GC情况
阅读全文
摘要:遇到new 、getstatic、putstatic或invokestatic者四条字节码指令时,如果类没有进行初始化,则需要先触发其初始化。对应的JAVA代码场景是
new 实例对象、读取或设置一个类的静态字段[被final修饰、已在编译器把结果放入常量池的静态字段除外]时候,以及调用一个类的静态方法的时候
使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行过初始化,则先触发其初始化
当初始化一个类的时候,如果发现父类还没有过初始化,则需要其先触发其父类的初始化
当虚拟机启动时,用户需要指定一个要执行的主类(包含main方法的那个类)虚拟机先初始化这个主类
当使用jdk1.7的动态语言支持时,如果一个java.lang.invoke.MethodHandle实例最后的解析结果REF_getStatic,REF_putStatic、REF_invokeStatic的方法句柄,并且这个方法句柄所对应类没有进行过初始化,则先触发其初始化
阅读全文
摘要:dmesg
阅读全文
摘要:大家知道synchronized是可以实现互斥进程内语义,分布式场景不适合建议使用(redis,etcd(推荐因为是CP模型))下暂时不讨论,那么单一进程内 synchronized还是比较简单的实现互斥的语义
阅读全文
摘要:算法: 标记-清理 :首先标记出需要回收的对象 ,然后统一回收待标记的对象。 缺点:易产生大量空间碎片,空间碎片太多导致程序在运行过程中产生大对象时 因为空间不足导致容易导致另一个垃圾收集动作 标记-整理 。作用于老年代。不是直接对标记对象进行清理,而是将存活对象往另一端移动 直接清理掉端边界以外的
阅读全文