collection(跟介面),set,list,map
①資料結構不同:arraylist底層用的是陣列,linkedlist在jdk1.8之前用的是陣列+鍊錶,jdk1.8之後用的是陣列+鍊錶+紅黑樹
②初始大小不同:arraylist為10,linkedlist沒有初始大小.
③查詢:arraylist快,linkedlist慢.
④增加,修改,刪除:linkedlist快,arraylist慢.
⑤時間複雜度:arraylist–o(1),linkedist–o(n)----查詢
①我們能夠使用iterater來遍歷set集合和list集合,而listiterater只能遍歷list集合.
②iterater僅能向前遍歷,listiterater可以雙向遍歷.
③listiterater新增了額外的功能,加入乙個元素,替換,獲取前乙個和下乙個的索引
每次我們嘗試獲取下乙個元素的時候iterater fail-fast屬性檢查當前集合不論什麼改動.他丟擲concurrentmodificationexception(併發修改異常),collection中全部iterater的實現都是按fail-fast來設計的。concurrenthashmap和copyonwitearraylist這類併發除外).
arraylist,hashmap,treemap和hashtable
vectot,hashmap,properties和stack是同步的,所以執行緒是安全的,能夠在多執行緒環境下使用.
①atrray』能夠容納基本型別資料和物件。arraylist僅僅容納物件.
②array是指定大小的,而arraylist大小是動態變化的.
③array沒有arraylist提供的那麼多方法,但是有時array好用
對於遍歷基本型別變數,雖然collections使用自己的主動裝箱來減輕編碼的任務,在指定大小的基本型別的列表也會變得慢.
arraylist和vector在非常多的時候都非常相似.
①兩者都是基於索引的,內部由乙個陣列支援.
②兩者維護插入的順序,我們能夠依據插入的順序獲取元素.
③arraylist和vector的迭代器實現都是 fail-fast的
④arraylist和vector兩者同意null值,也能夠使用索引值對元素進行隨機訪問.
arraylist和vector的不同點
①vector是同步的,而arraylist是不同步的,然而尋求在迭代的時候對列表進行改變應該使用copyonwriteatrraylist.
②arraylist比vector快,它不是同步的.
③arraylist更加通用,有collections工具類.
對於在map中插入,刪除和定位這類操作hashmap是最好的選擇。基於你的collection的大小或許hashmap中加入更快.
然而,假設向你需要對乙個有序的key集合進行遍歷,treemap是更好的選擇.
①hashmap同意key和value為null,而hashtable不同意.
②hashtable是同步的,而hashmap不同,hashtable適用於多執行緒環境下。
③在jdk1.4中引入了linkedhashmap,hashmap的乙個的子類,假如你想要遍歷順序,你非常easy從hashmap轉向linkedhashmap,可是hashtable不是這種。它的順序是不可逆的.
④hashmap提供keyset進行遍歷,因為他是fail-fast的,但hashtable提供對key的enumeration進行遍歷,它不支援fail-fast.
⑤hashtable被覺得是個被遺留的類,假設你尋求在迭代的時候改動map,應該使用cocurrenthashmap.
把學生物件存在set集合裡,因為set集合能去重.
第一步:class.forname()載入資料庫連線驅動;
第二步:drivermanager.getconnection()獲取資料連線物件;
第三步:根據 sql 獲取 sql 會話物件,有 2 種方式 statement、preparedstatement ;
第四步:執行 sql 處理結果集,執行 sql 前如果有引數值就設定引數值 set***();
第五步:關閉結果集、關閉會話、關閉連線。
rpc,nullpoint…
即時通訊(IM)面試題
有沒有做過即時通訊?是否使用過xmpp,講述一下xmpp的實現原理 客戶端獲取到伺服器傳送過來的好友訊息,客戶端需要對xml進行解析,使用的解析框架的kissxml框架,而不是nsxmlparser gdataxml。在使用xmpp的時候有沒有遇到什麼困難 2.xmpp框架沒有提供傳送附件的功能,需...
面試題總結 html面試題)
附上鏈結 doctype 的作用是什麼?宣告一般位於文件的第一行,它的作用主要是告訴瀏覽器以什麼樣的模式來解析文件。一般指定了之後會以標準模式來 進行文件解析,否則就以相容模式進行解析。在標準模式下,瀏覽器的解析規則都是按照最新的標準進行解析的。而在相容模式下,瀏 覽器會以向後相容的方式來模擬老式瀏...
面試題 實現im2col
實際上在一些深度學習框架的底層,當實現conv2d運算時,是將conv轉化為im2col和gemm來進行運算的 比如caffe和mxnet 之前面試的時候就被問到怎麼實現im2col。img2col是將img和kernel對應的那一塊鋪開成一行,然後將kernel鋪成一列,兩者進行矩陣乘法運算,這樣...