原创 Java8函數式編程的宏觀總結

1.java8優勢 通過將行爲進行抽象,java8提供了批量處理數據的並行類庫,使得代碼可以在多核CPU上高效運行。 2.函數式編程的核心 使用不可變值和函數,函數對一個值進行處理,映射成另一個值。 3.Lambda表達式

原创 ConcurrentHashMap源碼分析-Java8

1.ConcurrentHashMap特性 說明:因爲ConcurrentHashMap單詞太長,所以下面均適用CHM替代ConcurrentHashMap 同爲線程安全集合,但CHM沒有任何訪問操作需要鎖定全表。這也註定了CH

原创 TreeMap源碼分析-java8

1.特徵分析 TreeMap是基於NavigableMap的紅黑樹的實現。 默認排序方式:對key升序排序。 TreeMap是非線程同步的。 支持淺拷貝,序列化 紅黑樹put節點時,分有無比較器分開討論,這主要是從

原创 HTTP問題總結

HTTP相關內容 1.HTTP協議簡介 HTTP協議是一種網絡協議。網絡協議:計算機通信網絡中兩臺計算機之間進行通信必須遵守的規定or準則。 HTTP協議屬於應用層協議。 HTTP協議在傳輸層使用的是可靠的數據傳輸協議TC

原创 TreeSet源碼分析-java8

1.特點分析 TreeSet是基於TreeMap的NavigableSet實現,所以要想理解好TreeSet,必須研究TreeMap。 TreeMap對其的實現中,key作爲存儲set中元素的位置,而value始終都是一個s

原创 Cookie和Session的對比分析

宏觀概括 1.Cookie和Session都是常用的會話跟蹤技術。 2.Session是在服務端保存的一個數據結構,用來跟蹤用戶的狀態,這個數據可以保存在集羣、數據庫、文件中。 3.Cookie是客戶端瀏覽器保存用戶信息的一

原创 Set接口源碼分析-java8

1.toArray()和toArray(T[] a) 將set實例轉爲String[]的方式如下: Set<String> x=new HashSet<String>; String[] y = x.toArray(new

原创 LinkedHashMap源碼分析-java8

得益於昨天網易的面試,所以重新認識了一個集合,回來後趕緊做了分析,繼續努力~ps:面試官真的很nice,希望好運~ 1.特性分析 說明:因爲LinkedHashMap單詞太長,所以以下都用LHM替代 基本數據結構:數組+雙向鏈

原创 語法練習筆記-java8

1.類說明 Album:專輯類,包含了專輯名稱,專輯上所有曲目的列表,參與創作本專輯的藝術家列表 Artist:樂隊類,包含了樂隊名字,樂隊成員,樂隊國籍 Track:專輯中的一支曲目,包含了曲目名稱,曲目時長 Al

原创 AbstractSet源碼分析-java8

1.3個方法 2.Hash值 hash=sum(每個元素的hash值) 如果元素爲null,則默認hash值爲0. 3.removeAll(Collection 4.源碼分析 package sourcecode.a

原创 拼湊面額dp

1.題目 給你六種面額 1、5、10、20、50、100 元的紙幣,假設每種幣值的數量都足夠多,編寫程序求組成N元(N爲0~10000的非負整數)的不同組合的個數。 2.代碼 import java.util.*; pub

原创 TopK問題

TopK問題 說明: 1)求最小k個數,使用大頂堆; 2)求最大k個數,使用小頂堆。 實現代碼如下 import java.util.ArrayList; //第k小,則構造大頂堆 public cla

原创 mysql unique key在查詢中的使用與相關問題

今天小編就爲大家分享一篇關於mysql unique key在查詢中的使用與相關問題,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧 1、建表語句: CREATE T

原创 常用算法 [進制轉換+最小正整數+樹的非遞歸算法]

常用算法 [進制轉換+最小正整數+樹的非遞歸算法] 問題一 :8和10進制轉換 public class Main { public static void main(String[] args) { //S

原创 亞馬遜面試題

亞馬遜面試問題 一面 筆試中做的最差題目的重新分析 講實習項目 獲得字符串中最大重複子串長度 思想dp,當時只想到了暴力解法。 二面 講實習項目 內存空間大小按頁=4KB劃分,實現接口,可以實現borrow(int size