摘要:https://cloud.tencent.com/developer/article/1622192 java默认的hashcode方法到底得到的是什么? 在hashCode方法注释中,说hashCode一般是通过对象内存地址映射过来的。 As much as is reasonably prac
阅读全文
摘要:1 https://stackoverflow.com/questions/7207302/if-javas-garbage-collector-moves-objects-what-is-object-hashcode-and-system-id I've often heard that the
阅读全文
摘要:800*0.8*8*1400w = 66.76GB 光存那些Double指针花了那么多 优化方案: 1 Double(Long Integer)类型除了0,默认未访问,允许重复计算 String类型length超过50默认未访问,允许重复计算 2 借鉴 ip白名单算法(pdd活跃用户) 存对象地址h
阅读全文
摘要:time before GC(MB) after GC(MB) 19:23:23 2807442 2663288 19:24:04 2696290 2575996 old GC 19:31:06 3233018 2553234 19:35:02 3189076 2605652 19:37:34 30
阅读全文
摘要:在之前的程序中,考虑到hotspot java11 Unsafe包的不可达(最近发现zing 11能访问),搞出来手动定义的 但并没有意义,手动定义通常基于hotspot,并不能适用用于其它jvm,unsafe里的偏移或reference信息本身就是jvm具体实现的,手动定义相当于脱离了真实线上环境
阅读全文
摘要:btrace sizeof 与jmap -histo 都是shallow size
阅读全文
摘要:1 查看 $ java -XX:+PrintCommandLineFlags -version -XX:-UseCompressedClassPointers -XX:-UseCompressedOops -XX:+UseCompressedClassPointers -XX:+UseCompres
阅读全文
摘要:9 static void test01(){ 10 String s1 = new String("1")+new String("23"); 11 s1.intern(); 12 String s2 = "123"; 13 System.out.println( s1 == s2);//true
阅读全文
摘要:理解VisualVM中的保留大小(Retained Size) https://www.jianshu.com/p/aaddf00a1d83 Retained size of an object is its shallow size plus the shallow sizes of the ob
阅读全文
摘要:1 使用http://www.javamex.com/中提供的classmexer.jar来计算对象的大小。 2 org.openjdk.jol.info.ClassLayout Shallow org.openjdk.jol.info.GraphicLayout retained 3 自写 htt
阅读全文
摘要:I am creating a scheduled executor to read the memory usage of the JVM. I have come across two ways to get memory statistics in a running JVM - Runtim
阅读全文
摘要:1 https://blog.csdn.net/weixin_39965161/article/details/112650387 2 package agent; /** * Created by mac on 2021/4/21. */ import jdk.internal.org.objec
阅读全文
摘要:https://blog.csdn.net/e5945/article/details/7708253 Shallow Size对象自身占用的内存大小,不包括它引用的对象。针对非数组类型的对象,它的大小就是对象与它所有的成员变量大小的总和。当然这里面还会包括一些java语言特性的数据存储单元。针对数
阅读全文
摘要:1 当前栈帧(Current Stack Frame) 一个线程中的方法调用链可能会很长,很多方法都同时处于执行状态。对于执行引擎来说,在活动线程中,只有位于栈顶的栈帧才是最有效的,称为当前栈帧(Current Stack Frame),与这个栈帧相关联的方法称为当前方法。执行引擎运行的所有的字节码
阅读全文
摘要:https://www.cnblogs.com/maxigang/p/9040088.html https://www.jianshu.com/p/91e398d5d17c 对象结构 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、实例数据(Instance
阅读全文
摘要:方法区:jvm标准 永久代:hotspot实现 1.7 元空间:hotspot实现 1.8 首先,metaspace默认的最大值是整个机器的物理内存大小,所以metaspace不断扩张会导致java程序侵占系统可用内存,最终系统没有可用的内存;而永久区则有固定的默认大小,不会扩张到整个机器的可用内存
阅读全文
摘要:1 引用自:https://www.cnblogs.com/diegodu/p/9340243.html 2.7 Cache Line 伪共享 Cache Line 伪共享问题,就是由多个 CPU 上的多个线程同时修改自己的变量引发的。这些变量表面上是不同的变量,但是实际上却存储在同一条 Cache
阅读全文
摘要:https://www.cnblogs.com/parryyang/p/5750146.html JVM根据需求不同提供了三种选择:串行收集器、并行收集器、并发收集器 并行:指多条垃圾收集器线程并行工作,但此时仍是“Stop The World”状态,即用户线程处于等待状态; 并发:指用户线程和垃圾
阅读全文
摘要:jvm常用参数 -XX:+PrintGCDetails -XX:+PrintGC -XX:+PrintGCTimeStamps -Xloggc:file -XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpBeforeFul
阅读全文
摘要:java 使用的是垃圾回收和可达性分析 oc 和 cocos2d-x 使用引用计数与回收池 netty的bytebuf由于使用的直接内存,也使用引用计数 交谈中提到了显式置为null,http://chenjingbo.iteye.com/blog/1980908 这篇文章有非常好的论述实践: 且文
阅读全文