Java速成:找对方法几周内搞定它

Java学习方法的一点个人见解-完整版

1 爱好。

这个是动力,如果你不爱Java,不爱计算机,而是喜爱游戏,娱乐或者其他的,你不适合做程序员。

我高中接触计算机,那时候还是AppleII,绿色显示器的,我因为入学学习成绩一般,没有列入学习计算机的队伍。我是凭个人关系,我室友的叔叔,是机房负责人,呵呵, 挤进去的。高三,剩下的只有2人了。 另一个考到了四川的一个科技大学,我忘了,是很牛气的学校。

大学,我没有考上计算机系,但是我基本上和计算机系的人混得最熟,他们的机房我去的非常多。晚上经常不回宿舍,吃方便面,小浣熊干脆面, 几个朋友一起弄东西,主要是汇编和C语言,还有玩三国2和大富翁2的游戏。

毕业,在化工厂混了5年,实在没兴趣,转行到IT了,还算顺利。

请注意:我是27岁改行进入IT的,那些总说该怎么样怎么样的人,应该知道怎么做了吧! 现在开始还不晚!

如果你能在电脑前,一坐就是4-5个小时,你能为了学习而阅读英文的资料,那么你至少对编程是热爱的,具备了程序员的潜质。

2 学会取舍,用到什么就学什么

编程路上知识点甚多,你能掌握的永远是很少的一部分,新的技术不断出现,你难道能跟上? 相反,编程思想确是相对稳定的。

对于新手,到书店找一本入门的书,用最快的速度读一遍,不要超过3天。 记住,你不需要理解,因为你理解不了,你只需要对那些东西有个大概的意识,噢噢噢,好像有那么几页有这个东西,能达到这个效果就非常不错了。 千万不要一开始从第一章就仔细的看,那没用。

看完之后,找你最感兴趣的部分看,如果看不懂哪些内容,就去翻其他部分,然后马上返回。这部分看懂后,马上开机训练。

对于已经有经验的人,新知识你可以看看他的介绍,Release Note 或则一些评论性文章,然后看看自己手头有没有合适的工作可以用到,如果用不到,停止继续研究,如果能用到,则深入的看一遍他的文档,方法和前面一样,不能太细。 看完后,如果能运用,则开机尝试,并仔细的阅读即将使用到的部分。

有网友问:怎么选入门的书?

我回答

书店,搜索,

Java 入门

你能看到一大堆,随便一本,看!记得不要买!!!

入门书差不多!不要太细的看。

换一本,加深印象

回家,电脑上实践,或者找电子版的书!

转天再去。

3 技术服从于业务

技术是用来解决问题的,而不是用来炫耀的。当技术与业务有矛盾时,业务永远在第一位。

不要和业务人员过度的讨论(注意不是争吵)技术如何如何? 有什么技术难点无法满足业务需求之类的。

技术人员可以作出自认为很好的东西,但不一定能卖的出去。世界已经不再是【好酒不怕巷子深】的年代了。除非你真的有强的专利技术。

4 认识自己

不是每个人都能做到CTO,CEO的,金字塔的顶部的空间是很少的。由于家庭环境和个人性格不同,而高层领导的强项并不是在技术,而是在沟通和管理。也许你不服,也许你不甘心,但事实如此,只有付出更多的努力,才有可能往塔尖靠近,注意是有可能,不是一定。

5 学会总结

知识如果不用,就会被逐渐淡忘,当你需要的时候,如何能用最短的时间回复呢?那就是记笔记。 blog很好,写在笔记本上也行,写在一个word文件里面也好。 总之,以你能很快的能找到为准。

6 身体是本钱

不多说了,大家都清楚。但会不自觉的违反这一条。呵呵!

7 正确理解学习过程

初学时,就是死记硬背,你只需要知道应该怎么样就可以了。

有一定经验后,你就需要知道,还能怎么样?

熟悉后,你应该知道为什么要这样?如果不这样会怎么样

精通,这个东西适合吗?如何选择呢?

初学:动手

掌握:动手又动脑

熟悉:动脑又动手

精通:动脑

8 学会正确的查找问题答案的方法

一搜二问三看看 【阿敏总司令】

先搜搜,坚信 你绝对不是第一个遇到这个问题的人

先到 google/baidu 搜索 选好关键字

到论坛或者群里面发问

学会平时积累,到处看看,经常有意外收获。 n月前的难题可以轻松解决。

你的问题一定要有经过你思考了的。不要直接要全部代码和答案的那种。 至少我鄙视他们。没有人会花费那么多时间提供一个整套方案,就算付费的也得谈谈价钱,不合适的也不做。

比如:

我要做一个学生学籍管理系统,请提供思路和详细的解释,最好有源代码,100分送上

