如何掌握Java?

如何掌握Java?,java,Java,我用Java学习了两门课程: 1-Java编程简介。 2-使用Java的数据结构 在这两门课程中,我们都使用JavaSE 我喜欢它,我真的想成为一名伟大的java程序员 但是,我发现我应该了解Java软件开发中涉及的许多技术: Spring、Struts、JSP、JSF、GWT、Hibernate、apachetomcat等等实际上还有很多 我希望它变成像.NET一样简单的过程 您可以选择一种具有一个框架和IDE的语言 有人能告诉我掌握Java的最佳路线吗? 你觉得这两门课怎么样: 和 高级J

我用Java学习了两门课程:
1-Java编程简介。
2-使用Java的数据结构

在这两门课程中,我们都使用JavaSE

我喜欢它,我真的想成为一名伟大的java程序员

但是,我发现我应该了解Java软件开发中涉及的许多技术:
Spring、Struts、JSP、JSF、GWT、Hibernate、apachetomcat等等实际上还有很多

我希望它变成像.NET一样简单的过程 您可以选择一种具有一个框架和IDE的语言

有人能告诉我掌握Java的最佳路线吗?
你觉得这两门课怎么样:



高级Java证书系列(来自同一所学校,将于9月推出)。

成为优秀人才的最佳途径是什么?练习,练习,练习


不要只关注一个框架,只需要做大量的Java,看看开源项目,找到需要修复或实现的东西,然后去做,或者想想你想要但不存在的东西,然后去做。

用它编写程序。找到使用它的开源程序,修复它们的bug并为它们添加功能。获得经验的最好方法就是体验。

如果你真的想知道你应该在你的示例领域(Spring、Struts、JSP、JSF、GWT、Hibernate、ApacheTomcat)中学习什么,那么就找一些播客和博客文章来调查这些技术。然后你可以选择你最感兴趣的进行进一步的学习。

我同意另外两位受访者的观点(练习,尤其是开源项目,是学好一门语言的最佳方式)。然而,我想补充一点。从您的回答中不清楚您在面向对象设计和Java方面有多少经验,这是至关重要的。我建议研究高级OO设计,以了解其中的内容。我最喜欢的关于OO设计的书是免费的,并链接到下面-看看它是否符合你的水平。如果没有,找到更高级/不高级的东西并从中学习


Java技术非常广泛,从移动电话到企业级服务器。你可能想先缩小你想学的范围

您首先讨论JavaSE(应用程序编程),然后开始混合使用JavaJ2EE和JavaEJB

如果您想沿着web路线或企业服务器走下去,那么您需要学习J2EE、EJB、Hibernate、Spring等,否则在编写应用程序时,就不会经常看到这些技术


看来您还有很长的路要走,接下来学习Java Swing(gui)可能对您最为有益。

实践不能造就完美-完美的实践造就完美。如果你继续犯同样的错误,你只会养成坏习惯

你需要阅读

您的Java路线图应该如下所示:

  • 首先关注核心JavaJDK类。在熟悉接口、类和基础知识之前,不要担心JavaEE。JDBC是核心Java的重要组成部分,所以要熟练使用它。您必须了解关系数据库、规范化和SQL。这里的GUI技术是Swing
  • 一旦有了这些,就开始使用servlet、专门使用JSTL编写的JSP(没有Scriptlet)和JDBC。您必须了解Tomcat(或另一个servlet/JSP引擎)、HTTP、HTML、CSS以及一些JavaScript。你可以用这些东西走很长的路
  • 一旦掌握了1和2,就必须选择框架。我建议要么吞下Spring,要么整个吞下EJB3。我首先推荐Spring,但我承认我对EJB3不太了解

  • 根据需要(或遇到的情况)练习和学习框架。有太多的框架(对于Java和.NET)需要一次学习


    学习标准Java类库始终是一个开始

    我认为大多数程序员都有普通大学毕业生的智力,包括我自己。但我们有很多耐心

    也就是说,有有效的学习方式,也有低效的学习方式

    • 如果你被一本教程/书困住了,试试另一本书。一旦你掌握了基本知识,就真的没有“正确”的学习顺序了
    • 浏览标准Java库文档不必费心去记住它,但要确保你知道工具在你需要的时候就在那里
    • 制作大量测试程序。如果你对某件事感到好奇,试试看会发生什么。不知道int有多大?编写一个程序,打印出一个sizeof。不知道调用重写实例的虚拟函数时会发生什么?编写一个包含两个类的程序,一个继承另一个,并进行尝试
    • 阅读他人代码。注意风格和结构。我不是指那些愚蠢的事情,比如{是否应该与语句在同一行,而是指它们如何循环变量,如何组织类,如何使用循环,在何处优化,在何处不优化等等。模仿你喜欢的
    • 练习构建“存根”程序——一旦掌握了窍门,你就可以在头脑中这样做。找到你最喜欢的程序,写出你认为可以用来构建它的所有类/方法。这将有助于你的体系结构
    • 花大量时间给类命名。不要使用花哨的名称,只使用描述性名称。思考名称是一个很好的心理练习,即使你不希望分享你的代码
    • 我不相信编程就是关于数学的,但是你可能会喜欢它
    • 如果你在做java,C++可能不值得,但是C会教你电脑是如何工作的。