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 行為比較容易預測,測試也比較好寫 )