java吧 关注:1,269,958贴子:12,775,589

怎么才能学好java?

只看楼主收藏回复

怎么才能学好java:
JAVA自学之路 一: 学会选择
为了就业,不少同学参加各种各样的培训。
决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机、嵌入式、游戏、3G、测试等。


1楼2017-11-14 21:47回复
    那么究竟应该选择什么方向呢?
    我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧。
    每个培训机构都会宣传自己的好处,并不能说明大的趋势。一些新闻文章很有可能是枪手写的,不必太过相信。国外背景的教师和课程,未必适合你。那么怎么才能确定自己将来的方向?如何才能从纷繁复杂、或真或假的数据世界中挖出一条路?


    2楼2017-11-14 21:52
    回复
      2025-07-19 03:45:38
      广告
      JAVA自学之路 二: JAVA自学路线图
      有不少的同学发信给我,和我探讨java的自学过程应该是什么样的,毕竟有很多人因为各种各样的原因不能参加培训。我试着给出自己的见解,抛砖引玉吧。这个路线图是给那些为了就业的人准备的,如果只是兴趣,不一定照这个走。这里只是讲了路线图,关于路线中的各个阶段,学到什么程度,如何学习等,可以参考后面的JAVA自学之路 七:《路线图明细》。


      3楼2017-11-14 21:53
      回复
        首先要学JavaSE,这是无庸置疑的。与此同时,是的,与此同时,和JavaSE的学习同步,建议大家研究一下数据结构与算法。在这儿之后,你可以选择向J2ME、或者Java GUI、Socket编程等方向努力,但是通过第一篇的办法,你可以很容易就将这方向过滤掉(永远不要忘了我们是为了就业),好吧,暂时和它们诀别,还是向着J2EE的方向前进吧。在JavaSE完成之后,可以试着完成一些小项目,同时关注一下设计模式的内容,不必强求自己能够完全掌握各种细节,往前走吧。


        4楼2017-11-14 21:53
        回复
          掌握一种编程工具,比如说Eclipse。
          数据库,可以选择使用Oracle或者MySQL开始。JDBC,用Java连接数据库。可以选择在这个地方切入Hibernate,也可以选择在Struts之后。
          HTMLCSS JavaScript,这些东西是做web项目必需的内容。
          Servlet\JSP,服务器端必需。
          XML 、AJAX,新的流行趋势不能不了解。


          5楼2017-11-14 21:54
          回复
            作一些小项目吧。比如BBS、留言系统、学籍管理、商城等等,随便找一些业务逻辑比较简单的来做一做:
            Struts,MVC的典型应用,Hibernate,ORMapping的典范之作。Spring IOC + AOP,面向对象 + 面向切面,完善的旅程。把以前自己的小项目加入Struts、Spring、Hibernate的元素吧。去研究各种商业项目的业务逻辑吧,才能在你的简历中加入浓重的一笔。EJB3.0,java在走了很多弯路后的回归之作,值得研究。SOA,业界铁定的未来趋势,要紧紧跟随。
            在后面,我会告诉你每一步的学习方法和学习重点。


            6楼2017-11-14 21:54
            回复
              JAVA自学之路 三: 要动手
              无论如何,请坚持不懈的动手实验!
              学习Java要动手,仅仅是看和听是不能够学好编程的。总有同学来信问我们这样的问题,说:"老师我看了视频了,可是怎么一动手就没有任何思路呢?" 对此,我一般都会说不要着急,如果你只是看了视频就想行云流水的话,那老师这些年的锻炼真是白费了,这么多年的苦练才能略有些行云流水的感觉,你一朝一夕就想自己能够达到,不是太奢侈了吗?


              7楼2017-11-14 21:59
              回复
                作为编程的过来人想一下,当年自己学编程的时候是什么时候有思路的呢?至少也是照猫画虎画了一段时间之后吧,我本人是在某一个领域画虎画了上万行代码的时候才慢慢有自己思路的。就像写作文,要有自己思路总是一般来说要经过几个阶段,首先学习词汇,然后学习造句,然后大量阅读别人的文章,自己模仿着写一些,逐渐的经验积累,才能形成自己的思路。学编程,恐怕也得慢慢的来吧,只是看一看、听一听视频,是不足以学好编程的。
                所以,动手吧,跟着做,一行一行的跟着敲,一个项目敲完了,比如坦克,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。


                8楼2017-11-14 21:59
                回复
                  2025-07-19 03:39:38
                  广告
                  如果遇到,暂时对于一些思路不能理解的同学,我一般都会劝告说,动手写,先写代码,量变会引起质变的。而这种质变的确发生过不少次。
                  提醒一句,要理解代码思路之后再跟着敲 ,背着敲,千万不要左边摆着别人的程序,右边自己一个一个子母的写,这就不再是程序员了,成了打字员了。
                  纸上得来终觉浅,所以:别问那么多,别想那么多,动手写吧。


                  9楼2017-11-14 21:59
                  回复
                    JAVA自学之路 四: 要事为先
                    对待人生的任何事情都要:抓大放小,要事为先!
                    对于一个以前从来没有接触过java的人,java无疑是庞大的,似乎每个领域都可以拓展开来都是一片开阔地,每一个领域要想深入接触到每一个细节所耗费的精力都是巨大的。这个时候大家都胸怀壮志,两眼发光的盯着每一个崭新的知识点,遇见了任何一个知识点都恨不得抠的清清楚楚,明明白白。
                    难道这有什么不对吗?


                    10楼2017-11-14 22:03
                    回复
                      我的意见是,这样并没什么大毛病,但是学习效率太低了!我们推荐的学习方式是,抓大放小,要事为先{马士兵老师的这句话可能并不适合当代的大学生。仔细思考} 。
                      比如说学习J2SE的时候,学到GUI这一章,有的同学认为,既然学到这儿了,我们去把SWING细细的了解一遍吧;还有的同学,遇到了在Linux下的Shell编程,就恨不得把Shell先学成专家才肯,或者是才敢,继续往下学习;有没有过这样的感觉,一本书的上册没有学好,觉着下册心里也没底儿,甚至非要把上册复习一遍才敢继续学习。如果你也是这样,要去看看心理医生啦,没准儿会有洁癖的毛病。
                      任何事情都要追求完美才敢继续往后进行,是一种性格缺陷


                      11楼2017-11-14 22:04
                      回复
                        大胆的放弃一些东西吧,有失才有得,把自己有限的、宝贵的精力用在对于就业直接相关的地方,这才是最有效率的学习方式!等你参加工作,有了可持续发展的事业动力和经济基础,有时间有精力闲的没事儿干的时候,再去研究那些其它吧。
                        曾经有一个故事,说得是产能和产量的关系。
                        一个人喜欢读书,读了一辈子,无所不通,这时候要做任何工作都可以,他的产能到了极致,但是,他老了,即便每天产出大量的东西也不能维持多久了,一辈子的产量并没有多少。另一个人直接工作,忙,天天在机器旁日复一日,做了一辈子,没时间学习和进修,可以想象,产量能有多大呢。


                        13楼2017-11-14 22:08
                        回复
                          人的一生,要锻炼产能,也要及时产出,引擎要转,也要停下来加油,这两者平衡的越好,你的贡献和产量就会越大。如果钻研的东西和产能目标(或者说近期的产能目标)无关的话,要舍得放手。
                          所以,对于SWING,暂时先扔在一边吧。对于shell,对于各种协议过于详细的细节,对于喜欢的游戏编程,对于javascript各种华而不实的效果,都暂时和它们分别吧。一切和我们的直接工作目标关联不大的东西,扔在一边或者弄清楚到足够支持下一步的学习就可以了。 {能否把这种工作目标换成其他的东西呢?}
                          那这样岂不是妨碍我成为通晓各种细节的高手了吗?
                          我一向不认为一个人掌握了很多很多知识点的细节就是高手了,一个人如果告诉你,回字有四种写法,你会认为他是高手吗? 毫不客气的说,现在我们所教授的所有知识细节在网上或书中都可以找到,只要你肯花时间花精力去动手试,去钻研,没有什么不能掌握的。struts、spring你能掌握吗?当然能!但是如果把时间花在spring的各种细节的研究上,花在研究中国企业应用不广泛地的spring mvc上,这个精力就太浪费了,而且学习的积极性会受到打击,谁愿意整天泡在细节的蜘蛛网中挣扎不出来呢?谁愿意天天经历风雨却总是不能见到彩虹呢?


                          14楼2017-11-14 22:09
                          回复
                            盖房子,要先建骨架,再谈修饰。画山水,要先画结构,再谈润色。
                            认识一台结构复杂的机器,应该首先认清楚脉络,然后再逐步认识每一个关节。
                            为了应付从小学到大学的考试,我们背了各种各样的不应该提前掌握的细节,同时也养成了见到细节就抠的学习习惯。而现在,是到改改的时候了。
                            请在合适的时间,做合适的事情吧。{Do Forward!Think Forward!Sanely!}


                            15楼2017-11-14 22:09
                            回复
                              2025-07-19 03:33:38
                              广告
                              JAVA自学之路 五: 问题解决之道
                              既然是学习,就不可能不遇到问题。
                              既然是自学,就没有方便的和老师探讨的机会。
                              那么,遇到问题之后,环境配不通,程序调不过,运行不正常,遇见这些恼人的问题的时候,该怎么办呢?


                              16楼2017-11-14 22:10
                              回复