<
integer
,string
>
map=
newhashmap
<>();
思想上是空間換時間的演算法
建構函式上有容量和負載因子2個引數以及作用
決定效能的是key的hashcode是否夠快、結果夠分散(不分散就會變成鍊錶的效能了),和擴容的開銷(什麼時候擴容,和負載因子有關)
<
somebean
>
list
=dosomething
();map
<
integer
,string
>
map=
newhashmap
<>((
int)(
list
.size
()/0.75
));為預設負載因子
可以考慮調小負載因子,花更多的空間來換時間
arraylist
(int
initialcapacity
)//linkedlist不是陣列就沒有
public
hashmap
(int
initialcapacity
)public
stringbuffer
(int
capacity
)final
intgetandupdate
(intunaryoperator
updatefunction
)while
(!compareandset
(prev
,next
));return
prev;}
哪些方面會影響hashmap的效能?
執行緒安全的map有哪些,concurrenthashmap是如何實現執行緒安全的(jdk1.8大不同)?
鎖有哪幾種?
公平鎖,讀寫鎖等如何實現?
synchronize能加在哪些地方?什麼區別?
死鎖的形成條件?現在很少死鎖了,很少問
原子資料物件的原理?
reentrantlock相關知識,condition如何使用?(很重要的知識點,強烈推薦閱讀arrayblockingqueue原始碼,教科書般)
volatile的相關知識(記憶體屏障,重排)
threadlocal原理和使用?(超級有用的知識點,工作中使用很多,讓**漂亮很多,後面專門開貼寫)
多個執行緒同步等待?(countdownlatch,cyclicbarrier,semaphore訊號量很多語言都有,實際上使用不是很多,執行緒池就可以實現大部分等待功能)
執行緒池?(種類,重要的方法,這個一般是使用層面,簡單)
動態**?反射?內省?(考察知識面)
session相關知識?和cookie關係?分布式session實現原理?
cookie相關知識?有哪些屬性?(有些屬性很有用,只是我們很少留意而已!)
nginx,apache 實際專案能做哪些?(鑑權,**,快取,反向**等)和tomcat什麼關係?最少了解
ajax跨域原因?解決方式?(重點知識,做se避免不了的問題。這裡很多知識點。)
jsonp原理?後台需要改動嗎?(jsonp雖然現在落伍了,但還是會問問)
web優化知識點?(常規知識點)
前台快取相關?(200cache,304,ajax快取,如何實現快取)
什麼才是java的基礎知識?
出處 常用設計模式完整系列篇 強化程式設計功底 演算法文摘 map string map new hashmap 思想上是空間換時間的演算法 建構函式上有容量和負載因子2個引數以及作用 決定效能的是key的hashcode是否夠快 結果夠分散 不分散就會變成鍊錶的效能了 和擴容的開銷 什麼時候擴容,...
java 基礎知識
1.複製。賦值操作。就是先將其本身加乙個變數再賦值給其本身。如a b就是a a b 2.比較兩個值或者說是位址是否相同 指向同乙個物件 和 或 3.操作符是if else操作的縮寫,如果 右邊判斷為true則返回 左邊的計算結果。右邊錯誤,返回 右邊的計算結果。在class09裡面有例子。4.流程控...
Java基礎知識
1 物件導向的特徵有哪些方面 1.抽象 抽象就是忽略乙個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是資料抽象。2.繼承 繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用...