了解最大 JVM 堆大小 - 32 位与 64 位

问题描述我已读取32位Windows上的最大堆大小为~1.5GB,这是由于JVM需要连续内存.有人可以解释连续内存"的概念以及为什么在Windows上最多只有1.5GB吗?I'vereadthemaxheapsizeon32bitWindowsis~1.5GBwhichisdue

发布:2022-10-16 标签:javajvmheap-memory


JVM 如何确保 System.identityHashCode() 永远不会改变?

问题描述Object.hashCode()的默认实现通常是对象在内存中的分配地址的一些函数(尽管这不是由JLS).鉴于VM在内存中分流对象,为什么System.identityHashCode()返回的值在对象的生命周期内永远不会改变?Typicallythedefaultimp

发布:2022-10-16 标签:javahashcodejvmheap-memory


在运行时设置 JVM 堆大小

问题描述有没有办法从正在运行的Java程序中设置堆大小?IsthereawaytosetheapsizefromarunningJavaprogram?推荐答案没有.对于堆要求非常多变的应用,您可以使用-Xmx将最大堆大小设置得非常高,并调整-XX:MaxHeapFreeRati

发布:2022-10-16 标签:javaruntimejvmheap-memory


为什么堆分为伊甸园、幸存者空间和老年代?

问题描述你能回答我一个关于JVM垃圾收集过程的问题吗?CouldyoupleaseanswermeaquestionaboutJVMGarbageCollectionprocess?为什么堆分为伊甸园、幸存者空间和老年代?WhyisheapdividedintoEden,Surv

发布:2022-10-16 标签:javagarbage-collectionjvmheap-memoryg1gc


调用 intern() 方法后,内存中的 new String() 对象何时被清除

问题描述List<String>list=newArrayList<>();for(inti=0;i<1000;i++){StringBuildersb=newStringBuilder();Stringstring=sb.toString();string=string.int

发布:2022-10-16 标签:memorymemory-managementjavagarbage-collectionheap-memory


Java 任务控制堆配置文件

问题描述我正在使用Java7u40附带的新JavaMissionControlProfiler,但我无法配置文件分配和收集对象统计信息.无论我做什么,我都无法在Memory->ObjectStatistics窗口中看到任何统计信息.IamplayingwiththenewJava

发布:2022-10-16 标签:javagarbage-collectionheap-memoryjmcjfr


为什么 Java 堆的最大大小是固定的?

问题描述它是不可能在VM启动后增加Java堆的最大大小.造成这种情况的技术原因是什么?垃圾收集算法是否依赖于使用固定数量的内存?还是出于安全原因,通过消耗所有可用内存来防止Java应用程序对系统上的其他应用程序执行DOS操作?Itisnotpossibletoincreaseth

发布:2022-10-16 标签:javagarbage-collectionjvmheap-memory


如果 JVM 在进行 GC 时不断移动对象,它如何解析引用?

问题描述我正在阅读有关JVM调优的文章,我突然想到JVM在执行GC时会不断移动对象.但是Java对象之间存在相互引用,人们会认为这是作为指针实现的,但是JVM不可能在每次移动对象后遍历整个堆,并更新所有引用;这肯定会永远持续下去.那么,如果引用没有改变,但对象的物理位置发生了变化

发布:2022-10-16 标签:javagarbage-collectionjvmheap-memory


内存缺失:年轻代的大小只包含一个幸存者空间

问题描述在Java堆上,我预计年轻一代的大小将是eden空间和两个幸存者空间(从空间和到空间):OntheJavaheap,Iexpectedthatthesizeoftheyounggenerationwouldbethesumofthesizesoftheedenspacea

发布:2022-10-16 标签:memoryjavagarbage-collectionjvmheap-memory


如何在不先进行垃圾收集的情况下在 Java 5 上进行堆转储?

问题描述我们有一个运行Java5的长期运行的服务器应用程序,对其进行分析我们可以看到老一代随着时间的推移缓慢增长.它在完整的GC上被正确释放,但我希望能够使用堆转储查看EclipseMAT中无法访问的对象.我已经使用+XX:HeapDumpOnCtrlBreak成功获得了堆转储,

发布:2022-10-16 标签:javagarbage-collectionheap-memory