1、單行文本輸入?yún)^(qū)(Textfield)
在單行文本輸入?yún)^(qū)(Textfield)構(gòu)件上可能發(fā)生的事件包括FocusEvent焦點(diǎn)事件,所對(duì)應(yīng)的事件監(jiān)聽(tīng)器是FocusListener;ActionEvent動(dòng)作事件,所對(duì)應(yīng)的事件監(jiān)聽(tīng)器是ActionListener;MouseEvent鼠標(biāo)事件,所對(duì)應(yīng)的事件監(jiān)聽(tīng)器是MouseMotionListener;
2、字節(jié)流與字符流
stream結(jié)尾都是字節(jié)流,reader和writer結(jié)尾都是字符流 兩者的區(qū)別就是讀寫(xiě)的時(shí)候一個(gè)是按字節(jié)讀寫(xiě),一個(gè)是按字符。 實(shí)際使用通常差不多。 在讀寫(xiě)文件需要對(duì)內(nèi)容按行處理,比如比較特定字符,處理某一行數(shù)據(jù)的時(shí)候一般會(huì)選擇字符流。 只是讀寫(xiě)文件,和文件內(nèi)容無(wú)關(guān)的,一般選擇字節(jié)流。

3、Map的key不可以重復(fù),value是可以重復(fù)的
4、如何放掉一個(gè)指定占據(jù)的內(nèi)存空間?
在《java虛擬機(jī)》一書(shū)中明確講了,釋放掉占據(jù)的內(nèi)存空間是由gc完成,但是程序員無(wú)法明確強(qiáng)制其運(yùn)行,該空間在不被引用的時(shí)候不一定會(huì)立即被釋放,這取決于GC本身,無(wú)法由程序員通過(guò)代碼控制。
5、Thread.sleep() 和 Object.wait()
Thread.sleep() 和 Object.wait()都可以?huà)伋?InterruptedException。這個(gè)異常是不能忽略的,因?yàn)樗且粋€(gè)檢查異常(checked exception)。
checked exception:指的是編譯時(shí)異常,該類(lèi)異常需要本函數(shù)必須處理的,用try和catch處理,或者用throws拋出異常,然后交給調(diào)用者去處理異常。
runtime exception:指的是運(yùn)行時(shí)異常,該類(lèi)異常不必須本函數(shù)必須處理,當(dāng)然也可以處理。
Thread.sleep()拋出的InterruptException屬于checked exception;IllegalArgumentException屬于Runtime exception。
6、Java垃圾回收機(jī)制
垃圾回收主要針對(duì)的是堆區(qū)的回收,因?yàn)闂^(qū)的內(nèi)存是隨著線(xiàn)程而釋放的。堆區(qū)分為三個(gè)區(qū):年輕代(Young Generation)、年老代(Old Generation)、永久代(Permanent Generation,也就是方法區(qū))。
年輕代:對(duì)象被創(chuàng)建時(shí)(new)的對(duì)象通常被放在Young(除了一些占據(jù)內(nèi)存比較大的對(duì)象),經(jīng)過(guò)一定的Minor GC(針對(duì)年輕代的內(nèi)存回收)還活著的對(duì)象會(huì)被移動(dòng)到年老代(一些具體的移動(dòng)細(xì)節(jié)省略)。
年老代:就是上述年輕代移動(dòng)過(guò)來(lái)的和一些比較大的對(duì)象。Minor GC(FullGC)是針對(duì)年老代的回收
永久代:存儲(chǔ)的是final常量,static變量,常量池。
7、寫(xiě)入文件
一個(gè)文件中的字符要寫(xiě)到另一個(gè)文件中,首先需要讀取這個(gè)文件,所以要先建立輸入流,然后寫(xiě)到另一個(gè)文件,這時(shí)再建立輸出流.
所以要先建立輸入流,再建立輸出流.
8、instanceof 和getClass會(huì)在運(yùn)行時(shí)通過(guò)反射獲得對(duì)象真正的類(lèi)型。
很特殊的地方就是用在ArrayList中,如果ArrayList不知道泛型,在取出數(shù)據(jù)時(shí),都會(huì)默認(rèn)將數(shù)據(jù)更改為Object類(lèi)型,是不能夠賦值給其他類(lèi)型的引用的,但是,instanceof 和getClass會(huì)在運(yùn)行時(shí)通過(guò)反射獲得對(duì)象真正的類(lèi)型。
8、集合框架中線(xiàn)程安全的類(lèi)
在集合框架中,有些類(lèi)是線(xiàn)程安全的,這些都是jdk1.1中的出現(xiàn)的。在jdk1.2之后,就出現(xiàn)許許多多非線(xiàn)程安全的類(lèi)。 下面是這些線(xiàn)程安全的同步的類(lèi):
vector:就比arraylist多了個(gè)同步化機(jī)制(線(xiàn)程安全),因?yàn)樾瘦^低,現(xiàn)在已經(jīng)不太建議使用。在web應(yīng)用中,特別是前臺(tái)頁(yè)面,往往效率(頁(yè)面響應(yīng)速度)是優(yōu)先考慮的。
statck:堆棧類(lèi),先進(jìn)后出
hashtable:就比hashmap多了個(gè)線(xiàn)程安全
enumeration:枚舉,相當(dāng)于迭代器
除了這些之外,其他的都是非線(xiàn)程安全的類(lèi)和接口。
9、Object的wait()方法
wait() 導(dǎo)致當(dāng)前的線(xiàn)程等待,直到其他線(xiàn)程調(diào)用此對(duì)象的 notify() 方法或 notifyAll() 方法。
java object默認(rèn)的基本方法:
getClass(), hashCode(), equals(), clone(), toString(), notify(), notifyAll(), wait(), finalize()
10、HttpServletRequest類(lèi)主要處理:
1.讀取和寫(xiě)入HTTP頭標(biāo)
2.取得和設(shè)置cookies
3.取得路徑信息
4.標(biāo)識(shí)HTTP會(huì)話(huà)
11、volatile
volatile用于限定變量只能從內(nèi)存中讀取,保證對(duì)所有線(xiàn)程而言,值都是一致的。但是volatile不能保證原子性,也就不能保證線(xiàn)程安全。