原创 linux 文件刪除過程淺析

1.Linux文件刪除原理 Linux是通過link的數量控制文件刪除的,只有當文件不存在任何鏈接時,該文件纔會被刪除,一般每個文件有兩個link計數器: i_count 和 i_nlink,從VFS inode結構體中可以找到:

原创 Linux容器LXC學習之Namespace

Linux Containers即就是Linux容器,是一個加強版的Chroot。容器可以提供輕量級的虛擬化,一遍隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他複雜性。;  LXC主要依賴Linux內核的3種隔離機制(i

原创 namespaces之 User Namespace機制

USER Namespaces 主要是對用戶和用戶組進行隔離。它是從Linux 3.8內核才慢慢支持的,現在有些linux發行版還不支持user namespaces(主要是因爲還不完全成熟,處於對安全的擔心,在編譯內核時並未開啓US

原创 java多線程學習

進程線程 什麼是進程呢?  進程就是程序(任務)的執行過程,它是動態性的,比如大家常使用的QQ、開發用的Eclipse等經過點擊運行就可以看作一個進程,在磁盤中存儲的相關文件不是進程;進程持有資源(共享內存,共享文件)和線程。  那什

原创 用戶態文件系統fuse學習

FUSE概述 FUSE(用戶態文件系統)是一個實現在用戶空間的文件系統框架,通過FUSE內核模塊的支持,使用者只需要根據fuse提供的接口實現具體的文件操作就可以實現一個文件系統。  在fuse出現以前,Linux中的文件系統都是完全

原创 Java集合Collection接口之List子接口

List接口介紹 List接口是有序的collection(也稱爲序列,這個有序不是指的自然順序,而是指添加進集合中的順序與元素出來的順序一致),用戶可以對列表中每個元素的插入位置進行精確地控制。用戶可以根據元素的整數索引(在列表

原创 初學socket網絡編程

一、服務器端實現: 1.創建socket #include <sys/types.h>#include <sys/socket.h>int socket(int domain, int type, int protocol); do

原创 I/O複用系統調用之select()和poll()

I/O複用是一種讓進程預先告知內核的能力,使得內核一旦發現進程指定的一個或多個I/O條件就緒(如可以讀/寫了),內核就通知進程。主要有select、poll和epoll三種函數支持。調用這幾個函數時,不會阻塞在真正的I/O函數上(如

原创 Java集合之Collection接口

集合概述 Java集合類是一種類似於數組的,存儲對象引用(而非對象本身)的容器。集合石存儲對象最常用的一種方式。集合中可以存儲任意類型的對象,且長度可變,這就是說它類似於數組卻又不同於數組的原因,集合比數組更加適用。集合可以使用對

原创 flume Source啓動過程分析

組件框圖 開始之前,先看下基本的組件框架圖,熟悉了大致框架流程學習起來必然會更加輕鬆:  接收事件根據配置選擇對應的Source運行器(EventDrivenSourceRunner 和 PollableSourceRun

原创 flume日誌收集系統

flume日誌收集系統 概述 Flume是一個分佈式的、可靠的、高可用的海量日誌採集系統。它能夠將不同數據源的海量日誌數據進行高效收集、聚合、移動,最後存儲到一箇中心化數據存儲系統中。能夠做到實時推送事件,並且可以滿足數據量是持

原创 Java集合之Map

Map接口概述 前邊對Java單列集合Collection有了基本的瞭解,現在開始學習下集合的Map接口。Map是一個非常有用的數據結構,該接口是一個雙列集合,所謂雙列就是Map是依照鍵(key)-值(value)對的序列來存儲元

原创 Java泛型

什麼是泛型 泛型是Java SE 1.5的新特性,Java語言引入泛型的好處是安全簡單,並且以提高代碼的重用性。在Java SE 1.5之前,沒有泛型的情況的下,通過對類型Object的引用來實現參數的“任意化”,“任意化”帶來的缺點

原创 I/O複用系統調用之epoll

I/O複用系統調用之epoll() epoll API是linux系統特有的(在2.6內核新增),同I/O多路複用和信號驅動I/O功能類似,均可以監視多個文件描述符上的I/O就緒事件。  epoll()將用戶關心的事件放入內核的事

原创 flume MemoryChannel分析

前邊介紹了flume的基本概念和Source部分,接下來看看flume中的第二大組件Channel中的MemoryChannel。MemoryChannel是完全在內存中運行,速度很快,其優點同樣也就成了缺點,不能持久化,若機器發生宕