原创 Hadoop-5-HDFS

Hadoop-5-HDFS 1、概述  Hadoop Distributed File System (HDFS™),是一種分佈式文件管理系統,用於管理多個機器上的文件  它主要用於存儲文件,通過目錄樹結構來定位文件的位置。適合一

原创 數據結構-4-棧

四、棧 1、概念 棧和隊列類似,不同的是棧遵循 LIFO(last-in-first-out)的原則,即最後一個入棧的元素,最先被取出 來 2、常用方法 push。入棧 pop。出棧 peek。看一下棧頂的元素 3、示例 【1

原创 解決Mac連接移動硬盤爲只讀狀態

解決Mac連接移動硬盤爲只讀狀態 1、問題描述 由於移動硬盤默認是NTFS類型,導致連接Mac後,使用訪達打開爲只讀狀態。這樣就無法進行新增和刪除文件的的操作。 2、解決辦法 使用命令將移動硬盤的目錄重新掛載到當前用戶下的目錄即可

原创 Java多線程-2-CAS

二、CAS 1、概念 CAS(compareAndSwap),比較並交換 CAS操作需要輸入兩個值,一箇舊值(操作前的值),一個新值(要操作的值)。在操作期間首先比較舊值有沒有發生改變,如果沒有變化,則交換成新值,否則不交換 主要

原创 數據結構-3-隊列

三、隊列 1、概念 隊列是一種遵循 FIFO(first-in-first-out)的集合數據結構,即最先放到隊列中的元素,也是最先被獲取到的 它底層可以用數組來實現,也可以用鏈表來實現。它有2個指針,分別指向頭節點和尾節點,添加

原创 Java虛擬機-4-垃圾回收器

四、垃圾回收器 1、垃圾回收算法 【1】標記-清除算法(Mark-Sweep) 垃圾回收器先判定出所有需要回收的對象,並標記,然後再執行清理工作,把剛纔標記出來的對象都回收掉 缺點:一是效率不高,二是會產生內存碎片 【2】複製算法

原创 Java虛擬機-5-StackOverflowError

五、StackOverflowError java.lang.StackOverflowError,棧溢出。最常見的原因就是方法遞歸太深了 示例: public class TestStackOverflowError {

原创 Hadoop-8-YARN

Hadoop-8-YARN 1、概述  YARN是一個資源調度平臺,它負責爲各種運算程序提供服務器運算資源,相當於一個分佈式的操作系統平臺  YARN可以運行各種類型的分佈式運算程序,MapReduce只是其中一種,它還可以運行S

原创 Java多線程-3-併發容器和工具類

三、併發容器和工具類 1、併發容器 【1】ConcurrentHashMap 多線程情況下的HashMap。注意KEY和VALUE都不能爲null 【2】ConcurrentSkipListMap 多線程情況下的TreeMap C

原创 Java多線程-5-Queue

五、Queue 1、概念 隊列,繼承java.util.Collection接口,遵循FIFO(先進先出)規則來操作容器內的元素 2、阻塞隊列 java.util.concurrent.BlockingQueue,繼承java.u

原创 Java多線程-4-LOCK

四、LOCK 1、鎖的4種狀態 【1】鎖的優化 JDK6爲了減少獲得鎖和釋放鎖帶來的性能消耗,引入了“偏向鎖”和“輕量級鎖” 從而使得鎖有了4種狀態,並隨着鎖競爭的情況而升級。鎖可以升級但不能降級,鎖的升級被稱爲“鎖膨脹” 【2】

原创 數據結構-2-鏈表

二、鏈表 1、概念 數組在內存當中是一塊連續的區域,每個元素之間的內存地址是相鄰的。而鏈表在內存當中則不是連續的,每個元素之間通過指針來相互關聯 如果鏈表內的元素只通過一個指針來指向它的下一個節點,則該鏈表是一個單向的鏈表;如果鏈

原创 Java虛擬機-1-JVM內存分佈

一、JVM內存分佈 1、JVM內存模型 JVM內存模型主要包括:類加載器,運行時數據區域,本地方法庫、本地方法接口,執行引擎和垃圾回收器 運行時數據區域主要包括:【線程獨享】:虛擬機棧、本地方法棧、程序計數器,【線程共享】:堆、方

原创 Java虛擬機-3-JVM參數

三、JVM參數 1、標準選項 常用的有2個: -server 選擇 "server" VM 默認 VM 是 server. -D<名稱>=<值> 設置系統屬性 64位的JD

原创 Java虛擬機-2-對象的引用

二、對象的引用 1、垃圾對象 Java把那些GC Roots不能訪問到的對象,稱之爲垃圾對象 2、GC Roots GC Roots [集合]的表現形式,主要有四類: 虛擬機棧中的引用 本地方法棧中的引用 成員變量 靜態常量