原创 Java集合-Map架構

首先,我們看看Map架構。 如上圖: (01) Map 是映射接口,Map中存儲的內容是鍵值對(key-value)。 (02) AbstractMap 是繼承於Map的抽象類,它實現了Map中的大部分API。其它Map的實現類可以通過

原创 Java集合-Vector

Vector介紹 Vector簡介 Vector 是矢量隊列,它是JDK1.0版本添加的類。繼承於AbstractList,實現了List, RandomAccess, Cloneable這些接口。 Vector 繼承了AbstractL

原创 Java集合-LinkedList

LinkedList介紹 LinkedList簡介 LinkedList 是一個繼承於AbstractSequentialList的雙向鏈表。它也可以被當作堆棧、隊列或雙端隊列進行操作。 LinkedList 實現 List 接口,能對它

原创 Java集合-List總結

List概括 先回顧一下List的框架圖 (01) List 是一個接口,它繼承於Collection的接口。它代表着有序的隊列。 (02) AbstractList 是一個抽象類,它繼承於AbstractCollection。Abst

原创 Java集合-Stack

Stack介紹 Stack簡介 Stack是棧。它的特性是:先進後出(FILO, First In Last Out)。 java工具包中的Stack是繼承於Vector(矢量隊列)的,由於Vector是通過數組實現的,這就意味着,Sta

原创 JVM調優監控常用工具

命令行工具 jps (JVM Process Status Tool),類似於Linux的ps命令,用於列舉正在運行的虛擬機進程,並顯示虛擬機執行主類(main函數所在的類)名稱以及這些進程的本地虛擬機唯一ID(LVMID local v

原创 JVM性能調優總結

1.堆大小設置 JVM 中最大堆大小有三方面限制:相關操作系統的數據模型(32-bt還是64-bit)限制;系統的可用虛擬內存限制;系統的可用物理內存限制。32位系統下,一般限制在1.5G~2G;64爲操作系統對內存無限制。 典型設置:

原创 Flink學習-分佈式運行環境

目錄 任務和算子鏈 Job Managers, Task Managers, Clients Task Slots and Resources State Backends Savepoints 任務和算子鏈 分佈式計算中,Flink會將

原创 Tumbling Windows和Sliding Windows區別與聯繫

在流系統中通常會經常使用到Windows來統計一定範圍的數據,比如按照固定時間、按個數等統計。一般會存在兩種類型的Windows:Tumbling Windows vs Sliding Windows,它們很容易被初學者混淆,那麼Tumb

原创 spark面試問題

1、spark中的RDD是什麼,有哪些特性 RDD(Resilient Distributed Dataset)叫做分佈式數據集,是Spark中最基本的數據抽象,它代表一個不可變、可分區、裏面的元素可並行計算的集合。  Dataset:

原创 spark面試題(一)

1、driver的功能是什麼? 1)一個Spark作業運行時包括一個Driver進程,也是作業的主進程,具有main函數,並且有SparkContext的實例,是程序的人口點; 2)功能:負責向集羣申請資源,向master註冊信息,負責了

原创 Storm,Spark和Flink三種流式大數據處理框架對比

storm、spark streaming、flink都是開源的分佈式系統,具有低延遲、可擴展和容錯性諸多優點,允許你在運行數據流代碼時,將任務分配到一系列具有容錯能力的計算機上並行運行,都提供了簡單的API來簡化底層實現的複雜程度。 A

原创 Hadoop/Spark相關面試問題總結

面試回來之後把其中比較重要的問題記了下來寫了個總結:  (答案在後面) 1、簡答說一下hadoop的map-reduce編程模型 2、hadoop的TextInputFormat作用是什麼,如何自定義實現 3、hadoop和spark的都

原创 Hadoop/Spark的shuffle面試題

由於shuffle階段涉及磁盤的讀寫和網絡IO,因此shuffle性能的高低直接影響整個程序的性能和吞吐量。  1. spark的shuffle 是什麼?過程? 怎麼調優? 在MapReduce過程中需要將各個節點上的同一類數據彙集到一個

原创 Flink學習--Flink編程模型

目錄 Flink技術棧 編程模型 抽象級別 程序和數據流 並行數據流 窗口 時間 容錯檢查點 流上的批處理 Flink是一款分佈式的計算引擎,它可以用來做批處理,即處理靜態的數據集、歷史的數據集;也可以用來做流處理,即實時地處理一些實時數