閱讀 RUN!PC 蔡學鏞的文章時隨手記下來的~
WeakReference() 弱參考~ System.GC
不太清楚使用時機.
GC=Garbage collection
支援 GC 的語言有 eiffel, python, ruby, java, c#…
GC 演算法,一般常見的作法就是 “標記,清掃,縮併”.
1. mark and sweep collection
2. compacting collection or copying collection, compact collection 就類似磁碟最佳化,copying collection 就類似把東西搬到另外一個地方去重放.
目前被多數 GC 採用的方法則是上述的综合體 – generation collection.
垃圾收集器中有數個 Generation,一般有3個,可以呼叫 System.GC.MaxGeneration 取得;若要強制垃圾收集器進行蒐集垃圾,可以用 GC.Collect( int generation ) 或 GC.Collect();用 GC.GetGeneration(object obj) 可以得知物件在哪個 generation 中.
Rotor?? 是 SSCLi 的代號.
善用 GC 的方法就是不用的變數早早設置為 null.
可參考:
Richard Jones Algorithms for Automatic Dynamic Memory Management.
http://blogs.msdn.com/joelpob/archive/2004/02/26/80776.aspx
關於蔡學鏞其人,可以參考:
Sleepless in Java
Sleepless 2.0
doxygen
以前試 doxygen 怎麼試都試不出來~後來才知道是註解錯了~~
從 RUN!PC 上看到 Java 的註解方法,用這招就萬無一失了~
/**
* description
* –> 一定要空一行喔!!!
* @param text
* @todo
* @see
* @return
* @throws
*/
想要知道怎麼使用 doxygen 的話,可以參考這篇.
網址:http://www.stack.nl/~dimitri/doxygen/doxygen_intro_cn.html
寫的蠻仔細的,中文參考資料也好像就這麼一篇….
機車皮帶又斷了
星期二的早上, 5/11 騎車上班的途中,到福和橋下的時候,機車突然發出啪啪的聲音,然後油門怎麼催都沒有反應,我知道,這是因為機車的皮帶斷了~~
於是只好和太太把車牽去修理,並請他先搭計程車去上班~~
可能是因為太早了吧,才八點多,雖然這附近有蠻多機車店的,但並沒有任何一家機車店開門~~送太太搭計程車之後,心裡想,把車丟了,先去吃早餐好了~~
來到早餐店,
“老闆,一份烤煎蛋還有一杯奶茶”
“什麼?”
喔~~原來是外籍人士,可能是越南人吧,所以聽不懂…
“一份火腿蛋三明治,一杯奶茶”
“好…”
過了不久,三明治還有奶茶送到.咬了三明治一口,發現裡面有生菜~光這點,口感就與其他家早餐店的三明治不同了,再加上醬料也相當不錯,讓我對這家早餐店的印象不錯…
吃完,回去機車那邊,發現剛好有一家機車店開門了~~
老闆是個年紀有點大的中年人,邊修車的同時,他問我,要不要順便驗一下排氣?
我說好~~
很愉快的花了一千元搞定之後,就快要九點了….
於是就趕緊騎車去上班了~~
運氣還真的是不錯啊~~
coLinux
來源網址:http://www.linuxdevcenter.com/pub/a/linux/2004/04/29/colinux.html?page=1
ㄧ般來說,要能在 Windows 上執行 Linux,除非藉助 VMWare 或 Virtual PC 或 bochs 之外,否則就是要裝在另外一個 partition 然後重開機才能執行~~
但是近來出了一個 distro 叫 coLinux 的,就可以讓你在 Windows 上跑 Linux, 而且還可以進 GUI 畫面~~
詳細的使用方法,請直接參訪來源網址或官方 wiki~~
快速 reboot linux
前幾天在 Linux Today 看到的,文章來源是在 IBM.
http://www-106.ibm.com/developerworks/linux/library/l-kexec.html?ca=dgr-lnxw02RebootFast
裡面有詳細解釋作法以及原理,主要是利用 kexec 這個軟件來達成這項任務.
挺有趣的,不過沒去玩…
ltdl library
可以輸入 info libtool 找 Module loaders for libltdl 就可以得到不少資訊.
簡單說,就是可以製作能動態載入 module/plugin 的 library, 以 linux 來說,底層其實就是 dlopen, dlsym 這些函數
這個 library 其實是一個 wrapper, 跨了好幾個平台: BSD, Linux, Win32…
configure.in 中的設定
AC_LIBLTDL_CONVENIENCE
AC_SUBST(LTLINCL)
AC_SUBST(LIBLTDL)
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
AC_CONFIG_SUBDIRS(libltdl)
Makefile.am 中的設定
SUBDIRS=libltdl
INCLUDES=$(LTDLINCL)
prog_LDFLAGS=-export-dynamic
prog_LDADD=$(LIBLTDL) “_dlopen” self “_dlopen” fxx.la
prog_DEPENDENCIES=$(LIBLTDL) fool.la
prog 指的是執行檔名稱
而 module/plugin 的 Makefile.am 設定
xxx_la_LDFLAGS=-module
函數蠻多的,可以直接從 ltdl.h 去找或參考 info
對於 Multi-Thread 也有支援.
[亂逛]WxWidget相關軟體
2003年底某天去找 WxWindows (現已更名為 WxWidget) 逛到的一些用 WxWidget 這個 framework 的軟體.
WxWidget http://www.wxwidget.org 官方網站
WxJS http://wxjs.sourceforge.net
WxBasic http://wxbasic.sourceforge.net
WxWorkshop http://wxworkshop.sourceforge.net 開發工具
poedit http://poedit.sourceforge.net 編輯 po 檔的工具,用過的感覺還不錯~~蠻好用的~~
ldaptool http://ldaptool.sourceforge.net LDAP Explorer Tool
text2rtf http://www.wxwidget.org/text2rtf/index.htm 轉換 LaTex 的文檔為 rtf / html / xlp
pgadmin3 http://pgadmin.org/pgadmin3/index.php Postgre SQL 的管理工具
WxBlogger http://homepage.mac.com/codonnell/wxBlogger/Personal Blog, blog 的內容都會轉存為 html 檔.屆時發佈這些 html 檔就行了~~
骨折記
記得 2000 年年初的時候,有一次,因為客戶有問題,處理的一肚子火,於是很生氣,就打牆壁,想說牆壁有貼一塊軟木紙,應該不會有事,就用力打.
結果……好痛……
那時候已經晚上九點多了,強忍痛意騎車去看醫生~~
照了 X 光,醫生說,”是骨折,右手手掌連接小指的那根骨頭斷了~你明天最好去大醫院看~~”
所以只幫我固定了一下~~而我仍然神勇地騎車回家……
隔天去了永和耕莘醫院,醫生看了看就說,”少年仔,跟別人打架喔~~”
我說,”不是….”
醫生說,”不要騙了啦….”
我只好不說話,因為實在不想說出原因…..
於是就打了一個月的石膏…..開始練習左手吃飯,左手打字,左手用滑鼠……
經歷了這件事情以後,我體悟到一件很重要的事情:
就是…..心情不好的時候,絕對不要自殘身體….否則…..會更痛苦…..