1.異常處理機制的簡單原理和應用
2.垃圾回收的優(yōu)點和原理,并考慮2種回收機制
3.線程同步的方法
4.Error與Exception有什么區(qū)別
5.java中一個類被聲明為final類型.
6.heap和stack有什么區(qū)別
7.系統(tǒng)要使用超大整數(shù)(超過long長度范圍),請你設計一個數(shù)據(jù)結(jié)構(gòu)來存儲這種超大型數(shù)字以及設計一種算法來實現(xiàn)超大整數(shù)加法運算
8.設計一個圖形系統(tǒng),請你設計基本的圖形元件(Point,Line,Rectangle,Triangle)的簡單實現(xiàn)
9.final, finally, finalize的區(qū)別
10.Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實現(xiàn))interface(接口)
11.Static Nested Class 和 Inner Class的不同
12.&和&&區(qū)別
13.HashMap和Hashtable的區(qū)別
14.Collection 和 Collections的區(qū)別
15.GC是什么? 為什么要有GC
16.String s = new String("xyz");創(chuàng)建了幾個String Object
17.sleep() 和 wait() 有什么區(qū)別
18.short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?
19.Java有沒有g(shù)oto?
20.Set里的元素是不能重復的,那么用什么方法來區(qū)分重復與否呢? 是用==還是equals()? 它們有何區(qū)別?
21.最常見到的runtime exception
22.abstract class和interface有什么區(qū)別?
23.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized
24.接口是否可繼承接口? 抽象類是否可實現(xiàn)(implements)接口? 抽象類是否可繼承實體類(concrete class)?
25.構(gòu)造器Constructor是否可被override
26.當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法
27.用最有效率的方法算出2乘以8等於幾
28.兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
29.當一個對象被當作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞
30.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上(int、short、char、byte)
31.Singleton
32.Hashtable和HashMap區(qū)別
33.JVM加載class文件的原理機制
2.垃圾回收的優(yōu)點和原理,并考慮2種回收機制
3.線程同步的方法
4.Error與Exception有什么區(qū)別
5.java中一個類被聲明為final類型.
6.heap和stack有什么區(qū)別
7.系統(tǒng)要使用超大整數(shù)(超過long長度范圍),請你設計一個數(shù)據(jù)結(jié)構(gòu)來存儲這種超大型數(shù)字以及設計一種算法來實現(xiàn)超大整數(shù)加法運算
8.設計一個圖形系統(tǒng),請你設計基本的圖形元件(Point,Line,Rectangle,Triangle)的簡單實現(xiàn)
9.final, finally, finalize的區(qū)別
10.Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實現(xiàn))interface(接口)
11.Static Nested Class 和 Inner Class的不同
12.&和&&區(qū)別
13.HashMap和Hashtable的區(qū)別
14.Collection 和 Collections的區(qū)別
15.GC是什么? 為什么要有GC
16.String s = new String("xyz");創(chuàng)建了幾個String Object
17.sleep() 和 wait() 有什么區(qū)別
18.short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?
19.Java有沒有g(shù)oto?
20.Set里的元素是不能重復的,那么用什么方法來區(qū)分重復與否呢? 是用==還是equals()? 它們有何區(qū)別?
21.最常見到的runtime exception
22.abstract class和interface有什么區(qū)別?
23.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized
24.接口是否可繼承接口? 抽象類是否可實現(xiàn)(implements)接口? 抽象類是否可繼承實體類(concrete class)?
25.構(gòu)造器Constructor是否可被override
26.當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法
27.用最有效率的方法算出2乘以8等於幾
28.兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
29.當一個對象被當作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞
30.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上(int、short、char、byte)
31.Singleton
32.Hashtable和HashMap區(qū)別
33.JVM加載class文件的原理機制
在Java中,類裝載器把一個類裝入Java虛擬機中,要經(jīng)過三個步驟來完成:裝載、鏈接和初始化,其中鏈接又可以分成校驗、準備、解析 裝載:查找和導入類或接口的二進制數(shù)據(jù); 鏈接:執(zhí)行下面的校驗、準備和解析步驟,其中解析步驟是可以選擇的; 校驗:檢查導入類或接口的二進制數(shù)據(jù)的正確性; 準備:給類的靜態(tài)變量分配并初始化存儲空間; 解析:將符號引用轉(zhuǎn)成直接引用; 初始化:激活類的靜態(tài)變量,初始化Java代碼和靜態(tài)Java代碼塊
要求每個對象都包含一個位字段,稱為標記位,或在算法運行時建立一個外部數(shù)組以存放標記位。該算法從遍歷堆中所有已分配的內(nèi)存塊開始,重新設置塊的標記位,檢查所有指向堆中對象的字段和變量,將被引用對象的標記位設置為真,然后找出所有未標記對象,將其放到自由塊列表中來回收空間。
標記并清除優(yōu)點:存儲開銷較低且不會影響運行時的執(zhí)行性能;
缺點:當內(nèi)存垃圾收集器運行時可能會占用很長時間。