一位有经验的.NET/C#和C++开发人员学习Java的最佳/最快方法是什么?

23

一位有7年以上.NET/C#和5年C++开发经验的开发者想快速、轻松地学习Java,那么最快/最简单的方法是什么呢?

我所说的学习Java是指能够使用基础类库编写应用程序,同时在必要时可以使用流行的Java库(很棒的是这些库中许多都是开源的)。

我知道Java开发有很多种风格—企业应用程序(Java EE)、移动设备(Java ME)、托管在应用服务器中的对象(据我所知Java有许多这样的对象),然而目前我对一般的Java开发比较感兴趣——可能会强调一些集成项目或企业开发。

因此,总体来说,我是一位有着十几年经验的强大、技术热情高涨的资深C#/C++开发人员,希望抽出一个月(或更长时间)的晚上来学习在Java环境下有效地编程。

话虽如此,我并不意味着从.NET/C++转向Java,但我可能需要花费30%-50%的开发时间来开发/支持/SDLC中的任何阶段等Java相关工作。

谢谢。

6个回答

7
我会采取完全不同的方法来阅读书籍。只需下载一个IDE并开始编码。Netbeans教程往往可以让您快速了解各种技术。
如果您能编写C#,那么应该没有问题。
一旦您有了一些正在运行的代码,那么您就可以挖掘类似于effective Java的内容。
卡尔

7
  1. 我建议从Java语言规范开始。我认为对于有经验的程序员来说,没有比这更快或更全面地理解该语言的方法。

  2. 接着是Java集合教程

  3. 然后是java.lang.*java.util.*类、接口和包。

这将为学习和理解Java的任何其他分支提供良好的基础。


谢谢,我已经开始阅读语言参考手册 - 目前为止读起来很好。然后我会按照其他建议继续阅读《Java编程思想》和《Effective Java》这两本书。感觉这是一个有趣旅程的良好开端! - Kevin
集合教程链接到语言规范页面,这似乎是正确的链接 https://docs.oracle.com/javase/tutorial/collections/TOC.html - illegal-immigrant

5

《Effective Java》 应该出现在每个Java开发人员的书架上。它并不像标题所描述的那样着重于性能,而是关注如何以Java习惯用法编程,这与遵循C#习惯用法有微妙的区别。


我都没看过,但是就亚马逊上的综合评分来说,《Effective Java》(5星)比@Bevan回答中提到的《Thinking in Java》(4星)要好。 - G-Wiz
请注意,“effective”一词并不意味着“efficient”,而是指“能够产生所需的效果”。 - Thomas Padron-McCarthy
1
这是一本非常不错的Java书籍,但它并不适合初学者。我认为每个Java开发人员都应该阅读此书,但初学者需要先阅读其他书籍(或在线教程等)以便了解基础知识。 - Thomas Padron-McCarthy
1
嗯,是的,如果你是一个初学者的话,也许可以这么说。但如果你已经用C#编程了十年,我不会说你是一个初学者。虽然有重要的差异,但这并不像你从QBASIC跳到Haskell那样困难。 - gustafc
1
我大约7或8年前使用了这本书的第一版,从C++转向Java。Java的结构非常简单,编译器会告诉你是否有错误。标准库非常易于使用,具有在线javadoc。如果您有几年的经验,编程就很容易。困难的部分是以与语言相符而不是相反的方式进行清晰风格的编程,而这本书正好涵盖了这一点。这本书和实践是正确的选择。 - iain

3
也许最好的方法之一是获取Bruce Eckel的《Java编程思想》副本。这本书不仅涵盖了语言的语法,而且深入探讨了背景知识 - 正如标题所说,“如何在Java中思考”,这样你就可以编写纯粹的Java代码,而不是使用Java语法的C#(或C++)代码。

0

我只是针对Java Web应用程序开发说的:我认为它与您在使用ASP.NET时所做的方式非常相似,除了您不能使用Visual Studio进行可视化拖放GUI创建。基本概念基本相同。

至于库,在Java中有无数个库,只有时间才能帮助您了解它们。但是了解常见的库会有所帮助,例如apache commonsgoogle collectionsspringhibernate。如果您从类似Appfuse这样的东西开始,可能会帮助您入门,这是一个完整的Java RAD Web应用程序框架,将所有上述常见框架混合在一起。

在构建工具方面,antmaven是主要的竞争者。个人而言,我更喜欢ant。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接