所以我下周将在Java的一个地方接受面试,并且不想让人觉得无能为力。我是一个非常自信的C#/ .NET开发人员,并且(显然!)愿意考虑跳转到Java - 我希望链接到人们会建议这样做的资源。我对以下问题的答案感兴趣:
提前致谢。
答案 0 :(得分:8)
查看this link,其中详细说明了两种语言之间的许多差异。
对于IDE,许多人喜欢Eclipse或Netbeans(我最喜欢的) - 两者都是免费的。你已经拥有了IntelliJ,你可以试试。
FYO的一些主要区别是:
可能还有更多:)
答案 1 :(得分:4)
<强> IDE 强>
你有IntelliJ。相信我是最好的。我用了两年,然后不得不改用一些免费的东西。我试过Eclipse,只是告诉你我的经历,这是一种痛苦,没有冒犯。现在,和Netbeans一起工作,我很高兴,但仍然会在一天内错过IntelliJ。
<强> TDD 强>
是的,你对JUnit非常正确。在充分理解之后,很好地看看其他专门的库,比如HtmlUnit,DBUnit。此外,还有像Cobertura或Emma这样的代码覆盖工具。因为你必须使用IntelliJ,你可能想看看Emma,因为它与IDEA有很好的整合。
<强>过渡强>
我认为你不会在转型中遇到困难。 IMO,阅读文档和规范将让你前进。可能你可以去看一些书籍,但就核心Java而言,阅读API文档和规范将是一个良好的开端。您可以使用SO来提问。我见过许多问题,比如“Java中的C#等价物”。
答案 2 :(得分:3)
由于你只有一个星期,我会回应建议,专注于 Effective Java 指出的那些事情。
了解Collections API。当我采访人们时,这是我清除人们的一种方式。特别要了解equals()
,hashCode()
和compareTo()
之间的区别,以及正确实施它们需要做些什么。
了解如何处理Java中的异常,以及它如何与标准EJB事务交互。
如果您有幸找到工作,我会花一些时间来了解J2EE领域,这是非常广阔的。这些天,我会认为J2EE的基础是EJB,MDB,servlet和JPA。
我不会太担心IDE或xUnit API。对于任何有经验的开发者来说,这些都是微不足道的。
答案 3 :(得分:2)
对于Java开发人员来说,Netbeans是最好的(也是最像视觉工作室)IDE。如果你有足够的RAM,你会喜欢它。
答案 4 :(得分:2)
如果你有一周 - 尝试尽可能多地编写Java代码。
我发现从Java到C#非常容易,它应该是相同的。
拿起一本Effective Java的副本并阅读它 - 确实非常好。
答案 5 :(得分:1)
正如您所提到的,对于IDE,您应该考虑Eclipse,它是免费的,是一个适合基本开发的IDE。但是,如果您要使用Java EE,可能还不够,但它可以帮助您快速学习基础知识。
有许多书籍涵盖了基本的语法和编程风格,而且假设你是一名优秀的C#开发人员,可能足以让你前进。我不知道你提到的任何类型的副手。
我最近做了相反的过渡,从Java到C#。我发现通过用新语言重写现有应用程序使它比我想象的要容易得多。
答案 6 :(得分:1)
我认为最大的不同是两个平台周围的社区和环境。在.NET世界中,微软做出重大决策并推出功能集。另一方面,Java世界中有许多第三方库几乎是对平台的补充,如果你正在进行某种开发,你应该知道它们。请参阅Most useful free Java libraries。