请问如何学好Java啊?我要学啥啊?

老师让明天交作业,哪位大哥给一份答案啊?

领导让做个库存管理软件 让我写需要 应该怎么写呢? 大家帮帮我啊?

9 增加你的实战经验

你可以没做过,但一定要认真思考过

你可能没做过什么像样的项目,至少你自己这么认为。其实不然,你做过的的项目虽然看上去小,但你可以遵循这样的目标来完善

去目标用户那里调研,了解真实的需求,不要停留在想象程度

单机版改成多用户版

C/S版增加B/S版,反之亦然

使用正式的数据库,而不是Access

完善你的程序,直到有人愿意出钱买你的程序(1元也算),因为这代表着他是一个真正能用的,能满足实际需求的程序了

去看看别人的项目代码,好多开源的项目。看看人家是怎么解决同样的问题的。

10 先学做人,后学做事

大家放眼望去会发现:大凡成功者,在谈到成功时,很少谈“做事”,而都在讲“做人”。因为不会做人,就不会做事,就会走上无为的一生,或走上大起大落坎坷艰难的不归之路

一网友抱怨,技术总监用老掉牙的技术和思想指挥一个上千万的项目,他想按照规范来做,结果和总监发生争吵和冲突。 最后被总监提出,你辞职吧。

下面是我回复的内容,有点刻薄。

奉劝你一句,你有什么资格和你的直属最高领导吵架?????

1 意见不和,可以私下提,不要当面顶撞,这无济于事。如果我是老板,我也开除你。

2 技术要服从于业务,如果你总是对的,你为何不自己做老板?你能拉来几千万的项目?

3 既然大家谈不拢,和平离开就可以了。我估你你们没有个人恩怨。不过目前好像有了。

我以前也和你一样,自己认为都是对的,可实际呢? 没有我们,地球照样转,人家几千万的项目照样做。

当你做老板,你的手下人每天都顶撞你时,你也会这么做。 历史上刚直不阿的人,大多是悲惨的下场。

社会就是这样,理想和现实是有差距的。

#### 针对第10条的部分内容,我已经在反馈里给了解释############################

解决问题的方法有好多,最好不要走那个最不好走的路。肚量再大的领导,也会有冲动的时候。

如果平时多注意沟通,如网友所说,能和领导经常喝喝酒,吃吃烧烤,目的能达到,还增进感情。

Java的目标是“一次编译,到处调试”(呃,不对,是“到处运行”)。简单来说,就是Java程序可以直接在任何设备上运行。

Java语言是什么?

不管我们是否意识到,实际上我们基本每天都在与Java打交道。在浏览网页时,可能会弹出一个提示,要求必须安装Java才能继续浏览。这种情况一般发生在使用flash或者是通过某种方式将flash组件集成到核心系统的站点。

Java并不是那种通常在新电脑上直接下载下来就能用的程序。我不能确定有没有操作系统将Java作为默认的可执行程序。虽然历史上Java在安全方面有过问题,但这也让Java变得更加成熟。

从笔记本到数据中心、从游戏机到科学家的超级计算机、从手机到互联网,Java无处不在!

97%的企业桌面运行Java

美国89%的计算机运行着Java

世界共有9百万Java开发者

Java是开发者的首选

头号开发平台

三十亿部手机运行着Java

所有的蓝光播放器中都含有Java

有五十亿Java Cards在使用中

1.25亿的TV设备运行着Java

5个最大的OEM商都安装Java ME

从上述的统计中可以看到,Java语言非常受追捧而且Java的市场也很大。

Java开发者的薪酬

我想简要讨论下Java的薪酬,即全职的Java开发者在合理的时间内能赚多少钱。

该表是全美国范围的薪酬统计报告,大致在8万5千美元上下。由于我们能够免费学习Java,所以这个工资是相当高的。下面就来介绍能在短短几周内免费学习Java的资源。

Java入门

前一阵子我发布了这门在线课程,并收到了许多反馈。大部分人都说课程中介绍的方式学起Java太费时了,他们想在几周内就搞定Java。我同意这个观点,因此在这里我添加一些你应该了解的额外课程。

这些课程有些需要付费,但通过这些课程可以接触到一些独立的社区,会发现有35000名学生在学习这门课程。课程的内容超过10个小时,100多篇讲义,还有数百个针对疑难问题的讨论。

没有比这些课程能更好的学习Java了,学习Java最好的途径是在实践中成长为专家,但这样很难完成。另外,我很乐意在课程中回答问题。

Java基础

学习哪一门语言并不重要,任何一门语言都是要从基础学期,Java也不例外。值得庆幸的是, Oracle官方(拥有Java的公司 )网站有一个大量关于Java的介绍,解释Java是什么,展示Java是如何工作的基本知识。

