09 August 2005

Jdk 5 已經出快一年了吧?不過直到最近才漸漸看到一些 framework 正在轉移中。我們專案的 production server 上個禮拜也給它硬上 jdk 5,準備開始 migration。這些天都在看 Java 5.0 Tiger: A Developer's Notebook 學 jdk5,也胡亂做了筆記 :P 。這本書雖然舊了,不過寫的真不錯。以前看的頭昏眼花的 generic/annotation 現在總算有點搞懂了... annotation 還蠻好玩的,而且只要用 reflection 就能實做了,下次拿 util 之類的程式來試一試。不過那個... 哎... generic 真的搞得太複雜,java 從此不再是個簡單的語言了,Sun 真的有心要拉攏 VB developer 嗎?

anyway... 我覺得學 JDK5 還是該有一本較正式深入的書。Think in Java 4th edition 等好久囉,聽作者講大概會八、九月出書吧? Think in Java 過去是學 Java 的首選書藉,相信第四版不會讓大家失望才是,希望早點出啊!下面是目錄:

Preface 1
Introduction 13
Introduction to Objects 23
Everything Is an Object 61
Operators 93
Controlling Execution 135
Initialization & Cleanup 155
Access Control 207
Reusing Classes 235
Polymorphism 275
Interfaces 311
Inner Classes 345
Holding Your Objects 389
Error Handling with Exceptions 429
Strings 489
Type Information 539
Generics 599
Arrays 685
Containers in Depth 733
I/O 815
Enumerated Types 923
Annotations 971
Concurrency 1021
Graphical User Interfaces 1191
Discovering Problems 1337
A: Guidelines 1427
B: Supplements 1443
C: Resources 1449
Index 1457

喔喔~~ 足足 1400 頁厚!! 拼了~~~~

作者最近在 Blog 放上了其中一節 Collection Performance Test,裡面測試了 List/Map/Set/Queue 存取速度。看看結果,ArrayList 除了 insert 之外,大致上表現都不錯,堪稱是 List 的首選。LinkedHashSet 和 LinkedHashMap 這兩個跟非 Linked 版的並不會差太多,而且都要到了 10000 個以上才會有明顯差異,以後可以安心使用囉 (我都是拿 LinkedHashSet 跟 Hibernate 中的 Set mapping 來搭配,LinkedHashSet 行為比較容易預測,測試也比較好寫 )