相关疑难解决方法(0)

在释放对象和垃圾回收后,Java仍然使用系统内存

我正在运行JVM 1.5.0(Mac OS X Default),我在Activity Monitor中监视我的Java程序.我有以下内容:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Date;

public class MemoryTest {

public static void memoryUsage() {
 System.out.println(
     Runtime.getRuntime().totalMemory() - 
     Runtime.getRuntime().freeMemory()
 );
}

public static void main( String[] args ) throws IOException {

    /* create a list */
    ArrayList<Date> list = new ArrayList<Date>();

    /* fill it with lots of data */
    for ( int i = 0; i < 5000000; i++ ) {
        list.add( new Date() );
    } // systems shows ~164 …
Run Code Online (Sandbox Code Playgroud)

java garbage-collection memory-leaks memory-management

9
推荐指数
2
解决办法
9787
查看次数

JVM内存:为什么任务管理器上的内存与JProbe(或JConsole工具)不同

我遇到的问题是我的应用程序使用的内存只有100MB,之后它减少了50MB,但是在Window Task Manager上显示150MB并且始终保持或增加但不减少,我们如何减少任务管理器上的内存(私有工作集)?

java memory monitoring profiling jvm

9
推荐指数
1
解决办法
5430
查看次数

java.exe进程使用更多内存而不释放它

我有一个java应用程序,在任何复杂执行之前处于空闲状态时,在Heap中使用23 MB并且TaskManager中的java.exe进程大小约为194 MB.经过一些复杂的操作后,java.exe的大小增长到大约500MB,堆大小也增长了.通过调用System.gc()方法,在几个完整的GC之后,堆大小减少到23MB.但java.exe的大小从大约600MB减少到大约237MB,其中仍有大约43 MB的数据.有没有办法减少这个?或者是由于某些行为?

java garbage-collection process heap-memory

7
推荐指数
1
解决办法
3万
查看次数