wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么Windows XP 32与Windows 7 64中的Java应用程序的内存使用存在很大差异大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我为录制我的工作活动写了一个小小的 Java application.因为我每天都打开它,所以最初关心我选择语言的一件事就是它会使用的内存量. 令人高兴的是,在Windows XP下,它通常在最小化时消耗大约5 MB,在最大化时大约消耗大约12 MB,并且愉快地使用-Xmx5M运行(根据Windows任务管理器消耗内存). 当我用更新的硬件升级我的家用电脑,同时升级到Windows 7 64(虽然
我为录制我的工作活动写了一个小小的 Java application.因为我每天都打开它,所以最初关心我选择语言的一件事就是它会使用的内存量.

令人高兴的是,在Windows XP下,它通常在最小化时消耗大约5 MB,在最大化时大约消耗大约12 MB,并且愉快地使用-Xmx5M运行(根据Windows任务管理器消耗内存).

当我用更新的硬件升级我的家用电脑,同时升级到Windows 7 64(虽然我安装并使用32位JVM)时,我立即注意到此应用程序的JVM现在总是报告68 MB.根据任务经理的“工作集”,这与-Xmx5M -Xss16K有关.

旧机器和新机器都有4 GB的RAM,其中512 MB用于视频.两者都在运行Java 6的最新版本 – 关于WinXP的更新15,现在为Win7更新24.磁盘上的应用程序占用量为12 K类70 K.此外,我的工作计算机仍然是Windows XP,运行Java 6_24,并且它显示了大约12 MB这个相同的应用程序 – 并且相同我的意思是字面意思,因为这两个系统是同步的所有我的开发工具.

作为一名开发人员,我需要了解为什么我的应用程序似乎会扼杀这么多内存.

任何人都可以对此有所了解,并建议如何有意义地减少Java 6应用程序的内存占用量?

编辑

答案可能是过度的PermGen大小.根据JVisualVM,我有一堆:

但对于PermGen

那么,Win 7中的任务管理器中显示的68 MB是否可以简单地请求但是未分配的虚拟内存?

编辑2

将PermGen降低到12 MB对进程RAM没有影响,但JVisualVM确实显示它减少了(显然12 MB构成了某种最小值,因为低于此值对JVVM没有影响).

解决方法

64位操作系统使用64位作为指针大小,而32位操作系统使用32位.这可能只是其中一个原因.

大佬总结

以上是大佬教程为你收集整理的为什么Windows XP 32与Windows 7 64中的Java应用程序的内存使用存在很大差异全部内容,希望文章能够帮你解决为什么Windows XP 32与Windows 7 64中的Java应用程序的内存使用存在很大差异所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: