電子書下載地址: http://wiki.jikexueyuan.com/project/java-interview-bible/
1. XML 包括哪些解釋技術(shù),區(qū)別是什么?
包括:DOM(Document Object Modal)文檔對象模型,SAX(Simple API for XML)。DOM 是一次性將整個文檔讀入內(nèi)存操作,如果是文檔比較小,讀入內(nèi)存,可以極大提高操作的速度,但如果文檔比較大,那么這個就吃力了。所以此時 SAX 應(yīng)用而生,它不是一次性的將整個文檔讀入內(nèi)存,這對于處理大型文檔就比較就力了
2. XML 文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?解析XML 文檔有哪幾種方式?
答:XML 文檔定義分為 DTD 和 Schema 兩種形式;其本質(zhì)區(qū)別在于 Schema 本身也是一個 XML 文件,可以被 XML 解析器解析。對 XML 的解析主要有DOM(文檔對象模型)、SAX、StAX(JDK 1.6中引入的新的解析 XML 的方式,Streaming API for XML) 等,其中 DOM 處理大型文件時其性能下降的非常厲害,這個問題是由 DOM 的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且 DOM 必須在解析文件之前把整個文檔裝入內(nèi)存,適合對 XML 的隨機(jī)訪問(典型的用空間換取時間的策略);SAX 是事件驅(qū)動型的 XML 解析方式,它順序讀取 XML 文件,不需要一次全部裝載整個文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時,它會觸發(fā)一個事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理 XML 文件,適合對 XML 的順序訪問;如其名稱所暗示的那樣,StAX把重點(diǎn)放在流上。實(shí)際上,StAX與其他方法的區(qū)別就在于應(yīng)用程序能夠把XML作為一個事件流來處理。將XML作為一組事件來處理的想法并不新穎(事實(shí)上 SAX 已經(jīng)提出來了),但不同之處在于 StAX 允許應(yīng)用程序代碼把這些事件逐個拉出來,而不用提供在解析器方便時從解析器中接收事件的處理程序。
3. 你在項(xiàng)目中哪些地方用到了 XML?
答:XML 的主要作用有兩個方面:數(shù)據(jù)交換(曾經(jīng)被稱為業(yè)界數(shù)據(jù)交換的事實(shí)標(biāo)準(zhǔn),現(xiàn)在此項(xiàng)功能在很多時候都被 JSON 取代)和信息配置。在做數(shù)據(jù)交換時,XML 將數(shù)據(jù)用標(biāo)簽組裝成起來,然后壓縮打包加密后通過網(wǎng)絡(luò)傳送給接收者,接收解密與解壓縮后再從 XML 文件中還原相關(guān)信息進(jìn)行處理。目前很多軟件都使用 XML 來存儲配置信息,很多項(xiàng)目中我們通常也會將作為配置的硬代碼(hard code)寫在 XML 文件中,Java 的很多框架也是這么做的。
4. 談?wù)剬?XML 的理解?說明 Web 應(yīng)用中 Web.xml 文件的作用?
解答:XML(Extensible Markup Language)即可擴(kuò)展標(biāo)記語言,它與 HTML 一樣,都是 SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語言)。Xml 是 Internet 環(huán)境中跨平臺的,依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。擴(kuò)展標(biāo)記語言 XML 是一種簡單的數(shù)據(jù)存儲語言,使用一系列簡單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然XML占用的空間比二進(jìn)制數(shù)據(jù)要占用更多的空間,但XML極其簡單易于掌握和使用。
web.xml 的作用是配置歡迎頁,servlet,filter,listener 等的。
5. XML 是一種元語言, 可以用它來描述其他語言。
A.正確
B.錯誤
解答:B
XML(Extensible Markup Language)即可擴(kuò)展標(biāo)記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語言)。Xml 是 Internet 環(huán)境中跨平臺的,依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。擴(kuò)展標(biāo)記語言 XML 是一種簡單的數(shù)據(jù)存儲語言,使用一系列簡單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然 XML 占用的空間比二進(jìn)制數(shù)據(jù)要占用更多的空間,但 XML 極其簡單易于掌握和使用。
6. 在 XML 中用于注釋的符號是。(選擇1項(xiàng))
A.<!– –>
B.<?– –?>
C.<% %>
D.<!– –!>
解答:A
7. DTD 與 XML Schema 都是XML文檔。(選擇1項(xiàng))
A.正確
B.不正確
解答:DTD 不是 XML 文件, schema 是 XML 文檔