在做專案的時候,無意間發現新增到json中的元素是無存放順序的。嚴格來說,json預設是有存放順序的,不過是採用hashcode值來排序。下面來看一段原始碼
上圖展示了建立json物件的乙個過程,可以清晰的看出,無論使用者呼叫哪個構造方法,最終都是去執行上最後這個構造方法,根據使用者傳入的第二個引數來決定建立linkedhashmap物件還是hashmap物件,這就說明了,json底層是乙個map集合,也就解釋了為什麼json預設存放元素是無序的(其實是有序的,不過按照hashcode排序,跟put順序無關)。
如有寫的不對的地方,敬請指正,感謝!
為什麼ubuntu中的root賬號預設是禁用的?
ubuntu中預設的root賬號是沒有啟用的,是無法用root賬號來登陸系統的,在 etc shadow檔案中,root賬號預設的密碼是 密碼以 或者 開頭都表示這個賬號無法用來登陸系統。root賬號被禁用,當需要獲取特權的時候,也就無法通過 su 登陸到root賬號,因此都是通過sudo指令來暫時...
為什麼說ip協議是無連線協議
面向無連線是通訊技術之一。是指通訊雙方不需要事先建立一條通訊線路,二是把每個帶有目的位址的包 報文分組 送到線路上,由系統自主選定路線進行傳輸。在發包之前,不需要建立與對端目標位址之間的連線。上層如果有傳送給ip的資料,該資料會立即被壓縮成ip包傳送出去。1 為了簡化 2 為了提速 面向連線與無連線...
預設是什麼 什麼是預設路由?它有什麼特點?
首先我們來看看什麼是預設路由?預設路由也被稱為 預設路由 是目的網路位址及子網掩碼均為 0 的路由,即0.0.0.0 0.0.0.0 這是一條非常特殊的路由,特殊在所有的目的ip位址都能被這條路由匹配。讓我們來一起看看以下例項 gw1 gw2 gw3是企業各個分支站點的網管路由器,它們各自下聯一台乙...