java如何释放资源问题!

时间:2022-05-07 05:02:21

public static void main(String[]args){
int a[]={2,3,5};
                   
                 //在这里释放a数组,下面运行输出的时候报错
       System.out.println(a[2]);
}


大虾门快进来帮下忙!如何释放数组等一些引用类型的数据?

9 个解决方案

#1


难道没人会吗?

#2


代码贴全,错误都贴出来。这样才好分析

#3


代码呢?

#4


int a[]{*,*,*},{*,*,*}
a[2]输出第二组星号...

#5


java采用了垃圾回收机制,程序员无法操作内存释放
可以通过编程的手段来影响,让对象符合垃圾回收条件。
  1、将无用对象赋值为null.
  2、重新为引用变量赋值。比如:
  Person p = new Person("aaa");
  p = new Person("bbb");
  这样,new Person("aaa")这个对象就是垃圾了——符合垃圾回收条件了。
  3、让相互联系的对象称为“岛”对象
  Person p1 = new Person("aaa");
  Person p2 = new Person("bbb");
  Person p3 = new Person("ccc");
  p1=p2; p2=p3; p3=p1;
  p1=null; p2=null; p3=null;
  在没有对p1、p2、p3置null之前,它们之间是一种三角恋关系。分别置null,三角恋关系依然存在,但是三个变量不在使用它们了。三个Person对象就组成了一个孤岛,最后死在堆上——被垃圾回收掉
  4、强制的垃圾回收System.gc()
  实际上这里的强制,是程序员的建议,什么时候执行还是JVM的垃圾回收器说了算

#6


你的想法是达不到的,
除非你把引用a置为null,a=null
但在这种情况下{2,3,5}这个数组对象在内存里还是存活的

#7


同意6楼的 想要最满意释放资源的方法就是赋值为null了  

#8


java真的就实现不了 c++里面的delete 手动释放资源的功能??  求解!

#9


Java 中不需要你手动释放内存,你自己也没办法做到,在 Java 中你不用去关心这些。

JVM 有很好的垃圾回收机制,垃圾回收作为一个后台线程,在那里默默地监控着,如果 JVM 所使用的内存达到一定的阀值时,垃圾回收器就会自动开始运行清理一些垃圾对象。

#1


难道没人会吗?

#2


代码贴全,错误都贴出来。这样才好分析

#3


代码呢?

#4


int a[]{*,*,*},{*,*,*}
a[2]输出第二组星号...

#5


java采用了垃圾回收机制,程序员无法操作内存释放
可以通过编程的手段来影响,让对象符合垃圾回收条件。
  1、将无用对象赋值为null.
  2、重新为引用变量赋值。比如:
  Person p = new Person("aaa");
  p = new Person("bbb");
  这样,new Person("aaa")这个对象就是垃圾了——符合垃圾回收条件了。
  3、让相互联系的对象称为“岛”对象
  Person p1 = new Person("aaa");
  Person p2 = new Person("bbb");
  Person p3 = new Person("ccc");
  p1=p2; p2=p3; p3=p1;
  p1=null; p2=null; p3=null;
  在没有对p1、p2、p3置null之前,它们之间是一种三角恋关系。分别置null,三角恋关系依然存在,但是三个变量不在使用它们了。三个Person对象就组成了一个孤岛,最后死在堆上——被垃圾回收掉
  4、强制的垃圾回收System.gc()
  实际上这里的强制,是程序员的建议,什么时候执行还是JVM的垃圾回收器说了算

#6


你的想法是达不到的,
除非你把引用a置为null,a=null
但在这种情况下{2,3,5}这个数组对象在内存里还是存活的

#7


同意6楼的 想要最满意释放资源的方法就是赋值为null了  

#8


java真的就实现不了 c++里面的delete 手动释放资源的功能??  求解!

#9


Java 中不需要你手动释放内存,你自己也没办法做到,在 Java 中你不用去关心这些。

JVM 有很好的垃圾回收机制,垃圾回收作为一个后台线程,在那里默默地监控着,如果 JVM 所使用的内存达到一定的阀值时,垃圾回收器就会自动开始运行清理一些垃圾对象。