2008-11-01 105 views
7

過去5年我一直在做C++開發,需要爲新工作選擇Java。你有任何書籍/網站/等的建議,以幫助我的過渡?學習Java

回答

19

我不認爲有一個有經驗的程序員想學習Java比Thinking in Java由Bruce Eckel的任何更好的書。

不要讓'初學者'語言讓你失望。這是頂尖的。

+1

他的名字是布魯斯埃克爾,而不是布魯斯埃克爾斯。 – 2008-11-02 02:49:41

3

我建議閱讀Bruce Eckles在Java中的Thinking。隨後由Wrox出版的Ivor Horton的Beginning Java 2開始。 Beginning Java 2書籍涵蓋了Java的大部分內容,並提供了大部分您可能希望嘗試作爲初學者嘗試的代碼示例,如解析XML文件等。Thinking in Java book有助於理解C++和Java,你可以很容易地通過它。

14

當您得到Java的感覺後,我會推薦Joshua Bloch的Effective Java

它涉及到Java的具體細節,並提到良好的做法和常見的陷阱。

+0

哦!是的,這是在學習Java基礎知識之後學習Java的書。 – Eldelshell 2009-01-05 10:14:13

2

Head First Java來自O'Reilly是一個很好的介紹和一個簡單的閱讀。既然你已經熟悉面向對象的概念和經驗豐富的程序員,那麼來自太陽的Java教程可能是最好的開始。

4

Head First Java是學習Java的最好的書。這是對面向對象編程和Java的介紹,所以作爲一名經驗豐富的程序員,您可能會更好地服務於Thinking in Java

2

Java Concurrency in Practice作者:Brian Goetz是一本關於線程和java.util.concurrent包的出色書籍。如果你正在做任何類型的線程編程,那麼這是一個明確的讀法。

1

儘管Java Concurrency in Practice具有許多優秀的內容,並且深入討論了很多事情,但它不是一本簡單的書。它寫得很隨意,除非你已經完成了硬核線程編程,否則很難跟蹤。 Java Threads在這些方面要好得多。

+0

真的嗎?我認爲它的寫法非常合乎邏輯,從線程開始,以及它們如何用於協調和鎖定以及死鎖問題和調試。我在線程中遇到了很多困難,並且發現它很有啓發性。這是爲了初學者,而不是專家。 – 2008-11-01 22:46:10

1

有在市場上十幾本書,這是由舊的C++開發人員,這是現在寫的代碼在Java中,比如上面提到的Bruce Eckel在Java中的Thinking,Java 2 Ivor Horton Wrox Press也是一個很好的例子。我的一般建議是閱讀由一些C++開發人員(如您)製作的書。閱讀這些書更直觀。

2

Steve Holzner使用了Herbert Schildt的「Java 2 Complete Reference」和「Java Black Book」。

我通過幾天閱讀參考手冊來學習新的語言,然後開始編寫它們。

2

當我第一次在學校學習/使用java時,發現Java in a Nutshell是一本非常有用的參考書。我當時也在C/C++中完成了大部分編程工作。然而,我還沒有讀過這本書的最新版本。我聽說它的質量有所下降,但我無法證實,仍然會建議給它一個鏡頭。最近,我在線使用Java API進行參考。

1

我會強烈建議尋找一些資源,突出Java和C++之間的差異。這非常有用,因爲細微的差異可能會讓你失望。我自己從C++轉移到Java(很久以前)。我花了一段時間來協調一個事實,即不能重寫super(base)類的私有方法(函數)。

如果你找不到任何針對C++程序員的Java特定好書,請看看Java Gotchas等。

0

相信與否,那些在21天學習X的書籍幫助我快速學習了基礎知識,並將我帶入了更高級的書籍和主題。

因此:在21天內學習Java。決不會錯過它。我是一名掌握C/C++知識的Pascal開發人員,並且通過本書學習了Java。

此外,請務必儘快將您的手弄髒JDK ASAP !!!實際的體驗將讓你更加深入地學習Java。

2

另一本值得一提的書是O'Rielly的Learning Java。它提供了一個非常全面的介紹,併成爲我事實上的參考書。