雜七雜八筆記

2021-07-22 05:12:00 字數 1095 閱讀 3952

傳統ioe模式:i:ibm的伺服器;o:oracle資料庫;e:emc儲存裝置

乙個io操作其實分成了兩個步驟:發起io請求和實際的io操作。 

同步io和非同步io的區別就在於第二個步驟是否阻塞,如果實際的io讀寫阻塞請求程序,那麼就是同步io。 

阻塞io和非阻塞io的區別在於第一步,發起io請求是否會被阻塞,如果阻塞直到完成那麼就是傳統的阻塞io,如果不阻塞,那麼就是非阻塞io。 

bio方式適用於連線數目比較小且固定的架構,這種方式對伺服器資源要求比較高,併發侷限於應用中,jdk1.4以前的唯一選擇,但程式直觀簡單易理解。

nio方式適用於連線數目多且連線比較短(輕操作)的架構,比如聊天伺服器,併發侷限於應用中,程式設計比較複雜,jdk1.4開始支援。

aio方式使用於連線數目多且連線比較長(重操作)的架構,比如相簿伺服器,充分呼叫os參與併發操作,程式設計比較複雜,jdk7開始支援。

如果你想吃乙份宮保雞丁蓋飯: 

同步阻塞:你到飯館點餐,然後在那等著,還要一邊喊:好了沒啊! 

同步非阻塞:在飯館點完餐,就去遛狗了。不過溜一會兒,就回飯館喊一聲:好了沒啊! 

非同步阻塞:遛狗的時候,接到飯館**,說飯做好了,讓您親自去拿。 

非同步非阻塞:飯館打**說,我們知道您的位置,一會給你送過來,安心遛狗就可以了。 

併發程式設計-volatile解析:

volatile關鍵字無法保證操作的原子性。通常來說,使用volatile必須具備以下2個條件:

1)對變數的寫操作不依賴於當前值

2)該變數沒有包含在具有其他變數的不變式中

單例模式需要同步雙重檢查(double-check)來解決多執行緒下可能出現的問題。

jquery validate

只對name欄位進行校驗,無法對hidden域進行校驗

toarray方法

都需要帶引數,

而不帶引數的toarray()是不行的,執行時會報classcastexception異常

synchronized(c.class)

synchronized(getclass()) // do not use 這種方式,可能鎖住的實際中的類,並不是需要保護的靜態成員變數所對應的類(有可能是其子類)

雜七雜八筆記

1.string json json.tojsonstring 集合 出現字段無序情況下可以在實體類裡面加上該註解實現指定排序 jsontype orders 2.判斷字串中涉及的非法字元 預設的單例,使用自帶的敏感詞庫 public static sensitivefilterutils defa...

UML雜七雜八

各種分析的角度 目的。1 用例分析,是整個系統層次的功能 使用者的分析 2 靜態分析是對系統實現過程中對類層次的分析,它關注各個實現類的基本性情及各個類之前的關係 關聯 組合 聚合 泛化。3 活動分析是對系統功能業務及業務流和的分析,它是對物件層次的分析。這裡面引入了事件 時候的因素了 4 元件分析...

RTSP雜七雜八

1755埠 1755埠預設情況下用於 microsoft media server 微軟 伺服器,簡稱mms 554埠預設情況下用於 real time streaming protocol 實時流協議,簡稱rtsp 試試下面的方法 開始 控制面板 網路和撥號鏈結 右鍵點選你當前用的網路,點屬性 選...