任务管理器正在为javafx应用程序显示不正确的内存

时间:2016-01-26 17:15:42

标签: java windows

Windows任务管理器显示我的javafx应用程序的350mb内存使用量,而Runtime.getRuntime()。totalMemory()是268mb(92使用+ 176免费)。我无法理解任务管理器的这种随机行为。任何形式的帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

Windows任务管理器显示运行JavaFX应用程序的整个Java虚拟机(JVM)的已分配内存。

仅根据API totalMemory()...

  

返回Java虚拟机中的内存总量。

剩下的82MB似乎是由JVM本身而不是你的应用程序分配的。

答案 1 :(得分:0)

Windows任务管理器不是观察Java应用程序的内存消耗统计信息的好工具。

Java内存基本上包含两种类型的空格:

  1. Java堆空间 - 存储类实例和数组对象。

  2. JVM内存(非堆内存) - 它是在JVM启动时创建的,包含方法,字段数据,常量和本机代码。这些数据不存在于堆空间中。这是您获得不同统计信息的原因比较任务管理器。