什麼才是java的基礎知識?

2021-08-19 11:16:30 字數 1701 閱讀 3893

<

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.繼承 繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用...