原创 設計模式——實現單例模式

    單例模式是最簡單的設計模式,沒有之一,相信大家也都聽說過。單例設計模式適合於一個類只有一個實例的情況,比如窗口管理器,打印緩衝池和文件系統,它們都是原型的例子。典型的情況是,那些對象的類型被遍及一個軟件系統的不同對象訪問,因此需要

原创 解題報告——第一次只出現一次的字符

    題目:在一個字符串(1<=字符串長度<=10000,全部有字母組成)中找到第一個出現一次的字符的位置。若爲空串,返回-1。     思路:簡單的哈希問題,char佔一個字節,8位,最多表示256種字符。時間複雜度O(n),空間複雜

原创 操作系統——中斷、異常和系統調用比較

    我們首先要明確,爲什麼操作系統需要中斷、異常和系統調用:     在計算機運行時,內核是被信任的第三方    只有內核纔可以執行特權指令    方便應用程序    接下來我們先簡單瞭解一下三者的概念:     系統調用(syst

原创 Linux高併發機制——epoll模型

    epoll是一個特別重要的概念,常常用於處理服務端的併發問題。當服務端的在線人數越來越多,會導致系統資源喫緊,I/O效率越來越慢,這時候就應該考慮epoll了。epoll是Linux內核爲處理大批句柄而作改進的poll,是Linu

原创 STL源碼剖析——stack的實現原理和使用方法詳解

Stack 簡介     stack 是堆棧容器,是一種“先進後出”的容器。     stack 是簡單地裝飾 deque 容器而成爲另外一種容器。     使用 stack 時需要加上頭文件 #include<stack> 。 sta

原创 HDFS架構——NameNode

    在學習NameNode之前,我們先回顧一下 HDFS 的整個系統構架。          在上一篇文章中我們講過了 NameNode 是管理節點,裏面存放元數據,那麼我們先來看看元數據的存儲細節。 元數據存儲細節     HDFS

原创 HDFS——HDFS整體設計架構和原理

    在我們學習HDFS之前,首先要了解分佈式文件系統的概念,分佈式文件系統有很多,HDFS只是其中的一種而已。那麼分佈式文件系統是什麼呢,又有哪些優點?     隨着現在數據量越來越多,在一個操作系統管轄的範圍存不下了,那麼就需要分配

原创 Hadoop僞分佈環境搭建——Hadoop安裝與配置

    我們需要從官網下載hadoop  點擊打開鏈接  我自己下載的是最新的版本 hadoop 2.7.1。     下載完成後就開始安裝了:     使用  sudo tar xzf hadoop-2.7.1.tar.gz 命令將文

原创 TCP/IP協議族概述

TCP/IP協議的體系結構 TCP/IP協議族四層模型和OSI七層模型                  OSI七層模型                                                          

原创 Linux編程——GCC的使用

    工欲善其事, 必先利其器。而gcc是Linux系統下最常見的編譯器,本文學習gcc 編譯器的使用。     gcc 支持編譯的一些源文件後綴名         gcc 編譯程序的流程         Linux的可執行文件並

原创 IP網際協議

    IP 協議位於網絡層,它是 TCP/IP 協議族中最爲核心的協議,所有的 TCP、UDP、ICMP 及 IGMP 數據都以 IP 數據報格式傳輸。IP 協議提供的是 不可靠 、 無連接 的數據報傳送服務。     不可靠(unre

原创 STL源碼剖析——空間的配置與釋放

    C++的內存配置基本操作是  ::operator new(),內存釋放的基本操作是 ::operator delete()。這兩個全局函數相當於C的malloc()和free()函數。是的,正是如此,STL正是以malloc()

原创 SQL數據庫的基本操作

    一丶基本命令行操作     1、顯示當前數據庫服務器中的數據庫列表:mysql> SHOW DATABASES;     2、建立數據庫:mysql> CREATE DATABASE 數據庫名;     3、建立數據表:mysql

原创 Linux進程fork,exec,vfork詳解

    在Unix/Linux系統下進程創建時需要進行如下系統調用:fork/exec     fork()把一個進程複製成二個進程:parent (old PID), child (new PID)     exec()用新程序來重寫當

原创 關於IO的同步,異步,阻塞,非阻塞

    關於網絡IO的同步、異步、阻塞、非阻塞的文章網上有很多,搜索了對比了一下,觀點也各不相同,即使是wiki也把異步和非阻塞區分得不是很清楚。下面我就結合《Unix網絡編程 卷1》中的介紹,來說一說自己的理解。     IO模型