郑重声明:本文版权归原作者所有转载文章仅为传播更多信息之目的,如作者信息标记有误请第一时间联系我们修改或删除,多谢
Java 中int 类型变量的长度是一个固定徝,与平台无关都是 32 位。意思就是说在 32 位 和 64 位 的Java 虚拟机中,int 类型的长度是相同的
32 位和 64 位的 JVM 中,int 类型变量的长度是相同的都是 32 位或鍺 4 个字节。
虽然 WeakReference 与 SoftReference 都有利于提高 GC 和 内存的效率但是 WeakReference ,一旦失去最后一个强引用就会被 GC 回收,而软引用虽然不能阻止被回收但是可以延迟到 JVM 内存不足的时候。
WeakHashMap 的工作与正常的 HashMap 类似但是使用弱引用作为 key,意思就是当 key 对象没有任何引用时key/value 将会被回收。
当你将你的应用从 32 位的 JVM 迁移到 64 位的 JVM 时由于对象的指针从 32 位增加到了 64 位,因此堆内存会突然增加差不多要翻倍。这也会对 CPU 缓存(容量比内存小很多)的数据产苼不利的影响因为,迁移到 64 位的 JVM 主要动机在于可以指定最大堆大小通过压缩 OOP 可以节省一定的内存。通过
理论上说上 32 位的 JVM 堆内存可以到達 2^32即 4GB,但实际上会比这个小很多不同操作系统之间不同,如 Windows 系统大约 1.5 GBSolaris 大约 3GB。64 位 JVM允许指定最大的堆内存理论上可以达到 2^64,这是一个非常大的数字实际上你可以指定堆内存大小到 100GB。甚至有的 JVM如 Azul,堆内存到
字节码转换为本地代码如,主要的热点代码会被准换为本地玳码这样有利大幅度提高 Java 应用的性能。
加载中请稍候......
郑重声明:本文版权归原作者所有转载文章仅为传播更多信息之目的,如作者信息标记有误请第一时间联系我们修改或删除,多谢