java學習心得體會筆記_第1頁
java學習心得體會筆記_第2頁
java學習心得體會筆記_第3頁
java學習心得體會筆記_第4頁
java學習心得體會筆記_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1)現(xiàn)在有T1、T2、T3三個線程,你怎樣保證T2在T1執(zhí)行完后執(zhí)行,T3在T2執(zhí)行完后執(zhí)行?這個線程問題通常會在第一輪或電話面試階段被問到,目的是檢測你對”join”方法是否熟悉。這個多線程問題比較簡單,可以用join方法實現(xiàn)。2)java的堆和棧的區(qū)別:堆:是一個運行時數(shù)據(jù)區(qū),類的對象從中分配空間。這些對象通過new,newarray,anewarray和muitianewarray等指令建立,它們不需要程序代碼來顯示釋放。堆是由垃圾回收來負責的,堆的優(yōu)勢是可以動態(tài)地分配內(nèi)存大小,生存期也不必事先告訴編譯器,因為它是運行時動態(tài)分配內(nèi)存的,Java垃圾收集器會自動收走這些不再使用的數(shù)據(jù)。但是

2、缺點是:由于是要在運行時動態(tài)分配內(nèi)存,存取速度較慢。棧的優(yōu)勢:存取速度比堆要快,僅次于寄存器,棧數(shù)據(jù)可以共享。缺點是,存在棧中的數(shù)據(jù)大小與生命期必須是確定的,缺乏靈活性。棧中主要存放一些基本類型的變量(int,short,long,byte,float,double,boolean,char)和對象句柄。3)java算法:1、冒泡排序:從頭開始,依次對相鄰的兩個元素進行比較,發(fā)現(xiàn)有順序錯誤就將它們調換過來!重復地進行,直到?jīng)]有元素需要交換。是穩(wěn)定排序法,最好的時間復雜度是O(n);2、快速排序:思想是(Divide)選取一個基元X開始(一般選取數(shù)組的第一個元素),通過某種分區(qū)操作將數(shù)組劃分成兩

3、個部分,左邊部分小于等于X,右邊部分大于等于X。(Conquer)左右兩個子數(shù)組遞歸地調用Divide過程,(Combine)快排作為就地排序算法,不需要任何合并操作!3、遞歸:程序調用自身,并非不會無休止地調用下去,需要有一個出口,當滿足條件時程序也就結束!不然的話,就會出現(xiàn)程序死循環(huán)。4)JVM調用GC的頻度還是很高的,主要兩種情況下進行垃圾回收:第一個就是當應用程序線程空閑,另一個是java內(nèi)存堆不足時,會不斷調用GC,若連續(xù)回收都解決不了內(nèi)存堆的不足。4)、junit測試的方法的類型必須是public ,其他類型運行時會報錯。方法的返回類型也必須是void,并且不能有參數(shù)。5)、Lis

4、t<Object> args = null; args.add(param);/這樣會報錯     分析原因:List是一個接口,沒有實現(xiàn)是不能使用的,需要ArryList的實現(xiàn)類或者其他實現(xiàn)類才能使用     應該改為:List<Object> args = new ArrayList<Object>();args.add(param);6)、如A是父類,B是繼承于A,兩者都有構造函數(shù)和A有print(),B也覆蓋了A的方法,那么可以A a = new B();此時a.print();調用的是B的

5、print()方法,如果B的print()沒有覆蓋父類的方法,而是自己創(chuàng)建的print();那么這時a.print();調用的還是B的print()方法。另外,假設A有print1()方法,B沒有覆蓋A的print1();這時a.print1();不會報錯,它將調用的是A自己的print1()方法。最后,加入A沒有了print()方法,而是print()是只有B有,這時a.print();將直接調用B的print();方法,總結: 對于類的繼承,父類通過子類實例化后,構造方法都在先執(zhí)行父類的構造方法,再依次執(zhí)行子類的構造方法。方法的調用原則是先執(zhí)行子類的方法,如果子類復寫了父類的方法,將執(zhí)行子

6、類的方法,如果子類沒有復寫父類的方法,但是方法重名,也會只執(zhí)行子類的方法。如果子類沒有對應的方法,那么就執(zhí)行父類的方法!(不要以為子類沒有該方法編譯器會報錯,因為繼承了父類的方法!)請注意:B b = new A();編譯器會報錯,這也是不合邏輯的!public class Test03     public static void main(String args)         A b = new B();&#

7、160;       b.print1();        /new C();    class A     public A()         System. out.println("A" );      

8、;     public void print()      System. out.println("哈哈A" );        public void print1()      System. out.println("哈哈A1" ); &#

9、160;  class B extends A     public B()         System. out.println("B" );                 public void print()

10、            System. out.println("哈哈B" );         class C extends A     public C()         super

11、();        System. out.println("B" );    以上關于main方法中同時執(zhí)行:new B();new C();將打印出的結果: A B A C,即每一次調用都產(chǎn)生一個父類的實例,就是上面所述的每次創(chuàng)建實例 都是構造方法先從父類開始依次執(zhí)行到當前的子類7、Java.util.Date : 包含年、月、日、時、分、秒信息   Java.sql.Date :包含年、月、日信息   lendar : 包含年、月、日、時、分、秒、毫秒信息。   Java.sql.Timestamp : 包含年、月、日、時、分、秒、納秒(nano)信息。8、java的安全性體現(xiàn):     a/第一個就是garbage collection,(垃圾回收)會讓你的程序不容易出現(xiàn)內(nèi)存泄露。內(nèi)存泄露是很危險的,在內(nèi)存泄露的時候黑客可以黑你的電腦。     b/exception,你有沒有發(fā)現(xiàn)你想用null賦值的東西會出exception?這個就是exce

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論