HashMap的數(shù)據(jù)結(jié)構(gòu)是什么?如何實現(xiàn)的?和HashTable、ConcurrentHashMap的區(qū)別?
在Java 8中,HashMap的數(shù)據(jù)結(jié)構(gòu)是由Node作為元素組成的數(shù)組:(1)如果有多個值hash到同一個桶中,則組織成一個鏈表,而且,當這個鏈表的節(jié)點個數(shù)超過某個值(TREEIFY_THRESHOLD參數(shù)指定)時,則將這個鏈表重構(gòu)為一個二叉樹;(2)如果發(fā)現(xiàn)map中的元素個數(shù)超過了threshold,則進行空間擴容——二倍空間。
HashMap和HashTable的數(shù)據(jù)結(jié)構(gòu)和操作基本相同,區(qū)別是前者是非線程安全,并且HashMap接受value為null。
ConcurrentHashMap和HashTable一樣,都是線程安全的,但是區(qū)別是:HashTable每次操作都會鎖住整個表結(jié)構(gòu)——導(dǎo)致一次只能有一個線程訪問HashTable對象,而ConcurrentHashMap不會,只會鎖住某個節(jié)點,只有在涉及到size的操作時才會鎖整個表結(jié)構(gòu)。
Cookie和Session的區(qū)別 HTTP是無狀態(tài)協(xié)議,但是在實際應(yīng)用中有跟蹤客戶端狀態(tài)的需求,Cookie和Session是兩種不同的實現(xiàn)方案。Cookie保存在客戶端,Session保存在服務(wù)端
Cookie沒有Session安全,侵入者可以通過分析客戶端的cookie信息侵入網(wǎng)站;
使用Session存儲重要信息,使用Cookie存儲不那么重要的信息;
使用Session方案時,常常需要依賴Cookie傳遞SID的值,如果客戶端禁用了Cookie,則轉(zhuǎn)而采取URL重寫技術(shù)(但是這種技術(shù)有安全風險);
填寫下面表單即可預(yù)約申請免費試聽java課程!害怕學(xué)不會?助教全程陪讀,隨時解惑!擔心就業(yè)?一地學(xué)習,可全國推薦就業(yè)!
初級會計職稱中級會計職稱經(jīng)濟師注冊會計師證券從業(yè)銀行從業(yè)會計實操統(tǒng)計師審計師高級會計師基金從業(yè)資格稅務(wù)師資產(chǎn)評估師國際內(nèi)審師ACCA/CAT價格鑒證師統(tǒng)計資格從業(yè)
一級建造師二級建造師消防工程師造價工程師土建職稱房地產(chǎn)經(jīng)紀人公路檢測工程師建筑八大員注冊建筑師二級造價師監(jiān)理工程師咨詢工程師房地產(chǎn)估價師 城鄉(xiāng)規(guī)劃師結(jié)構(gòu)工程師巖土工程師安全工程師設(shè)備監(jiān)理師環(huán)境影響評價土地登記代理公路造價師公路監(jiān)理師化工工程師暖通工程師給排水工程師計量工程師
人力資源考試教師資格考試出版專業(yè)資格健康管理師導(dǎo)游考試社會工作者司法考試職稱計算機營養(yǎng)師心理咨詢師育嬰師事業(yè)單位教師招聘公務(wù)員公選考試招警考試選調(diào)生村官
執(zhí)業(yè)藥師執(zhí)業(yè)醫(yī)師衛(wèi)生資格考試衛(wèi)生高級職稱護士資格證初級護師主管護師住院醫(yī)師臨床執(zhí)業(yè)醫(yī)師臨床助理醫(yī)師中醫(yī)執(zhí)業(yè)醫(yī)師中醫(yī)助理醫(yī)師中西醫(yī)醫(yī)師中西醫(yī)助理口腔執(zhí)業(yè)醫(yī)師口腔助理醫(yī)師公共衛(wèi)生醫(yī)師公衛(wèi)助理醫(yī)師實踐技能內(nèi)科主治醫(yī)師外科主治醫(yī)師中醫(yī)內(nèi)科主治兒科主治醫(yī)師婦產(chǎn)科醫(yī)師西藥士/師中藥士/師臨床檢驗技師臨床醫(yī)學(xué)理論中醫(yī)理論