读者还会发现还有许多可供进一步阅读的资源。但最重要的是,这些页面会帮你获得开始学习Java所需的所有工具和相关内容。

Java编程入门

这是另一个非常优秀的资源,不仅仅是因为这份资源由世界顶尖的大学出版。而是因为你肯定会发现这门课的质量非常高。在通过这门课学习Java的过程中会迫使你阅读大量的资料。

这门课程广受好评,虽然刚开始学习可能有点偏理论,但依然被认为是最适合初学者学习的Java资料。课程中有完整的图片、例子、代码和文档。

在线学习Java

近年来,交互式教程越来越多。所以我觉得有必要介绍一些网上的交互式课程。说实话,我们不会完整学完整个交互式课程,但我建议在用书本学习之前,先接触下这些交互式课程。

另外,交互式课程不用打开IDE就能载入并测试一些代码。

笨方法学Java

这是我推荐的唯一一本需要付费购买的书。因为这本书非常有用,很适合初学者。所以我认为还是值得买一本的,20刀。(译注:貌似没有中文版)。

读者可以在网上免费阅读前16章,链接在此。我想许多人都会喜欢上这本书的,该书的组织非常合理,有合适的练习题。不能要求再高了。

自己动手学Java

这个网站的作者与前面那本书的作者是同一个人,那本书的灵感即来自该网站。刚开始的时候会发现许多不需要大量编程技能就能解决的问题,但随着学习的深入,问题会越来越难。

我一直坚信,学习某个东西的最好途径就是先去做一遍,然后测试一下,再重新过一遍。所以选取上面列出的任何一个教程或书籍开始学习吧。

零基础学Java

有些人喜欢通过视频学习。在很忙的时候,视频可以随时重放,掌握其中关键的知识。

Udemy上的课程是免费的(但需要注册一个帐号才能观看),这门Java课程已经有超过10万人注册学习,是该网站上最火的课程之一。讲解者是John Purcell,他是拥有多年Java开发经验的软件工程师。

这门课有20多小时的内容,超过70篇讲义。加入Udemy,就能获得一个非常庞大的支持社区(所有学习该课程的学生都在这个社区里),Udemy还有内置的支持系统,可以提问。

不要让设计欺骗你,这会让你分心。 CodingBat(之前的JavaBat)是在浏览器中免费交互式学习Java的最佳途径之一。这是第二个推荐的交互式学习网站,我认为它比前一个网站更好。

与Codecademy不同,CodingBat中对所有内容都是从入门到深入,手把手的指导。CodingBat更多的是让你做你知道的事情,并安排你有能力进一步学习的内容。不要误认为这是没组织好,其中每节有大量的教程,学习起来会很快。

Java(初学者)编程教程

(译者注:需要自备梯子)

YouTube上的The New Boston用户发布了许多编程语言的视频教程,其中也包含Java,这些视频是已知最全面的介绍。里面有80部手把手教你学Java的教程,但可能有点旧了(视频使用的是Java 7)。

不要因为我说有点旧就放弃这个教程。对于那些下定决心学习Java的读者来说,这个资源依然非常有用。另外, 与Udemy不同,观看这个视频不需要注册。视频中的留言也非常有用。

Java面向对象编程

这是另一门大学课程,总计耗时6周。非常适合初学者,所有操作都可以在浏览器中完成。这门课程还有一个非常好的教程,介绍如何安装Java和相关工具。在课程中会学到计算机编程基础、算法,以及使用Java进行面向对象开发。

这门课程还有第二部分,同样为期六周。所以总计需要12-13周的时间来学习。完成课程后,应该学会如何构建自己的应用,如何以Java开发者的思维进行思考。这样就可以更进一步,更加深入的探索语Java言。

Java编程练习

最后给出一个用于练习编程的网站,该网站专注于Java,每个练习题都有解答。实际练习是非常重要的,特别是像Java这样的语言,这种语言并不能在一开始就熟练掌握。

这里总共有30个练习,如果遇到了难题,可以过一段时间再来看看,也许到时候就能找到解答方法。

学习Java的10种方法

这篇文章可能比不上我之前介绍的学习Python那篇文章。我认为这是因为Java并不是易学的编程语言,需要高度关注其中的细节。Java在今年的流程编程语言当中,背后有庞大的社区。

还有一个建议,就是多去类似StackOverflow和Reddit这样的站点看看。从中可以找到常见问题的答案、通过提问学习到更多的知识。不问问题,仅仅意味着目前不需要解决方案,但并非会一直如此。

我希望这些资源、书籍、和网站能帮到你。无论你是否会成为Java资深开发者,将这些资源转给你周围希望加入开发社区的人都是不错的选择。祝你好运!

#

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180310A0HLJD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券