Android Java筆試題
Android Java筆試題
什么是java序列化,如何實(shí)現(xiàn)java序列化?下面就由學(xué)習(xí)啦小編為大家介紹一下Android Java筆試題的文章,歡迎閱讀。
Android Java筆試題篇1
1、GC是什么? 為什么要有GC?
Gc是垃圾收集 gabage collection的意思 內(nèi)存處理是編程人員最容易出現(xiàn)問題的地方,gc可以達(dá)到自動(dòng)處理內(nèi)存 回收垃圾的作用 使Java程序員不用擔(dān)心內(nèi)存管理問題 system.gc
2、XML包括哪些解釋技術(shù),區(qū)別是什么?
Sax dom
3、sleep()和wait()有什么區(qū)別?
Sleep() 是線程類的方法 wait()是object類的方法
Sleep() 不會(huì)釋放對(duì)象鎖 到時(shí)自動(dòng)恢復(fù) wait()會(huì)釋放對(duì)象鎖 進(jìn)入等待此對(duì)象的等待鎖定池 發(fā)出notify()方法后 才進(jìn)入等待鎖定池準(zhǔn)備對(duì)象鎖的獲取進(jìn)入運(yùn)行狀態(tài)
4、error和exception有什么區(qū)別?
error表示恢復(fù)不是不可能但是及其困難的一種嚴(yán)重問題 不可能指望程序處理這樣的問題
Exception是一種設(shè)計(jì)或?qū)崿F(xiàn)的問題 表示只要程序運(yùn)行正常就不會(huì)出現(xiàn)的問題
Android Java筆試題篇2
1、談?wù)刦inal,finally,finalize的區(qū)別?
Final是修飾符 表示類不能被繼承 方法不能被重載,重寫 變量不能被修改等
Finally是異常處理時(shí)的一個(gè)無論如何都會(huì)被執(zhí)行的程序塊
Finaliz方法是垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的進(jìn)行清理工作的方法
2、當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?
可以
3、當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?
值傳遞
作用域public,private,protected,以及不寫時(shí)的區(qū)別
用最有效率的方法算出2乘以8等於幾 2《3
運(yùn)行時(shí)異常與一般異常有何異
編譯器要求聲明并拋出一般異常 但不必聲明拋出運(yùn)行時(shí)異常 由系統(tǒng)處理
垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制
回收機(jī)制有分代復(fù)制垃圾回收 標(biāo)記垃圾回收 和增量垃圾回收
4、描述一下JVM加載class文件的原理機(jī)制?
是由classloader和他的子類來實(shí)現(xiàn)的 他在運(yùn)行時(shí)查找和裝入類文件的類
Android Java筆試題篇3
1、是否可以從一個(gè)static方法內(nèi)部發(fā)出對(duì)非static方法的調(diào)用?
不能
2、什么是java序列化,如何實(shí)現(xiàn)java序列化?
序列化是一種處理對(duì)象流的機(jī)制 是為了解決在對(duì)對(duì)象流進(jìn)行讀寫操作時(shí)所引發(fā)的問題
使用serializeae關(guān)鍵字 使用一個(gè)輸出流構(gòu)造一個(gè)對(duì)象流流對(duì)象 然后使用對(duì)象流對(duì)象的writeObject()就可以將參數(shù)為obj的對(duì)象寫出
3、Anonymous Inner Class(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?
可以
4、ArrayList和Vector的區(qū)別,HashMap和Hashtable的區(qū)別?
Vector線程安全 增長時(shí)漲一倍 arraylist漲一半
Hashtable線程安全 hashmap可以用空值作為鍵值
5、請(qǐng)寫一段程序?qū)崿F(xiàn)冒泡排序法。
Public static maopao(int[] data){
Int temp;
For(int i=0;i
For(int j=i+1;j
If(data[i]
Temp = data[i];
Data[i] = data[j];
Data[j] = temp;
}
}
Return data;
}