看板 java 關於我們 聯絡資訊
更進階一點的話 可以參考以下幾本書 1. Effective Java (2nd Edition) http://tinyurl.com/effective-java 這本書羅列了許多信條(code),說明了很多Java程式設計應該具有的專業素養與準則 看懂這本書,才真正開始進入professional Java programmer的大門 例如避免instantiate duplicate 的object 盡量使用interface,少用reflection 盡量使用封裝,少用繼承 為所有exposed API撰寫JavaDoc (這個習慣非常非常重要) ..等等 2. Java Performance Tuning (2nd Edition) http://tinyurl.com/java-performance-tuning 會寫程式 寫出來的程式可以跑 寫出來的程式跑起來有效率 寫出來的程式跑起來有效率而且可重用性高 如果想要達到以上第四個階段,你可能需要這本書 若看懂這本書,大概可以成為更進階的Java programmer 裡頭有提到怎麼與JVM互動,當然寫Java在大部分的情況下不需要在乎太多底層的細節 但是要寫出效能好的code,可能需要跟JVM打好關係, 因為畢竟是JVM在跑你寫出來的code 例如 如何避免OutOfMemoryError SoftReference, WeakReference, PhantomReference的差別與使用範例 如何用工具偵測deadlock ..等等 3. Refactoring: Improving the Design of Existing Code http://tinyurl.com/refactoring-the-book 很遺憾的,在實務的世界裡 很少有自己從頭寫code的project 多半都要去refactoring別人的code 這本書提到怎麼進行Java refactoring 4. JUnit Recipes: Practical Methods for Programmer Testing http://tinyurl.com/junit-recipes-the-book 很多新手可能無法想像,一個project或sub project時程 分析需求 設計 實作 測試 上線或交貨 後續維護改良  測試的時程可以佔掉整個project約一半的時間 專業品質的專案 或 半調子的專案 就差在這裡 --------------------------------------------------------- 更進一步必須能夠透過許多的現有的framework或工具 更快更精確的完成所交辦的任務 絕對不能夠停在原點,必須隨時隨地學習 就算以上相關的知識能夠融會貫通 但也只是專業的"Java Programmer"而已 如果想要升上去當主管,就要懂得專案管理的訣竅, 專案管理比寫程式難的多,包含政治學與心理學都可能是其範疇 真的 看過一些超強的高手,管專案管的一踏糊塗 "人月神話" "與熊共舞" 等都是入門經典 供各位參考 我只是一個小小的Java Programmer ... ※ 引述《zeat (Lucifer)》之銘言: : 我也同意多寫多實作這個意見, : 舉例來講, : 雖然我看過書知道網路運作的原理, : 封包的格式, 傳遞的方式, 3-way handshake... etc. : 但也是實際的撰寫了相關的程式, : (現在在撰寫一個簡易peer to peer的Messager) : 才真正實作了相關的知識, : 才真正碰到很多問題, : 除了網路相關的, : 還有java相關的, : 像是控制JLeabl裡Icon的大小, : 或是Layout的應用... etc. : 所以除了看書, 練習書上的範例, : 我想最好還是多嘗試其他的寫法與實作, : 因為看著書練習可能會了卻也忽略了小細節, : 等到實作時, : 才又遇到. : 因此, 多看書是一種方式, : 但是我想能夠多實作是最好的. :) : ※ 引述《adrianshum (Alien)》之銘言: : : 強烈建議是真的找些東西來寫. : : 單是看完書, 其實得著有限. 很多東西 : : 非經實際應用是不會理解的. Head First Java : : 應該已經算是解釋得最容易理解的書了. : : 不怕太冗長的話, Core Java 系列應該算是 : : 詳細又清楚的. 再加上 Think In Java 來作為 : : 概念的鞏固, 應該夠你看上一陣子了. : : 不過, 我還是覺得, 親手寫一些東西吧, : : 不然只是紙上談兵的學習, 你以為看懂了但實 : : 際做起來, 你會發覺你明白的只是文字上的 : : 意義. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.84.187
zeat:可以偷偷問一下, 為什麼要少用reflection? 我覺得這是好物說 04/26 19:59
fillano:代價比較大吧... 04/26 20:24
kene:Reflection 慢, 但是夠動態, 現在越來越多 framework/library 04/26 22:00
kene:都有使用 reflection 簡化開發者的開發流程 04/26 22:02
tmxcrows:google api中也有使用reflection說QQ" 04/27 00:54
TonyQ:絕對不只一半!!!!!! 04/27 06:53
TonyQ:reflection 最大缺點是無法在編譯期檢測,造成系統有不穩定 04/27 06:54
TonyQ:的風險 , 不是說他不好, 而是要用的時候要十拿九穩的用. 04/27 06:55
zeat:可是用reflection不就是要用在動態(runtime)嗎? 04/27 10:23
TonyQ:對啊 , 上面講的就是動態可能造成的問題. 基本上是用得好不 04/27 10:42
TonyQ:好的問題 , 只要處理得宜那就沒什麼問題. 04/27 10:43
TonyQ:有一些場合是reflection 顯然比較好用, 不過一般狀況很少. 04/27 10:46
th19883617:借轉~ 04/27 19:09