天天看點

全棧工程師體能備戰--知識面(20--30)21.守護程序22.Xinetd23.Android自定義控件24.Java靜态方法25.藍牙uuid26.記憶體映射檔案27.Afinal

    守護程序是生存期長的一種程序。它們獨立于控制終端并且周期性的執行某種任務或等待處理某些發生的事件。

常常在系統引導裝入時啟動,在系統關閉時終止。linux系統啟動時會啟動多守護程序,大多數伺服器都是用守護程序實作的。

它們沒有控制終端,不能直接和使用者互動,不受使用者登陸、登出影響,一直運作着。

守護程序完成許多系統任務.有些書籍和資料也把守護程序稱作:“服務”(service)。通常采用以d結尾的名字。

    從守護程序的概念可以看出,對于系統所要通過的每一種服務,都必須運作一個監聽某個端口連接配接所發生的守護程序,

這通常意味着資源浪費。

為了解決這個問題,linux引進了"網絡守護程序服務程式"的概念。xinted(extended internet daemon)

xinetd同時監聽多個指定的端口,接受使用者請求時,根據請求端口,啟動不同的網絡服務程序來處理這些使用者請求。

可以把xinetd看做一個管理啟動服務的管理伺服器,它決定把一個客戶請求交給哪個程式處理,然後啟動相應的守護程序。

xinetd無時不在運作并監聽它所管理的所有端口上的服務。

當某個要連接配接它管理的某項服務的請求到達時,xinetd就會為該服務啟動合适的伺服器。

開發自定義控件的步驟:

1、了解view的工作原理 

2、 編寫繼承自view的子類

3、 為自定義view類增加屬性 

4、 繪制控件 

5、 響應使用者消息 

6 、自定義回調函數

<a target="_blank" href="http://www.cnblogs.com/0616--ataozhijia/p/4003380.html">http://www.cnblogs.com/0616--ataozhijia/p/4003380.html</a>

java靜态方法與非靜态方法有什麼差別?

靜态方法可以直接用類名點出來方法,而普通方法需要建立類的對象後才能調用!

靜态方法是使用公共記憶體空間的,就是說所有對象都可以直接引用,不需要建立對象再使用該方法。

例如,我建立一個類,裡面有一個靜态方法:

然後在含有main方法的類中使用這個類時,對與以上非靜态和靜态方法的引用方式是不同的,如下:

關于 藍牙uuid ——uuid是“universally unique identifier”的簡稱,通用唯一識别碼的意思。對于藍牙裝置,每個服務都有通用、獨立、唯一的uuid與之對應。也就是說,在同一時間、同一地點,不可能有兩個相同的uuid辨別的不同服務。

記憶體映射檔案,是由一個檔案到一塊記憶體的映射。win32提供了允許應用程式把檔案映射到一個程序的函數 (createfilemapping)。記憶體映射檔案與虛拟記憶體有些類似,通過記憶體映射檔案可以保留一個位址空間的區域,同時将實體存儲器送出給此區域,記憶體檔案映射的實體存儲器來自一個已經存在于磁盤上的檔案,而且在對該檔案進行操作之前必須首先對檔案進行映射。使用記憶體映射檔案處理存儲于磁盤上的檔案時,将不必再對檔案執行i/o操作,使得記憶體映射檔案在處理大資料量的檔案時能起到相當重要的作用。

linux下為mmap函數。

afinal是一個android的ioc,orm架構,内置了四大子產品功 能:finalacitivity,finalbitmap,finaldb,finalhttp。通過finalactivity,我們可以通過注解的 方式進行綁定ui和事件。通過finalbitmap,我們可以友善的加載bitmap圖檔,而無需考慮oom等問題。通過finaldb子產品,我們一行 代碼就可以對android的sqlite資料庫進行增删改查。通過finalhttp子產品,我們可以以ajax形式請求http資料。

目前afinal主要有四大子產品:

finaldb子產品:android中的orm架構,一行代碼就可以進行增删改查。支援一對多,多對一等查詢。

finalactivity子產品:android中的ioc架構,完全注解方式就可以進行ui綁定和事件綁定。無需findviewbyid和setclicklistener等。

finalhttp子產品:通過httpclient進行封裝http資料請求,支援ajax方式加載。

finalbitmap子產品:通過finalbitmap,imageview加載bitmap的時候無需考慮bitmap加載過程中出現 的oom和android容器快速滑動時候出現的圖檔錯位等現象。finalbitmap可以配置線程加載線程數量,緩存大小,緩存路徑,加載顯示動畫 等。finalbitmap的記憶體管理使用lru算法,沒有使用弱引用(android2.3以後google已經不建議使用弱引 用,android2.3後強行回收軟引用和弱引用,詳情檢視android官方文檔),更好的管理bitmap記憶體。finalbitmap可以自定義 下載下傳器,用來擴充其他協定顯示網絡圖檔,比如ftp等。同時可以自定義bitmap顯示器,在imageview顯示圖檔的時候播放動畫等(預設是漸變動 畫顯示)。

ioc: 控制反轉(inversion of control,英文縮寫為ioc)是一個重要的面向對象程式設計的法則來削減計算機程式的耦合問題,也是輕量級的spring架構的核心。 控制反轉一般分為兩種類型,依賴注入(dependency injection,簡稱di)和依賴查找(dependency lookup)。

orm: 對象關系映射(英語:object relational mapping,簡稱orm,或o/rm,或o/r mapping),是一種程式技術,用于實作面向對象程式設計語言裡不同類型系統的資料之間的轉換。從效果上說,它其實是建立了一個可在程式設計語言裡使用的“虛拟對象資料庫”。