原创 筆記G《線程池》

文章目錄Callable 接口Callable 演示線程池示例ThreadPoolExecutor線程池的工作原理handler 拒絕策略死鎖 Callable 接口 Java創建線程的4中方式: 繼承Thread類:浪費僅有的

原创 筆記H《JVM&GC》

文章目錄JVMJVM 內存結構垃圾回收算法GC RootJVM參數配置查看當前運行程序的配置查看JVM默認值參數常見參數GC日誌引用強引用軟引用弱引用WeakHashMap虛引用引用隊列總結OOMJava.lang.StackOv

原创 筆記F《阻塞隊列》

文章目錄阻塞隊列BlockingQueue傳統版生產消費者模式阻塞版生產消費者模式synchronized & lock 阻塞隊列 阻塞隊列,首先是一個隊列,而一個阻塞隊列在數據結構中所起的作用大致如圖: 當阻塞隊列是空,從隊

原创 筆記D《公平鎖/非公平鎖/可重入鎖/遞歸鎖/自旋鎖》

文章目錄公平鎖 & 非公平鎖可重入鎖(遞歸鎖)自旋鎖獨佔鎖 & 共享鎖 公平鎖 & 非公平鎖 公平鎖 公平鎖是指多個線程按照申請所的順序來獲取,先來先得。 在併發環境中,每個線程在獲取鎖時會先查看此鎖維護的等待隊列。如果爲空,

原创 筆記A《volatile 的理解》

文章目錄volatile 關鍵字保證可見性不保證原子性如何避免非原子性禁止重排JMM單例模式 DCL 本篇來自於尚學堂《2019互聯網面試題第2季》的視頻內容進行的爛筆頭彙總。 volatile 關鍵字 volatile 是 Ja

原创 筆記B《CAS》

文章目錄CAS缺點ABA 問題 CAS CAS: compare and swap,比較並交換。 先來看如下代碼,原子類的寫操作是先比較在設置。當且僅當對象偏移量V上的值和預期值A相等時,纔會用更新值B更新V內存上的值,否則不執行

原创 筆記C《ArrayList線程安全》

ArrayList 線程安全 ArrayList 是非線程安全的,如果強制在多進程中使用 ,將會報 ConcurrentModificationException 併發修改異常。 使用 Vector,效率低下; 使用 Colle

原创 筆記E《CountDownLatch/CyclicBarrier/Semaphore》

文章目錄CountDownLatchCyclicBarrierSemaphore CountDownLatch 讓一些線程阻塞直到另外一些完成後才被喚醒。 CountDownLatch 主要有兩個方法,當一個或多個線程調用 awa

原创 SparkSQL學習筆記

文章目錄簡介數據處理SQL命令式DataFrame & DatasetDataFrameDatasetschemaRow列的數據類型SparkSession註冊爲表或視圖SparkSQL 實現流程SparkSQL 常見操作命令式S

原创 Hive案例(收集更新)

文章目錄案例1案例二案例三側視圖案例四案例五案例六案例七案例八 案例1 有十萬個淘寶店鋪,每個顧客訪問任意一個店鋪時都會生成一條訪問日誌。訪問日誌存儲表的 visit,其中訪問用戶 ID 的字段爲 uid,訪問店鋪的字段爲 sto

原创 數據框架部分總結

spark的優化 1. 開發調優: 1) 避免創建重複的RDD 2) 儘可能複用同一個RDD 3) 對多次使用的RDD進行持久化 4) 儘量避免使用shuffle類算子 5) 使用map-si

原创 window 安裝 mysql

下載 下載路徑:https://dev.mysql.com/downloads/mysql/ 下載之後是一個壓縮文件,可以在任何地方進行解壓操作。 安裝 在 mysql 的解壓後的目錄,創建 data 目錄(我在本地將 mys

原创 java 集合初涉

文章目錄SetListMap總結 java 集合主要有三類:set、list、map Set set:只是簡單地將不相同元素添加到集合中,沒有順序可言。對象相同的本質是對象的 hashCode值是否相等。 HashSet H

原创 hive數據倉庫之筆記

文章目錄基本操作hive 操作數據庫操作表操作hive 的臨時參數設置基本數據類型表內部表外部表內部表&外部表相互轉化內、外部表總結分區表DML數據操作數據導入loadas 查詢加載insert into 追加,插入locatio

原创 HashMap 分析

HashMap 在 JDK1.8 之前使用了 “數據 + 鏈表” 的結構,數組是 HashMap 的主體,鏈表主要是解決 哈希衝突而處在的。在 JDK 1.8 以後採用了 “數組+鏈表+紅黑樹” 的結構,當鏈表長度大於閾值,就可以