【问题标题】:How to master Java? [closed]如何掌握Java? [关闭]
【发布时间】:2011-03-21 07:30:19
【问题描述】:

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

在这两门课程中,我们都使用了 Java SE。

我喜欢它,我真的想成为一名出色的 Java 程序员。

但是,我发现我应该了解 Java 软件开发中涉及的许多技术:
Spring、Struts、JSP、JSF、GWT、Hibernate、apache tomcat 等等。

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

谁能指导我找到掌握 Java 的最佳途径或途径?
这两门课你怎么看:
http://www.oreillyschool.com/certificates/java-programming.php

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

【问题讨论】:

  • “像 .NET 这样的简单过程”。非常有趣。
  • 精通需要时间,尽情享受吧。
  • @S.Lott 我的意思是一个简单的过程是在 .NET 中,所有内容都有一个来源。在 Java 中,在我看来,每件事都有很多来源
  • @Fahad:对你来说可能是这样。然而,这不是真的。 .NET 与 Java 一样复杂。它必须是,否则它不能完成 Java 所做的一切。它们都非常非常复杂。

标签: java


【解决方案1】:

我认为大多数程序员的大学毕业生智商都差不多,包括我自己。不过,我们确实有很多耐心。

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

  • 如果您被一本教程/书困住,请尝试另一本书。一旦你完成了基础知识,就真的没有“正确”的学习顺序了。
  • 浏览标准 Java 库文档。 不必费心记住它,但请确保您知道工具在您需要时就在那里。
  • 制作大量的测试程序。如果您对某事感到好奇,请尝试一下,看看会发生什么。不知道int有多大?编写一个打印出 sizeof 的程序。不知道调用override实例的虚函数会发生什么?编写一个包含两个类的程序,一个继承另一个,然后试一试。
  • 阅读其他人的代码。注意风格和结构。我不是指愚蠢的事情,比如 { 是否应该与语句在同一行,而是它们如何回收变量、如何组织类、如何使用循环、它们在哪里优化以及在哪里不优化等等。模仿你喜欢的东西
  • 练习构建“存根”程序——一旦掌握了窍门,您就可以在脑海中执行此操作。找到您最喜欢的程序,并写出您认为会用于构建它的所有类/方法。这将对您的架构有所帮助。
  • 花大量时间为您的课程命名。不要使用花哨的名称,只是描述性的名称。即使您不希望分享您的代码,考虑名称也是一种很好的心理锻炼。
  • 如果您对那种细节问题感兴趣,请尝试Project Euler。我不认为编程全靠数学,但你可能会喜欢它。
  • 有时间学习 C。如果你在做 java,C++ 可能不值得,但 C 会教你计算机是如何工作的。您不需要精通它,但至少要达到您了解内存管理和指针的程度。当您希望代码非常快速时,这将帮助您更快地做出决策。
  • 有一天学习函数式编程。 Haskell 是一个不错的选择,因为它是一种纯函数式语言。一开始非常困难,但无论您使用哪种语言编写程序,您从中学到的概念都很有价值。您将更快地做出设计决策,并且您的代码将更加健壮。
  • 了解最新情况。这个行业的趋势与时尚行业一样快地来来去去。其中很多都是废话,但其中很多对就业和生产力都至关重要。时刻注意,否则你会重蹈恐龙的覆辙。

【讨论】:

  • “我们确实有很多耐心。” - 事实上,如果你没有耐心,那么专业编程对你来说不是一个好的职业。
【解决方案2】:

成为擅长某事的最佳方式?练习,练习,练习。

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

【讨论】:

  • 对,他说的比我快48秒。
  • 我能说什么?我已经练习了;)
  • 如何有效地练习Java?
  • 开源是获得大量良好 Java 实践的好方法。它会让你看到其他人的代码,通常会有一群核心开发人员愿意指出你的错误。
【解决方案3】:

熟能生巧——熟能生巧。如果你继续犯同样的错误,你只会成功养成坏习惯。

你需要阅读this

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

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

【讨论】:

  • “刻意练习”是否符合要求?
  • “故意好的做法” - 是的。
  • 我希望我能投票数千次。
