原创 Java中hashcode()和equals()的詳解

1. 首先equals()和hashcode()這兩個方法都是從object類中繼承過來的。 equals()方法在object類中定義如下:

原创 關於module_param()宏

在用戶態下編程可以通過main()的來傳遞命令行參數,而編寫一個內核模塊則通過module_param () module_param宏是Linux 2.6內核中新增的,該宏被定義在include/linux/moduleparam.

原创 IO::Socket簡介

導入IO::Socket包: use IO::Socket; 講解:      IO::Socket下又有兩個子類IO::Socket::INET與IO::Socket::UNIX,我們 現在用的當然是IO::Socket::INET了

原创 vlan, tag, untag(基本是轉的)

vlan, tag, untag(基本是轉的)   untag: 普通ethernet報文,普通PC機只能識別這種類型的報文進行通訊 tag報文:在普通以太網幀結構的src addr之後加入了4bytes的vlan信息,

原创 關於extern用法說明

extern 是C/C++語言中表明函數和全局變量作用範圍 (可見性)的關鍵字. 它告訴編譯器,其聲明 的函數和變量可以在本模塊或其它模塊中使用。1。對於extern 變量來說, 僅僅是一個變量的聲明,其並不是在定義分配內存空間

原创 JAVA 原始類型和引用類型

使用原始類型無須調用new,也無須創建對象。這節省了時間和空間。混合使用原始類型和對象也可能導致與賦值有關的意外結果。 原始類型是類,引用類型是對象  原始類型大小比較用"==",引用類型大小比較用"equals" 原始類型 封裝類 ==

原创 Linux 信號signal處理機制

信號是Linux編程中非常重要的部分,本文將詳細介紹信號機制的基本概念、Linux對信號機制的大致實現方法、如何使用信號,以及有關信號的幾個系統調用。 信號機制是進程之間相互傳遞消息的一種方法,信號全稱爲軟中斷信

原创 RCU(Read-Copy Update)

RCU(Read-Copy Update),對於被RCU保護的共享數據結構,讀者不需要獲得任何鎖就可以訪問它,但寫者在訪問它時首先拷貝一個副本,然後對副本進行修改,最後使用 一個回調(callback)機制在適當的時機把指向原來數據的指針

原创 Linux下Makefile的automake生成全攻略

作爲Linux下的程序開發人員,大家一定都遇到過Makefile,用make命令來編譯自己寫的程序確實是很方便。一般情況下,大家都是手工寫一個簡單Makefile,如果要想寫出一個符合自由軟件慣例的Makefile就不那麼容易了。   

原创 亂序執行和內存屏障

亂序執行和內存屏障 最近寫的一些關於在驅動程序開發中會遇到的關於亂序執行問題的短文,都是些通用的技術,貼上來share。另外,禁止轉載。 ps:這玩意原本是用Docbook寫得,轉過來還真是麻煩~~ 處理器的亂序和併發執行

原创 內核編程中的EXPORT_SYMBOL

EXPORT_SYMBOL標籤內定義的函數或者符號對全部內核代碼公開,不用修改內核代碼就可以在您的內核模塊中直接調用,即使用EXPORT_SYMBOL可以將一個函數以符號的方式導出給其他模塊使用 。 您還可以手工修改內核源代碼來導出

原创 深入解析AsyncTask

AsyncTask是Android 1.5 Cubake加入的用於實現異步操作的一個類,在此之前只能用Java SE庫中的Thread來實現多線程異步,AsyncTask是Android平臺自己的異步工具,融入了Android平臺的特性,

原创 Linux內核同步介紹和方法

Linux 設備驅動中必須解決的一個問題是多個進程對共享資源的併發訪問,併發訪問會導致競態, linux 提供了多種解決競態問題的方式,這些方式適合不同的應用場景。 Linux 內核是多進程、多線程的操作系統,它提供了相當完

原创 什麼是實模式、保護模式和虛擬8086方式

1:實模式:尋址採用和8086相同的16位段和偏移量,最大尋址空間1MB,最大分段64KB。可以使用32位指令。32位的x86 CPU用做高速的8086。 2:保護模式:尋址採用32位段和偏移量,最大尋址空間4GB,最大分段4GB (Pe

原创 Android UI開發 ——Creating a Navigation Drawer

       Navigation Drawer是從屏幕的左側滑出,顯示應用導航的視圖。官方是這樣定義的: [html] view plaincopyprint? The navigation drawer is a panel