101、java中會存在內存泄漏嗎,請簡單描述。
會。如:int i,i2; return (i-i2); //when i為足夠大的正數,i2為足夠大的負數。結果會造成溢位,導致錯誤。
102、java中實現多態(tài)的機制是什么?
方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現。重寫Overriding是父類與子類之間多態(tài)性的一種表現,重載Overloading是一個類中多態(tài)性的一種表現。
103、垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內存嗎?有什么辦法主動通知虛擬機進行垃圾回收?
對于GC來說,當程序員創(chuàng)建對象時,GC就開始監(jiān)控這個對象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對象。通過這種方式確定哪些對象是"可達的",哪些對象是"不可達的"。當GC確定一些對象為"不可達"時,GC就有責任回收這些內存空間?梢浴3绦騿T可以手動執(zhí)行System.gc(),通知GC運行,但是Java語言規(guī)范并不保證GC一定會執(zhí)行。
104、靜態(tài)變量和實例變量的區(qū)別?
static i = 10; //常量
class A a; a.i =10;//可變
105、什么是java序列化,如何實現java序列化?
序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化?梢詫α骰蟮膶ο筮M行讀寫操作,也可將流化后的對象傳輸于網絡之間。序列化是為了解決在對對象流進行讀寫操作時所引發(fā)的問題。
序列化的實現:將需要被序列化的類實現Serializable接口,該接口沒有需要實現的方法,implements Serializable只是為了標注該對象是可被序列化的,然后使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以將參數為obj的對象寫出(即保存其狀態(tài)),要恢復的話則用輸入流。
106、是否可以從一個static方法內部發(fā)出對非static方法的調用?
不可以,如果其中包含對象的method();不能保證對象初始化.
107、寫clone()方法時,通常都有一行代碼,是什么?
Clone 有缺省行為,super.clone();他負責產生正確大小的空間,并逐位復制。
108、在JAVA中,如何跳出當前的多重嵌套循環(huán)?
用break; return 方法。
109、List、Map、Set三個接口,存取元素時,各有什么特點?
List 以特定次序來持有元素,可有重復元素。Set 無法擁有重復元素,內部排序。Map 保存key-value值,value可多值。
110、J2EE是什么?
J2EE是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業(yè)級應用模型(enterpriese application model).在這樣的一個應用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計算機上,并且處于相應的層次(tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。
111、UML方面
標準建模語言UML。用例圖,靜態(tài)圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序圖,合作圖),實現圖。
112、說出一些常用的類,包,接口,請各舉5個
常用的類:BufferedReader BufferedWriter FileReader FileWirter String Integer
常用的包:java.lang java.awt java.io java.util java.sql
常用的接口:Remote List Map Document NodeList