JVM
文章平均质量分 95
少爷凡隐
这个作者很懒,什么都没留下…
展开
-
JAVA FinalReference
JAVA FinalReference引入使用MAT分析dump出的内存时,常会看到java.lang.ref.Finalizer占用内存也不小,比较纳闷我们在编程中并没有用到这个东西,为什么他会出现并且占用分量不算小的一部分内存呢?final class Finalizer extends FinalReference { private static ReferenceQueue que原创 2017-04-01 12:14:30 · 1874 阅读 · 2 评论 -
MAT Memory Analyzer Tool 基本使用
MAT Memory Analyzer Tool 基本使用简介分析和理解我们应用中内存的分布是一件极具挑战的事情。一个逻辑错误就有可能导致OutOfMemory。dump内存的方式很单:jmap -dump:format=b,file=path pid 注意操作时要有正确的用户权限。本篇旨在介绍分析中涉及到的一些概念和操作方法,实际案例分析放在下篇介绍。内存泄漏指由于疏忽或错误造成程序未能释放已经原创 2017-03-24 21:14:22 · 899 阅读 · 0 评论 -
(译)JVM Concurrent Mark Sweep (CMS) Collector 1.8
更多请移步: 我的博客原文链接:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/cms.htmlThe Concurrent Mark Sweep (CMS) collector is designed for applications that prefer shorter garbage collection翻译 2017-05-24 16:00:54 · 1983 阅读 · 1 评论 -
JDK源码 Java Reference
JDK源码 java的四种Reference之前探讨过一次JAVA的FinalReference,这次我们来看下java.lang.ref包下对应的其他三种引用。走近引用Reference和ReferenceQueue在使用中一定是结伴出现的,当一个Reference确定要被GC回收,GC便会把Reference加入到与之关联的ReferenceQueue中。注意:在Reference的构造方法中,原创 2017-04-24 23:10:38 · 375 阅读 · 0 评论 -
了解ClassLoader
每个Java类都维护着一个指向定义它的类加载器的引用,通过getClassLoader()方法就可以获取到此引用。通过调用getParent()方法可以得到加载器的父类,上述代码输出中,AppClassLoader对应系统类加载器(system class loader);ExtClassLoader对应扩展类加载器(extensions class loader);需要注意的是这里并没有输出引导类加载器,这是因为有原创 2017-07-06 11:41:28 · 620 阅读 · 0 评论 -
内存伪共享测试及Java对像内存估算
引入之前每次入门Disruptor对此部分总是泛泛看过,主要关注点在如何应用上,急于按照文档完成第一个Demo,怠慢了其实现的核心思想及其要解决的主要问题,导致虽然入门过几次Disruptor,仍对其认识十分浅薄。最近有空再次入门Disruptor时,不出意外的又遇到了难以规避的问题–内存的伪共享。前车之鉴,后事之师。这次花了一些时间先去了解下久闻其名的伪共享。Java对象内存估算...原创 2018-08-26 21:33:48 · 939 阅读 · 0 评论