2011年6月19日 星期日

三木聰 - 熱海搜查官

這是一部相當耐人尋味的作品,故事雖然以輕鬆的方式呈現,其中懸疑氣氛卻壓得讓人喘不過氣來,可以說是非常棒的懸疑作品。更重要的是,這部作品的整體佈局,在您看完後才能慢慢感受出來。若您看完該作後還故事仍有疑慮,因為本站一向不喜歡破壞未觀賞者的興致,所以只能請您上網查詢相關資料,相信對這部作品作完整介紹的網站,能夠解開您的疑惑,並讓您更驚更喜。

故事發生在『南熱海市』。三年前,四位高中女學生在乘校車前往學校,校車司機發現一位老人倒在地上。司機停下車,上前查看老人的狀況,卻在此時,校車自動動了起來,衝進濃霧裡。數個小時候,有人發現校車司機在一座草原上狂奔大叫。而車上的四位少女中,其中一位在一個月後(也好像是一年= =)被發現在路旁,陷入失憶。另外三位則和校車一起不見蹤影。

主角星崎劍三就是被派來處理此事件的『廣域』搜查官(故事中虛構的單位,職權與FBI類似)。星崎的辨案方式不案牌理出牌,常常有令人汗顏的想法與不合時宜的『啊!原來是這樣呀!』這讓jackmis很困擾,很想知道他到底知道了什麼,而他所知道的東西...有點道理又好像沒什麼道理。不過,這個謎團也會在結束後真相大白。

失蹤的少女
失憶的少女
神祕的邪教
奇怪的男女關係
奇怪的男女主角

究竟這個奇妙的事件背後隱藏著什麼樣的真相呢?不可思議的南熱海市又是個什麼樣的地區?廣域搜查官星崎劍三又是位什麼樣的角色?相信看過這部作品後,您一定不會覺得浪費了自己的時間。

2011年6月16日 星期四

橫山秀夫 - 深追い

或許是先前日劇播送的橫山秀夫短篇懸疑作品的成功,之後又出了同性質的四部作品。本篇所討論的《深追い》就是其中一篇。本這次系列的故事集中在三村田警署。描述警員與事件之間發人醒思的故事。

《深追い》故事中主角原本在五年前是重型機車隊的一員,因為在執勤時追趕小轎車,導致小轎車翻覆爆炸而上了新聞,被認為破壞了警方的形象,才被貶到一般的交通科,處理車禍等小事故。

有一次,主角接到一起死亡車禍的事故。便和同事趕去現場。現場在一個狹小的隧道,死者因為腳踏車失控倒下而被後面的車子輾斃。就在主角調查死者的時候,意外發現死者的老婆竟然是自己的初戀情人。雖然身為警員不該藉著警方的情資接近事件相關人,但是主角忘不了往日情誼,開始接近他的初戀情人了。 然而,正當主角以為一切發展順利時,初戀情人卻自殺了。

這部作品非常專注在《深追い》的標題上。主角的奔撞總是為他帶來難以預料的問題。作者利用這部作品,告訴我們三思後行的重要。一頭熱的栽裡去,偶爾會造成不良的影響。

2011年5月12日 星期四

Memo: Java Programming with Performance in mind

This memo make a comment on "Java Programming with Performance in mind"

The only problem is I don't know when this article published. Because some people tell me, the String object in newly JDK is improved, therefore some issue may already adjust.

1. Primitive is fast then Object
2. String is slow, use StringBuilder when no synchronization needs, use StringBuffer when requiring synchronization.
3. Some JDK object will do some work then return copies, if you need the copiess' service, you should use that copies instead of requiring another return from object.
4. choose the right collection
(sec) ArrayList LinkedList HashSet HashMap Vector Hashtable
Add 0.11 0.23 0.63 0.62 0.11 0.37
Get 0.01 160 0.03 0.07 0.01 0.06
Delete 5.52 0.02 0.13 0.13 5.57 0.08

Vector and Hashtable is synchronized by default. ArrayList can be synchronized by using Collections.synchronizedList( new ArrayList()).
5. System.arraycopy is fast then your code
6. Arrays.equals(), fill(), sort() is fast then your code
7. try is not free, throw is expensive; good logic is fast then exceptions
8. thread synchronization: synchronized only for critical section
9. writing to console window: hidding console when not needed
10. Accessing SQL DB using JDBC: tip> use PreparedStatement, combining related SQL in a single JDBC transaction.
11. perceived performance: byte code reduction> remove unused code, compressed Jar file, obfuscate