Heyja,
经常使用的答案"Java有什么特别之处?" 是"工具和框架".我猜这是对的.当我看到所有工具和框架使您作为开发人员的生活变得更加容易时,我感到震惊.
我的Java技能并不完美,但平均水平很高,我仍在努力.我已经开始学习Ant了,我不想错过它.这很棒.和Hibernate一样.现在我问自己接下来应该学什么.我想为自己,特别是我的简历获得经验.不幸的是,有这么多.每个人都在谈论它,如Spring,Struts,JavaServer Faces,Maven,......
在现实世界中广泛使用的是什么?Ant或Subversion/CVS之外的哪些工具很重要?学习被接受为"真正的Java程序员"并获得有趣工作需要什么框架?;-)
如果我们谈论可销售性,那么理想情况下,您希望成为那种能够在生产应用的任何层面上高效工作的开发人员.所以要了解每一层.
MVC: Struts,Spring MVC.
数据访问: Hibernate,iBatis,JPA.
IOC: Spring(用于集成大型系统的huuuuge.如果可以,请学习Spring所基于的AOP原则)
App Server: Tomcat,JBoss.
测试: JUnit
演示文稿: JSF,JSP.
另外,不要忽视您需要知道的非Java技术:
SQL -因为你将需要直接与数据库对话
HTML
JQuery - 永远不要低估整洁的UI功能的重要性.对于大多数用户来说,这是他们理解的唯一部分.
如果我不得不从这个列表中选择一件事,我会选择Spring.如果选择两个,我会选择Spring和JQuery.
如果您希望被视为专业的Java程序员,那么无法替代内部和外部了解标准Java类库.我看过很多Java程序员的例子,甚至是经验丰富的程序员,他们从标准类库中重新实现了一些东西,因为他们不知道他们在那里.
JUnit是要学习的最重要的Java框架.它不仅是用于单元测试的有用工具,它还教会您框架应该是什么:小而专注于做好一件事.