finalize是object類的一個子方法,在垃圾回收器執行是調用回收對象的此方法,此方法可以被覆蓋提供資源回收時的其他資源回收。如文件關閉等。
4、heap和stack的區別
棧是一種現行結構,其添加和刪除元素應在同一段完成,棧按照先進后出的方式進行處理。
堆是棧的一個組成元素。
5、基本的數據類型
byte,int,long,double,char,boolean,float,short
String不是基本數據類型,java.util.String是final類,因此不能修改這個類,不能繼承這個類。
為了節省空間,提高效率我們應該用StringBuffer。
6、assert什么時候使用?
assertion(斷言)在軟件開發中使用中常見的調試方式,很多編程語言中都支持這種機制,在實現中,assertion就是在程序中的一條語句,他對一個boolean表達式進行檢查,一個正確的程序必須保證這個boolean表達式的值是true。如果該值為false,說迷宮程序已經處于不正確的狀態了,系統將給出警告或者退出。一般來說assertion用來保證程序最基本、關鍵的正確性,assertion檢查通常在開發和測試時啟動,為了提高效率,在軟件發布后,assertion檢查通常是關閉的。
7、GC是什么?為什么要有GC?
GC是垃圾回收的意思(gabage collection),內存處理器是編程人員容易出現問題的地方,忘記或者錯誤的內存回收導致程序或者系統的不穩定甚至崩潰,java的GC功能可以自動監測對象是否超過作用域從而達到自動回收內存的目的,java語言沒有提供釋放已分配內存的俄顯示操作方法。
8、啟動線程使用run()還是start()?
啟動一個線程用start()方法,使線程所代表的虛擬處理機處于可運行的狀態,這意味著它可以有JVM(java虛擬機)來調度和執行,這并不意味著線程就會立即執行。run()方法可以產生必須退出的標志來停止一個線程。
9、構造器Constructor是否可以被override?
構造器(override)不能被繼承,因此不能重寫overriding,但是可以被重載overloading。
10、當一個對象作為參數傳遞給一個方法后,此方法可以給便這個對象的屬性,并可以返回變化后的結果,那么這里到底是值的傳遞還是引用傳遞?
是值得傳遞。
java語言中只有值傳遞參數,對一個對象實例作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用,對象的內容可以在被調用的方法中改變,但對象的引用是永遠改變不了的。
11、垃圾回收機制的優點,并考慮2種回收機制。
java語言中一個顯著的特點就是引入了垃圾回收機制,使C++程序員最頭痛的內存管理問題迎刃而解,他使得java程序員在編寫承學的哦時候不用再考慮內潤管理問題了,由于有了垃圾回收機制,java中的對象不再有“作用域”的概念,只是在對象引用的時候才有“作用域”,垃圾回收可以有效的防止內存泄漏,有效的使用可以使用的內存。
文章來源于領測軟件測試網 http://www.kjueaiud.com/