#面試虐我千百遍#3月14日_整理

#first blood# XML的解析方式

sax解析(不事先加載整個文檔,占用資源少,非持久性)

SAXParserFactory?saxfac?=?SAXParserFactory.newInstance();

SAXParser?saxparser?=?saxfac.newSAXParser();

InputStream?is?=?new?FileInputStream(fileName);

saxparser.parse(is,?new?MySAXHandler());

dom解析(需要加載整個文檔,構(gòu)造層次結(jié)構(gòu),樹在內(nèi)存中持久)

DocumentBuilderFactory?dbf?=?DocumentBuilderFactory.newInstance();

DocumentBuilder?db?=?dbf.newDocumentBuilder();

Document?document?=?db.parse(fileName);

dom4j解析(性能最好,常用)

File?f?=?new?File(fileName);

SAXReader?reader?=?new?SAXReader();

Document?doc?=?reader.read(f);

Element?root?=?doc.getRootElement();


#double kill# 如何控制并發(fā)

synchronized? (一直等待鎖被釋放,不會被中斷;JVM會自動釋放鎖定

ReentrantLock? (手動釋放鎖,unLock()放到finally{},資源競爭激烈,Synchronized的性能會下降幾十倍,但是ReetrantLock的性能能維持常態(tài)

lock(), 如果獲取了鎖立即返回,如果別的線程持有鎖,當(dāng)前線程則一直處于休眠狀態(tài),直到獲取鎖

tryLock(), 如果獲取了鎖立即返回true,如果別的線程正持有鎖,立即返回false;

tryLock(long timeout,TimeUnit unit), 如果獲取了鎖定立即返回true,如果別的線程正持有鎖,會等待參數(shù)給定的時間,在等待的過程中,如果獲取了鎖定,就返回true,如果等待超時,返回false;

lockInterruptibly:如果獲取了鎖定立即返回,如果沒有獲取鎖定,當(dāng)前線程處于休眠狀態(tài),直到或者鎖定,或者當(dāng)前線程被別的線程中斷


#triple kill# 何種情況不走索引

何種情況不走索引(就是說數(shù)據(jù)庫在何種情況下索引失效具體可見:?數(shù)據(jù)庫索引失效


#Ultra? Kill# 如何防止重復(fù)提交

使用利用session結(jié)合UUID解決表單的重復(fù)提交。在jsp頁面增加一個隱藏域,利用uuid生成一個唯一的標(biāo)識號,賦給隱藏域,把唯一的標(biāo)識號 放置到session中一份,

<input type="hidden" name="html.uuid" value='<%=UuidToken.getUuidToken().getUUIDAsStr(request)%>'>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,653評論 18 399
  • 從三月份找實習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍(lán)閱讀 42,791評論 11 349
  • Java-Review-Note——4.多線程 標(biāo)簽: JavaStudy PS:本來是分開三篇的,后來想想還是整...
    coder_pig閱讀 1,772評論 2 17
  • Java SE 基礎(chǔ): 封裝、繼承、多態(tài) 封裝: 概念:就是把對象的屬性和操作(或服務(wù))結(jié)合為一個獨(dú)立的整體,并盡...
    Jayden_Cao閱讀 2,235評論 0 8
  • Java8張圖 11、字符串不變性 12、equals()方法、hashCode()方法的區(qū)別 13、...
    Miley_MOJIE閱讀 3,896評論 0 11

友情鏈接更多精彩內(nèi)容