兩種實現線程的方法
1.使用Runnable介面
可以將CPU、代碼和資料分開,形成清晰的模型,還可以從其他類繼承;保持程式風格的一致性。
2.直接從Thread類繼承
不能從其他類繼承;編寫簡單,可以直接操縱線程,無需使用Thread.currentThread()。
利用方法參數的幾種情況
1.方法不能修改基本類型的參數(數字或布爾值)
2.方法可以改變對象參數的狀態
3.方法不能使一個對象參數指向一個新的對象
源檔案的名字必須與Public類的名字相同。在一個源檔案中只能有一個公開類,但可以含有任意數量的非公開類。
構造器和其他方法一個重要的不同是:
構造器只能和new運算子一起使用。不能把構造器應用於一個已存在的對象來重新設定其執行個體欄位。
複製構造器可使不同的對象具有相同的資料,但其指向並非同一個對象。
一個抽象方法可以被認為是一個輪廓或是一個約定,它標明其子類必須實現的方法,但把具體的實現留給子類來完成。
ArrayList類效率較Vector高,可代替之。
可使用定義在org.oma.CORBA包中的一個來寫一個改變數字參數的方法。
在使用C++中函數指標的任何場合都應該考慮使用Java中的介面。
Java事件模型是強型別的:事件只能被發送給能夠處理它的對象,這在編譯器的監視之內。
Java利用多態或反射來實現多線程與回調
C#利用多態或反射或委託(delegate)來實現多線程與回調
在Java和C#中,堆中分配的記憶體由垃圾收集機制釋放,而棧中分配的記憶體則在代碼塊執行完畢後由出棧操作釋放。
選用AWT或SWING來開發GUI時最好不要同時使用兩者
1.Swing組件大部分為lightweight而AWT組件一律為heavyweight兩者混用可能造成Z-order錯亂
2.造成Swing最佳化無用武之地,使速度變慢。
與數組索引不同,資料庫的列號碼是從1開始的。
字串是不可改變的:
一旦建立了一個字串對象,那麼該字串所代表的文本就不能改變了,如果需要修改,字串中任意位置上的字元,可以使用java.lang.StringBuffer
JDBC的thin和oci是Oracle提供的兩套Java訪問Oracle資料庫的方法
thin就是純粹用Java完成訪問資料庫的所有方法,優點是不用安裝用戶端
oci就是使用Java來調用原生Oracle用戶端然後再訪問資料庫,優點是速度快但是需要安裝和設定資料庫