<分区>
我是 Java 的新手,所以如果这是一个愚蠢的问题,请放轻松。
我几天前才开始使用 Java,我做的第一件事就是为 MySQL 构建一个帮助类。我正在使用 DriverManager
连接到 MySQL,它没有问题。我还有一个辅助类来关闭 ResultSet
、Statement
和 Connection
。这是它的一个片段。
this.result.close();
this.statement.close();
this.connection.close();
我分别关闭每个对象,并在完成后将它们设置为 null
。
我担心的是,在测试中,我使用 Runtime
来测试整个应用程序的内存使用情况,关闭上述对象并将它们设置为 null
似乎没有任何意义关于 Runtime
显示的内存使用情况。这是我确定内存使用情况的代码。
System.out.println("Memory Used: " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()));
我的问题是:为什么当我显示对象仍在范围内以及程序结束时使用的内存时,内存似乎永远不会被释放?这是我的对象关闭方式的问题,还是实际使用的内存未按我认为的运行时