原创 Android的按鈕單擊事件及監聽器的實現方式(附實例)

第一種:匿名內部類作爲事件監聽器類 大部分時候,事件處理器都沒有什麼利用價值(可利用代碼通常都被抽象成了業務邏輯方法),因此大部分事件監聽器只是臨時使用一次,所以使用匿名內部類形式的事件監聽器更合適,實際上,這種形

原创 LINUX 硬鏈接與軟鏈接

       首先要弄清楚,在Linux系統中,內核爲每一個新創建的文件分配一個Inode(索引結點),每個文件都有一個惟一的inode號。文件屬性保存在索引結點裏,在訪問文件時,索引結點被複制到內存在,從而實現文件的快速訪問。    

原创 Linux進程基礎與信號基礎

計算機實際上可以做的事情實質上非常簡單,比如計算兩個數的和,再比如在內存中尋找到某個地址等等。這些最基礎的計算機動作被稱爲指令(instruction)。所謂的程序(program),就是這樣一系列指令的所構成的集合。通過程序,我們可以

原创 C++中名字隱藏是什麼?

讓我們通過一個例子來講解C++中的名字隱藏。在C++中,如果一個類裏有一個重載的方法, 你用另一個類去繼承它並重寫(覆蓋)那個方法。你必須重寫所有的重載方法, 否則未被重寫的方法會因爲名字相同而被隱藏,從而使它在派生類中不可見。 請看

原创 Linux架構與文件流

我以下圖爲基礎,說明Linux的架構(architecture)。(該圖參考《Advanced Programming in Unix Environment》)   最內層是硬件,最外層是用戶常用的應用,比如說firefo

原创 Linux進程與多線程

計算機如何執行進程呢?這是計算機運行的核心問題。即使已經編寫好程序,但程序是死的。只有活的進程才能產出。我們已經從Linux進程基礎中瞭解了進程。現在我們看一下從程序到進程的漫漫征程。   一段程序 下面是一個簡單的C程序,假設該

原创 互聯網協議入門

一、概述 1.1 五層模型 互聯網的實現,分成好幾層。每一層都有自己的功能,就像建築物一樣,每一層都靠下一層支持。 用戶接觸到的,只是最上面的一層,根本沒有感覺到下面的層。要理解互聯網,必須從最下層開始,自下而上理解每一層的功

原创 TCP戀愛史:三次握手和四次分手

TCP協議非常重要,這裏把它的連接和釋放整理一下。 首先是三次握手: 1、  客戶端發起,像服務器發送的報文SYN=1,ACK=0,然後選擇了一個初始序號:seq=x。 SYN是幹什麼用的? 在鏈接的時候創建一個同步序號,當

原创 寫一個名爲my2DAlloc的函數,用它開闢一個二維數組

題目 寫一個名爲my2DAlloc的函數,用它開闢一個二維數組。儘可能地少用malloc函數, 並確保可以用arr[i][j]這種形式來訪問第i行第j列的元素。 解答 這道題目最簡單的方法就是先開一個數組來存儲指向每一行的指針,

原创 操作系統篇

目錄: 1. 進程的有哪幾種狀態,狀態轉換圖,及導致轉換的事件。 2. 進程與線程的區別。 3. 進程通信的幾種方式。 4. 線程同步幾種方式。 5. 線程的實現方式. (用戶線程與內核線程的區別) 6. 用戶態和核

原创 計算機網絡

OSI參考模型 一上來就是OSI七層參考模型,是不是有點暈?如果是,那先閱讀文章開頭推薦的那兩篇文章吧!   第7層 應用層(Application Layer) 應用層能與應用程序界面溝通,以達到展示給用戶的目的。 在此常

原创 當你在瀏覽器地址欄輸入一個URL後回車,將會發生的事情

題目 一步一步解釋一下,在你往瀏覽器中輸入一個URL後都發生了什麼,要儘可能詳細。 解答 這道題目沒有所謂的完全的正確答案,這個題目可以讓你在任意的一個點深入下去, 只要你對這個點是熟悉的。以下是一個大概流程: 瀏覽器向DNS服務

原创 Linux中的15個‘echo’ 命令實例

echo是一種最常用的與廣泛使用的內置於Linux的bash和C shell的命令,通常用在腳本語言和批處理文件中來在標準輸出或者文件中顯示一行文本或者字符串。   echo命令的語法是: echo [選項] [字符串] 1.

原创 解釋術語:虛擬內存、缺頁中斷、抖動

虛擬內存是計算機系統內存管理的一種技術。它使得應用程序認爲它擁有連續的可用的內存 (一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片, 還有部分暫時存儲在外部磁盤存儲器上,在需要時進行數據交換。 與沒有使用虛擬內存技

原创 如何在Linux中使用awk命令

文本處理是Unix的核心。從管道到/proc子系統,“一切都是文件”的理念貫穿於操作系統和所有基於它構造的工具。正因爲如此,輕鬆地處理文本是一個期望成爲Linux系統管理員甚至是資深用戶的最重要的技能之一,而 awk是通用編程語言之外