垃圾:沒有引用變量引用的對象
垃圾收集器:GC自動按期掃描Java對象的動態內存,將全部引用對象加上標記,再對象運行結束後,將標記清除,並將全部無標記的對象做爲垃圾收集起來,釋放垃圾對象所佔的內存空間
後臺線程:
線程:一個程序中運行的小的程序
垃圾收集器就是線程的一種,它在後臺執行,因此被稱爲protected void finalize() throws Throwable{}
finalize()方法是全部Java對象都擁有的方法。垃圾收集器在回收對象時會自動調用對象的finalize()方法來釋放系統資源java
複製調用(主函數局部變量的值不會被改變)傳到方法內部後,在方法執行完畢後,方法內部的局部變量會自動釋放內存而被清除
形式參數數據類型爲基本數據類型數組
ps:字符串對象所引用的字符串不會被改變ide
String s=new String("abc"); //沒法將s所引用的字符串「abc"變爲其餘字符串,由於String類的成員方法不存在用來改變字符串的方法
調用一個參數形式參數爲引用變量的方法
引用變量的種類:
類、接口、數組、枚舉、註解函數
1/將abc.txt複製到A:\abc.txt文件中
命令行:java copy abc.txt A:\ abc.txt
main()方法中的形式參數String[] args可一接收兩個參數,並將其保存下來this
public class Object{ public static void main(String[] args){ for(int i=0;i<args.length;i++) System.out.println(args[i]); } } 執行時,請輸入下列命令: java.exe Object 遮住 很是 喜歡 影戲 結果:遮住 很是 喜歡 影戲 main()方法形式參數args保存的信息以下: args[0]="遮住"; args[1]="很是"; args[2]="喜歡"; args[3]="影戲";
public class Object{ String key; Object(String key){ this.key=key; } Object getObject(){//返回Object對象 return this;// this是一個引用自身的的對象的引用 } public static void main(String[] args){ Object ob1=new Object("hello"): Object ob2=ob1.getObject();//ob2=ob1,引用賦值,ob2與ob1引用同一對象 ob2.key="Hi"; System.out.println(ob1.key);//Hi } }
return new 類名{......}
class Person{ String namel Preson friend;//子類型引用
1/使用堆棧技術,若發生遞歸調用,方法的副本將被放在堆棧中,彈出時按照"先進後出「原則命令行