我是Java的新手,所以如果这是一个愚蠢的问题,那么请放轻松。
我刚刚开始使用Java几天前,我做的第一件事是为MySQL构建一个帮助器类。我正在使用DriverManager
连接到MySQL,它没有问题。我还有一个帮助类来关闭ResultSet
,Statement
和Connection
。这是它的片段。
this.result.close();
this.statement.close();
this.connection.close();
this.result = null;
this.statement = null;
this.connection = null;
我单独关闭每个对象,并在完成后将它们设置为null
。我读到这可能有助于防止内存泄漏。
我担心的是,在测试中,我使用Runtime
来测试整个应用程序中的内存使用情况并关闭上述对象并将它们设置为null
似乎对显示的内存使用情况没有任何影响。 Runtime
。这是我确定内存使用情况的代码。
System.out.println("Memory Used: " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()));
我的问题是:为什么当我显示在运行我的关闭连接代码之前和之后直接使用的内存时,显示的内存使用量是否会改变甚至一个字节?这是我的对象被关闭的方式的问题,还是使用的实际内存未被反映正确我认为它是Runtime
编辑: 不确定为什么这被标记为重复,引用的问题与我的实际问题非常不同。