Statement 与 ResultSet 可以不关闭吗?解决思路

Statement 与 ResultSet 可以不关闭吗?
测试1:
Statement cmd = connection.createStatement();
for(int i=0; i<1000000; i++)
{
ResultSet rs = cmd.executeQuery("select * from T_test");
rs.next();
System.out.println(i);
}


测试2:
for(int i=0; i<1000000; i++)
{
Statement cmd = connection.createStatement();
ResultSet rs = cmd.executeQuery("select * from T_test");
rs.next();
System.out.println(i);
}

结果它们都能正确执行完闭,这个ResultSet与Statement我都没进行关闭?那它们的关闭有什么用?

------解决方案--------------------
不关就占着资源没有释放,资源用完了就会挂
------解决方案--------------------
关闭了ResultSet 和 Statement ,JVM会在合适的时机去将它们指向的内存空间回收,否则,它们占据的资源得不到释放。
------解决方案--------------------
不关闭当然不会影响功能
但会影响你的性能
只借不还,资源迟早会有被耗光的时候