在開發中你是如何決定使用哪個集合子類?

2021-10-10 23:18:08 字數 454 閱讀 9115

arraylist vector linkedlist

arraylist

1.底層是陣列:查詢快,增刪慢

2.執行緒不安全

3.效率高

vector

1.底層是陣列:查詢快,增刪慢

2.執行緒安全:安全性高

3.效率低

linkedlist

1.底層是鍊錶,查詢慢增刪快

2.執行緒不安全,效率高

答:首先我們先看對於資料的安全性要求:

高vector 低arraylist,linkedlist

對於安全性不高:

比如他的資料查詢多增刪少arraylist

比如他的資料查詢少增刪少linkedlist

在udp中,如何知道是哪個客戶端發的及udp多執行緒

方案一 客戶端先使用tcp登入伺服器,連線成功後服務端拿到了客戶端的ip位址及登入id.客戶端再嘗試使用udp傳送資料報,客戶端根據拿到的資料報的ip位址就能知道是哪個使用者發的 另外 服務端要使用心跳機制,保證當使用者鏈結斷開後能及時處理 因為客戶端連線斷開後tcp連線並不會及時斷開 方案二 下面...

在php擴充套件開發中如何使用pkg config

首先科普下pkg config能幹啥。下面是維基百科對pkg config的說明 pkg config 是乙個提供從源 中編譯軟體時查詢已安裝的庫時使用的統一介面的計算機軟體。pkg config原本是設計用於linux的,但現在在各個版本的bsd windows mac os x和solaris上...

在開發中,什麼是左值?什麼是右值?怎麼使用?

什麼是左值?什麼是右值?從字面上說所謂的左值就是能在賦值符號的左邊出現的數值,右值就是可以在賦值符號右邊出現的數值。其實際意義也是如此,那麼哪些值可以在賦值符號左邊出現,哪些可以在等號賦值符號出現的呢?這就要從分析賦值符號左邊與右邊出現的值的區別著手。能被賦值的數,一定在記憶體裡面占用有一塊記憶體空...