在Java编程中,传递引用是经常会使用到的,有时会造成垃圾的产生,那么垃圾是如何产生的呢?下面我们来简单分析一下:
假定我们有如下代码:
public class Person{
String name;
int age;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public static void main(String args[]){
Person per1=new Person();
Person per2=new Person();
per1.name="张三";
per1.age=18;
per2.name="李四";
per1.age=19;
per2=per1;
per2.age=80;
System.out.println(per2.age);
}
}
那么程序的输出结果是多少?是不是就是80.为什么呢,下面我们进行内存分析:
因此垃圾空间指的就是没有任何栈内存指向的堆内存空间,在Java中,所有的垃圾将被GC(Garbage Collector 垃圾收集器)不定期进行回收,并释放无用内存空间,但是垃圾过多,将影响到GC 的处理性能,从而降低整体的程序性能,因此在实际的开发中,对于垃圾的产生应越少越好。