Time of Update: 2018-12-03
Log技術在維護一些分布式系統時,是一個很好的手段。特別是在一些分布式/多模組的系統中,Log經常是解決問題首選的方式。因為在分布式/多模組的系統裡,發現問題後最複雜的部分往往在於定位上。問題由哪個模組導致,在哪個模組開始體現,出現問題模組的輸入資料來源...個人遇到的一個實際的例子是,一個分布式的系統,由時差在6-8小時的3個team分別維護3個模組。3個模組的介面分別是: 1. 一個Session Message Framework,負責在模組間分發訊息 2.
Time of Update: 2018-12-03
1. 電腦可以同時擁有多個進程,每個進程可以同時擁有多個線程2. 每個進程擁有獨立的地址空間,每個線程共用(建立自己的)進程建立的地址空間3. 進程具有一定的負載,線程幾乎沒有負載 1. The computer can run multiple processes. Each process can has multiple threads. 2. Threads share the address space of the process that created it;
Time of Update: 2018-12-03
國家對企業接收學生進入企業實習一直持鼓勵態度,學校也通常有一些固定的企業來安排學生實習,研究生比本科生的實習率要高很多。 在就業形勢這麼嚴峻的大環境下,有一個實習的機會應該要好好珍惜,咱們中國的學生都要讀15年書,所以到企業中去實習,對多數人來說,是準備進入社會的一個重要緩衝。 那麼怎樣在一個企業中快速找到工作的感覺呢?我根據我指導實習生和新畢業生的感受,給出幾條粗淺的意見。 首先我們來看看企業的態度。 查了一下,09年應屆畢業生625萬,企業的需求再大,也不可能將這麼多人全部吸收,但有一點
Time of Update: 2018-12-03
org.apache.commons.io是Apache jakarta下common項目的一個功能模組,提供了一下高層的檔案操作方法,非常好用。一下是本人學習過程的一個記錄,枚舉了幾個我認為好使的功能點。 其實好用的功能主要集中在一類FileUtil中,包含了建立,刪除,複製,移動,比較檔案新舊,遞迴枚舉目錄清空目錄,一次讀取整個檔案等。以下是一個我認為有用的列表: 1. byteCountToDisplaySize(long
Time of Update: 2018-12-03
最近活躍在CSDN的論壇上,接觸了不少新東西,兩年以來沒有正兒八經看過什麼書,更別提鑽研什麼技術了,接下來,準備對這一段時間接觸的比較有意思的東西做一點研究:OSGi,了不得,Eclipse和Spring都已經基於這個了。 SML,新的W3C規範,跟我的工作密切相關。CMDBf規範,與SML相關。COSMO,與前兩者相關。
Time of Update: 2018-12-03
感覺真的老了,怎麼啥事兒都成了自我反思的源頭了呢? 今天CSDN論壇升級,提供的這個"看你能堅持幾秒 遊戲"有人玩嗎?我玩了,還玩到了所謂的”天才“層級,堅持了18秒。一個這麼無聊的遊戲,都能讓我悟出一堆道理,你說我是不是有些無聊透頂了呢? 各位看官說:什麼道理? 1、一開始你可以選擇向四個方向移動,上方基本必死,右面很容易死,左邊和下邊是逃生通道。不親自玩上幾次,你能知道這個規律嗎?道理:
Time of Update: 2018-12-03
如何做DTD的校正DTD對XML文檔的結構定義主要體現在兩個方面,對子節點類型的定義和對屬性的定義。一個xml parser要實現DTD校正,必然要實現對這兩種DTD定義的校正。先考慮DTD子節點類型校正的情況。DTD聲明對子節點機構的定義主要分為幾種類型:<!ELEMENT A ANY> A節點下可以包含任意節點類型,最簡單的情況。<!ELEMENT A (#PCDATA)> A節點只能包含文本資訊。<!ELEMENT A
Time of Update: 2018-12-03
魔獸世界終於開始公測了。化了4個小時,升到了7級,感覺還不錯,就是地圖有點大,剛開始有點暈路,習慣就好。嗯,節奏也有點慢,發個魔法需要準備N秒鐘,暴雪不是也向靠這個托玩家時間吧???想當年,暗黑的年代,瞬移到牛牛們中間,嗖嗖的幾個nova倒下一片的年代是一去不複返了。唉,還是喜歡高節奏的遊戲啊,暗黑,KOF,
Time of Update: 2018-12-03
inode: 在UNIX系統中,每個檔案都有對應的inode,其通過inode號碼來標識。inode中包含了檔案的使用者和組的所有者,訪問模式(讀、寫、執行許可權),以及檔案類型。 FAT和NTFS用於Windows系統。FAT32: 是檔案配置表的縮寫,其最大支援4G的檔案,不支援檔案和檔案夾加密、不支援檔案壓縮、不支援檔案和檔案夾的許可權控制。NTFS: 是新技術檔案系統的縮寫,其最大支援16T的檔案,支援檔案和檔案夾加密、支援檔案壓縮、支援檔案和檔案夾的許可權控制。In
Time of Update: 2018-12-03
XPATH 所使用的運算式語言,主要由兩個部分組成: 運算式語言和xpath的路徑搜尋運算式. 1. 運算式語言, 由+, -, *, /, or, and, not和數值,字串,函數等組成, 符合正規文法. 2. XPath路徑搜尋運算式, 是指在xml文檔中搜尋某個xml node的運算式.比如/books/book,搜尋books節點下的所有book位元組點.
Time of Update: 2018-12-03
對象池技術在伺服器開發上應用廣泛。在各種對象池的實現中,尤其以資料庫的串連池最為明顯,可以說是每個伺服器必須實現的部分。本文是個人學習對象池的一個記錄,以Apache的commons-pool實現為研究對象。在下一篇blog中,本人將繼續研究Apache的common-dbcp,這是對象池技術在JDBC上的一個應用範例。 Apache對象池技術的實現上頗為簡單,只有2個主要的對象:ObjectPool,用於管理對象池中所有的對象,以及對象的借出,和回收。Poolab
Time of Update: 2018-12-03
運行期綁定:函數的地址在運行時確定,也稱之為晚期/動態綁定。主要是對虛函數的操作。編譯期綁定:函數的地址在編譯時間確定,也稱之為早期/靜態繫結。主要是對非虛函數的操作。What is the difference between run time binding and compile time binding?Run Time Binding: The addresses of the functions are determined at runtime. This is also
Time of Update: 2018-12-03
商業軟體的開發,大部分都需要有一些為其它模組提供服務的底層模組。這些底層模組由於實現的是一些通用功能,需要同時為幾個高層模組提供功能,因此通常被設計成一種基於訊息佇列的架構。任何需要訪問這些通用功能的高層模組,都可以通過發送訊息並接受傳回值來得到需要的服務。這種構架的設計,一般是圍繞訊息佇列來展開的:首先有一個訊息佇列,並對外暴露發送訊息的API;然後實現一個負責維護並調度該訊息佇列的線程,該線程負責維護訊息佇列,並分發訊息;最後是一系列處理特定訊息的功能模組。訊息由暴露給外層模組的API發送到
Time of Update: 2018-12-03
高山仰止,景行行止。雖不能至,然心嚮往之。 今天在CSDN看到李開複離開Google第一天就宣布“創新工廠”的新聞,雖說李開複、唐駿打工皇帝的事迹聽說的不少,也深深為他們的神奇所折服,但看到李博士用只4個星期內完成了整個計劃、融資和戰略合作這樣的壯舉,不得不再次深深拜服。 每每看到這些生活在金字塔頂層的偉人們,指點江山,揮斥方遒,動輒幾億的資金進出;再看看自己每天為達成一個小小的目標而努力,每月為了那點固定的,比起9位元少得可憐的工資而忍辱負重,總覺得有一種無力感。 很多人都想做大事,都有做大事
Time of Update: 2018-12-03
堆堆是基於二叉樹的資料結構,有兩種類型的堆:大堆和小堆。大堆是指對於每個節點,其值要大於等於左右子樹中節點的值;小堆是指對於每個節點,其值要小於等於左右子樹中節點的值。棧棧是一種後進先出(Last In First Out)/先進後出(First In Last Out)的線性資料結構,其插入和刪除操作均在某一端進行,該端稱之為頂(Top)。棧可以用來檢查語法錯誤,例如括弧不匹配。 HeapA heap is a binary tree-based data structure. There
Time of Update: 2018-12-03
有一個同事,要把一個oracle上的預存程序遷移到sybase上,碰到了問題,於是在群上問:求助:誰知道Sybase預存程序中varchar類型變數的操作函數(我並沒理解他有什麼問題),隨口答道:和Oracle都是類似的啊他說:找不到啊。我說:過來給我描述一下你的問題。 原來他預存程序中遇到一個”xxx on yyy”這樣的字串,只有on是確定的,需要取出其中的yyy。首先,在google上搜尋:sybase
Time of Update: 2018-12-03
雜湊函數:可以將大量的資料轉換成一個小資料。雜湊表:一種將鍵和值關聯在一起的資料結構。其主要操作是可以高效的通過鍵來定位其值,該過程是通過雜湊函數來計算鍵的雜湊值,然後通過雜湊值直接定位所需要的值。碰撞:若不同的鍵所計算的雜湊值相同,則稱發生了碰撞。可以通過鏈法和開放地址法來處理碰撞。 ——鏈法:數組中每個元素均為一個鏈表,所有雜湊到同一資料index的key,其值均位於同一個元素的鏈表中。
Time of Update: 2018-12-03
當然,標題中的4000和6000,只是一個示意。 文檔,似乎真的是搞技術的一大軟肋。最近在從ant遷移到maven,安排一同事編寫兩份文檔:一個是遷移步驟step by
Time of Update: 2018-12-03
虛函數:虛函數是一種函數,其行為可被子類中的函數覆蓋。虛函數與非虛函數的區別在於,非虛函數的地址在編譯期確定(也稱之為早期繫結、靜態繫結),虛函數的地址在運行期確定(也稱之為晚期綁定、動態綁定)。虛表:如果一個類有虛函數,那麼編譯器會為該類產生的一個虛表,其中存放指向該類虛函數地址的函數指標。虛指標:在運行期,當建立某個含有虛函數類的對象時,會為該對象添加一個隱藏的成員變數——虛指標,該指標指向該類的虛表。 Virtual Method, Virtual Table and Virtual
Time of Update: 2018-12-03
我在講故事,關於“技術族譜 ”故事,這個故事也許會在不久的將來成真,相關資訊參考:這裡 ,還有這裡