JavaµÄÉ±´ºÍdz¿½±´(2)
ÉÏһƪÎÄÕ½²ÊöÁËdz¿½±´ºÍÉ±´µÄº¬Ò壬²¢ÇÒ¸ø³öÁËdz¿½±´µÄÒ»¸öÀý×Ó
ÕâÆªÎÄÕÂÔÚÄǸöÀý×ÓµÄʵÏÖÉÏ×÷³öÐ޸ģ¬ÊµÏÖÉ±´,´úÂëÈçÏ£º
package com.test;
public class CloneTest
{
public static void main(String[] args)
{
Student s1 = new Student();
s1.setAge(20);
s1.setName("wudi");
School school = new School();
school.setName("Peiyang University");
school.setBornYear(1895);
s1.setSchool(school);
System.out
.println("s1:" + s1.getName() + " " + s1.getAge() + " "
+ s1.getSchool().getName() + " "
+ s1.getSchool().getBornYear());
try
{
//¿½±´Ò»¸öѧÉú
Student s2 = (Student)s1.clone();
s2.setAge(21);
s2.setName("WUDI");
System.out
.println("s2:" + s2.getName() + " " + s2.getAge() + " "
+ s2.getSchool().getName() + " "
+ s2.getSchool().getBornYear());
System.out.println("after s2 changing some property:");
//ͨ¹ýѧÉús2¸Ä±äÁËËûËùÔÚѧУµÄÃû³ÆºÍ³ÉÁ¢Ê±¼ä
s2.getSchool().setName("Tianjin University");
s2.getSchool().setBornYear(1951);
System.out
.println("s1:" + s1.getName() + " " + s1.getAge() + " "
+ s1.getSchool().getName() + " "
+ s1.getSchool().getBornYear());
System.out
.println("s2:" + s2.getName() + " " + s2.getAge() + " "
+ s2.getSchool().getName() + " "
+ s2.getSchool().getBornYear());
}
catch (CloneNotSupportedException e)
{
e.printStackTrace();
}
}
}
class School implements Cloneable
{
private String name;
private int bornYear;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getBornYear()
{
return bornYear;
}
public void setBornYear(int bornYear)
{
this.bornYear = bornYear;
}
@Override
protected Object clone() throws CloneNotSupportedException
{
return super.clone();
}
}
class Student implements Cloneable
{
private int age;
private String name;
private S
Ïà¹ØÎĵµ£º
ºÜ¶àdeveloperÖªµÀjavaÒ²¿ÉÄÜmemory leak£¬¹ØÓÚÕâ¸öÖ÷ÌâÒѾÓкܶàÎÄÕÂÁË¡£ÎÒÕâÀïÖ»Ïë·ÖÏíÒ»ÏÂ×Ô¼ºµÄmemory leakµÄ¾Ñé¡£
˵Ã÷Ò»ÏÂÕâÀïÖ¸µÄmemory leakÊdzÌÐò²»¼°Ê±ÊÍ·Åheapµ¼ÖµÄOutOfMemoryError.
Ê×ÏÈÒ»ÖÖÇé¿öÊÇcollection»òÕßÊÇmapÒ»Ö±±»putÊý¾Ý£¬Ã»Óлú»áremove£¬µ¼ÖÂOutOfMemoryError¡£ÓÈÆäÊǵ±collection»òÕßÊÇmap ......
ÔÚijЩӦÓÃÖУ¬½«±¾¸ÃÓɶ¯Ì¬Ò³ÃæÃ¿´Î»ñÈ¡¿Í»§¶ËÇëÇóʱȥµ÷ÓÃÊý¾ÝµÄ¹ý³Ìת»»ÎªÔÚÌí¼ÓÊý¾Ýʱ¼´Éú³ÉΪ¾²Ì¬Ò³Ã棬ÕâÑù¶Ô·þÎñÆ÷µÄѹÁ¦£¬Êý¾Ý¿â¼ìË÷µÄѹÁ¦£¬ÒÔ¼°ËÑË÷ÒýÇæÊÕ¼£¬°üÀ¨·ÀÖ¹SQL×¢Èë¶¼ÊÇÓм«´óµÄºÃ´¦µÄ¡£³£¼ûµÄ×ö·¨ÓкܶàÖÖ£¬°üÀ¨web·þÎñÆ÷ÆôÓÃrewrite£¬io²Ù×÷Éú³ÉÎļþµÈµÈ£¬ÕâÀï ......
JavaµÄ¿½±´·ÖΪÉ±´ºÍdz¿½±´
dz¿½±´£º°ÑÒ»¸ö¶ÔÏóÖÐËùÓеķÇstatic³ÉÔ±±äÁ¿(°üÀ¨¶ÔÆäËü¶ÔÏóµÄÒýÓã¬javaÖеÄÒýÓÃÏ൱ÓÚC/C++ÖеÄÖ¸Õë±äÁ¿)¶¼¿½±´Ò»±é£¬¶ø²»¿½±´ÒýÓÃËùÖ¸ÏòµÄ¶ÔÏó
É±´£º°ÑÒ»¸ö¶ÔÏóÖÐËùÓеķÇstatic³ÉÔ±±äÁ¿(°üÀ¨¶ÔÆäËü¶ÔÏóµÄÒýÓÃ)¶¼¿½±´Ò»±é£¬ÒýÓÃËùÖ¸ÏòµÄ¶ÔÏóÒ²¿½±´Ò»·Ý
ÕâÆªÎÄÕÂÏȽ²Êödz¿½±´£ ......