【解决方案4】:

我从您的问题的措辞中得到的印象是 Java 是您的第一种编程语言。我赞扬您“掌握 Java”的愿望,但如果可以的话,我建议您在获得太多深度之前尝试一点广度!

我认为,拥有 CS 学位(大多数课程都是用 Java 教授的)很容易陷入相信所有编程语言都是这样的陷阱:

  • 面向对象(并具有单实现继承和多接口继承)
  • 静态类型(无类型推断)
  • 命令式(即利用迭代构造和可变状态)
  • 冗长

因此,所有编程都必须大致类似于 Java 编程。

我谦虚地建议阅读不同的范例和语言:学习一种动态类型语言(来自 Java,我建议使用 Python 或 Ruby),学习一种非 OO 语言(如 C)---以及实现 OO,学习函数式编程(Haskell 让我们大开眼界)。在深入研究 Java 字母汤之前至少先看看周围(Java 文化高度重视首字母缩略词 --- 但我不会在这里通过任何价值判断)。

只要我的 0.02 美元!

【讨论】:

    【解决方案5】:

    在里面写程序。查找使用它的开源程序并修复其错误并为其添加功能。获得经验的最佳方式就是亲身体验。

    【讨论】:

      【解决方案6】:

      如果你真的想知道你应该学习什么,在你的例子范围内(Spring、Struts、JSP、JSF、GWT、Hibernate、apache tomcat),然后找一些可以让你调查的播客和博客文章这些技术。然后,您可以选择您最感兴趣的进行进一步研究。

      【讨论】:

        【解决方案7】:

        我同意其他两位受访者的观点(实践,尤其是开源项目,是掌握一门语言的最佳方式)。但是,我想补充一件事。从您的回答中不清楚您在面向对象设计和 Java 方面有多少经验,这是必不可少的。我建议研究高级 OO 设计以了解其中的内容。我最喜欢的关于 OO 设计的书可免费获得并在下面链接 - 看看它是否符合您的水平。如果没有,请找到更多/更少先进的东西并从中工作。

        http://homepage.mac.com/s_lott/books/oodesign/build-java/html/index.html

        【讨论】:

          【解决方案8】:

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

          您首先谈论 Java SE(应用程序编程),然后开始混合 Java J2EE 和 Java EJB。

          如果你想走 web 路线或企业服务器,那么你需要学习 J2EE、EJB、Hibernate、Spring 等,否则在编写应用程序时这些技术并不常见。

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

          【讨论】:

            【解决方案9】:

            根据需要(或遇到)练习和学习框架。有太多的框架(用于 Java 和 .NET)需要一口气学习。

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

            【讨论】:

              【解决方案10】:

              成为擅长某事的最佳方式?找一份允许你使用该技术的工作。练习时获得报酬。

              有时会停止阅读书籍和文章,并开始构建项目。

              在你工作的时候,向比你优秀的人学习。继续阅读有关您感兴趣的主题的文章,并将您学到的知识应用到工作中。

              【讨论】:

              • 实际上,这里很难找到入门级的 Java 工作。今天,我与一家寻找没有经验的 Java 程序员的公司进行了电话面试,我被问到上述技术以及其他技术。
              【解决方案11】:

              找一位导师并经常挑选他/她的大脑。一旦您在该领域工作,就要求高级开发人员进行代码审查。这会让你摆脱自己的习惯,阅读人们关于如何改进的建议会给你很多见解。不要坐在那里阅读,根据问题解决问题,然后从那里开始。

              【讨论】:

                【解决方案12】:

                成为Java高手并不容易,我学习Java所做的是 1)尝试将我见过的所有应用程序转换成java, 例如:画到java 2)曾经在我的州参加过JAVA用户组和会议 3)去Goolge的小组检查Java代码 我就是这样,我不能说我是大师,但我能做的事情

                【讨论】:

                  猜你喜欢
                  • 2012-12-29
                  • 2013-07-29
                  • 2014-09-09
                  • 2015-10-27
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-05-29
                  • 1970-01-01
                  • 2011-05-27
                  相关资源
                  最近更新 更多