JAVA面试常考系列六
轉(zhuǎn)載自?JAVA面試常考系列六
題目一
一個(gè)Applet有哪些生命周期?
一個(gè)Applet的生命周期分為以下四個(gè)階段:
Init
每次加載時(shí)都會(huì)初始化一個(gè)小程序。此方法通知Applet,方法已經(jīng)被裝入系統(tǒng),在第一次調(diào)用start方法之前總是先調(diào)用它。Init方法是Applet運(yùn)行的起點(diǎn)。如果需要執(zhí)行初始化任務(wù),可以在Applet的子類(lèi)中重載該方法,例如,在init方法中創(chuàng)建線程,而在destroy方法中消滅(destroy)相應(yīng)的線程。
Start
開(kāi)始執(zhí)行一個(gè)小程序。此方法通知Applet開(kāi)始執(zhí)行,當(dāng)調(diào)用init方法或者在Web頁(yè)中再次訪問(wèn)時(shí)被調(diào)用。在Applet的子類(lèi)中重載該方法,將每次訪問(wèn)該WWW頁(yè)需執(zhí)行的操作放入其中,例如,一個(gè)含自動(dòng)畫(huà)的Applet可以使用start方法恢復(fù)動(dòng)畫(huà)。
Stop
停止applet的執(zhí)行。此方法通知Applet停止執(zhí)行,當(dāng)含有該Applet的Web頁(yè)被其他頁(yè)代替時(shí)調(diào)用該方法,也正是在Applet被消滅之前。在Applet的子類(lèi)中重載該方法,將每次Web頁(yè)不再可見(jiàn)時(shí)需執(zhí)行的操作放入其中。
Destroy
在卸載小程序之前執(zhí)行最后的清理。此方法通知Applet,它正在被收回,應(yīng)該釋放已分配給它的所有資源,stop方法總是在該方法調(diào)用之前被調(diào)用。
?
題目二當(dāng)一個(gè)applet被加載時(shí)會(huì)發(fā)生什么?
當(dāng)一個(gè)applet被加載之后,首先,創(chuàng)建了一個(gè)applet控件類(lèi)的實(shí)例。實(shí)例創(chuàng)建之后,小程序就開(kāi)始自動(dòng)初始化,初始化完成之后,applet開(kāi)始運(yùn)行。
題目三
Applet和Java應(yīng)用程序有什么區(qū)別?
區(qū)別一
Java應(yīng)用程序可以在瀏覽器之外獨(dú)立執(zhí)行的Java程序。Java Applet需要依托于瀏覽器來(lái)執(zhí)行。
區(qū)別二
Java應(yīng)用程序需要具有特定簽名的主要方法才能開(kāi)始執(zhí)行。Java?Applet不需要。
區(qū)別三
Java應(yīng)用程序的安全策略比較寬松。Java小程序的安全策略通常為限制性的。
題目四
對(duì)Java小程序有什么限制?
基于安全的原因,對(duì)Java小程序施加了以下限制:
1.小程序無(wú)法加載庫(kù)或定義本地方法。
2.一個(gè)applet通常不能讀寫(xiě)執(zhí)行主機(jī)上的文件。
3.小程序無(wú)法讀取某些系統(tǒng)屬性。
4.一個(gè)小程序不能建立網(wǎng)絡(luò)連接,除了它來(lái)自的主機(jī)。
5.一個(gè)小程序不能在執(zhí)行它的主機(jī)上啟動(dòng)任何程序。
題目五
什么是不可信任的小程序?
不受信任的小程序是那些無(wú)法訪問(wèn)或執(zhí)行本地系統(tǒng)文件的Java小程序。默認(rèn)情況下,下載的所有applet都被認(rèn)為是不受信任的。?
題目六
通過(guò)網(wǎng)絡(luò)加載的Applet和通過(guò)文件系統(tǒng)加載的Applet有何區(qū)別?
區(qū)別一
通過(guò)網(wǎng)絡(luò)加載的Applet,由小應(yīng)用程序類(lèi)加載程序加載,并受小應(yīng)用程序安全管理程序強(qiáng)制執(zhí)行的限制。
區(qū)別二
通過(guò)文件系統(tǒng)加載的Applet,由文件系統(tǒng)加載程序加載。允許通過(guò)文件系統(tǒng)加載的小程序讀取文件,寫(xiě)入文件并在客戶機(jī)上加載庫(kù)。此外,允許通過(guò)文件系統(tǒng)加載的小程序執(zhí)行進(jìn)程。
區(qū)別三
通過(guò)文件系統(tǒng)加載的小程序不會(huì)通過(guò)字節(jié)代碼驗(yàn)證程序。
?
題目七applet類(lèi)加載器的作用是什么?
作用一
當(dāng)applet是從網(wǎng)絡(luò)上加載的時(shí)候,它是由applet類(lèi)加載器載入的。類(lèi)加載器有自己的java名稱(chēng)空間等級(jí)結(jié)構(gòu)。類(lèi)加載器會(huì)保證來(lái)自文件系統(tǒng)的類(lèi)有唯一的名稱(chēng)空間,來(lái)自網(wǎng)絡(luò)資源的類(lèi)有唯一的名稱(chēng)空間。
作用二
當(dāng)瀏覽器通過(guò)網(wǎng)絡(luò)載入applet的時(shí)候,applet的類(lèi)被放置于和applet的源相關(guān)聯(lián)的私有的名稱(chēng)空間中。然后,那些被類(lèi)加載器載入進(jìn)來(lái)的類(lèi)都是通過(guò)了驗(yàn)證器驗(yàn)證的。驗(yàn)證器會(huì)檢查類(lèi)文件格式是否遵守Java語(yǔ)言規(guī)范,確保不會(huì)出現(xiàn)堆棧溢出(stack overflow)或者下溢(underflow),傳遞給字節(jié)碼指令的參數(shù)是正確的。
?
題目八
彈出式選擇菜單(Choice)和列表(List)有什么區(qū)別?
Choice是以一種緊湊的形式展示的,需要下拉才能看到所有的選項(xiàng)。Choice中一次只能選中一個(gè)選項(xiàng)。List同時(shí)可以有多個(gè)元素可見(jiàn),支持選中一個(gè)或者多個(gè)元素。
題目九
布局管理器的作用是什么?常用的有哪些
布局管理器用于組織容器中的組件。
常用的有:
FlowLayout 流式布局
BorderLayout 邊框式布局
GridLayout 網(wǎng)格布局
CardLayout 卡片布局
GridBagLayout 復(fù)雜的網(wǎng)格布局
題目十
Scrollbar和JScrollPane有什么區(qū)別?
Scrollbar是一個(gè)組件,不是容器。
ScrollPane是容器,滾動(dòng)事件由自己來(lái)處理。
總結(jié)
以上是生活随笔為你收集整理的JAVA面试常考系列六的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 浏览器配置异常是怎么处理?
- 下一篇: JAVA面试常考系列八