我想计算我的 java 应用程序的当前内存使用情况。但是,当我使用以下代码时,任务管理器中显示的内容有很大不同。
Runtime rt = Runtime.getRuntime();
long usedMemory = (rt.totalMemory() - rt.freeMemory()) / 1024;
根据任务管理器的说法,当进程消耗 3.000.000 K 时,此代码将例如计算 2.015.203 和一秒钟后的 1.712.296,而实际上内存使用量已经增长。
根据类似的问题,代码应该没问题,但为什么和任务管理器相比有这么大的差异呢?