作者做了多年的Java培训教师,也接触过不少初学者,根据多年的教学互动经验,总结了一些能少走弯路的学习方法,供大家参考。
第一,是要多学多练,这似乎是废话,但真正能非常上心学习的人还真是少数,大多数人下班之后,明明有足够多的时间,但宁可逛街、打游戏而不学习。
在我们所带的班级里,刚开始大家的能力其实差不了多少,但到结业后,常复习、常练习的同学要比不学不练好很多,往往是好的学生能直接跳槽,工资涨至少20%,不学不练的同学还是老样子。
第二,别单看书或网站上的技术资料,一定得边看边练习。如果光看,知识点一定会在一个月后被忘干净。
培训班里,有些同学确实学习很认真,上课记笔记,相信下课也一定会多复习,但就是不肯多上机练习。到最后,这些同学确实很可惜,虽然用功,但方法不对(不练习),学习效果其实并不好。
第三,关于学习的次序,建议大家遵循技术到框架到细节的路线,比如先大致了解Spring、Hibernate等技术,再了解Spring MVC等Web框架,最后再深入学习Spring和Hibernate里的各种细节的API。如果过早地接触各种细节,就可能无法从总体上把握。如果了解框架后不去深入了解细节,则很可能基础知识不扎实,对后继学习非常不好。
第四,在没有了解各种框架(比如Spring MVC框架)前,可以先借鉴别人的代码,通过适当地修改先让代码跑通,随后通过阅读代码来理解整体流程和关键代码。
比如我们在给学生讲述Spring控制反转时,一般会给学生一个可以运行的程序,让学生先运行通,然后会针对代码讲述装载配置文件和控制反转部分的关键代码,最后会请学生通过改写来实现类似的效果。根据实践情况,学生能很快地掌握IoC的流程以及一些关键要点,从开始学习到最终掌握大概也就1个小时,当然这仅仅是入门级别的学习,深入学习其实也可以采用这套流程。
不过总有些学生在刚开始不熟悉控制反转细节的技术,就想要自己编写各部分的代码(比如配置文件和Java代码),美其名曰自己动手能对各部分印象更深。
这样做的大多数后果是,由于不熟悉,自己编写出来的代码往往会错误百出,而且自己还未必知道怎么才能把代码调通,导致最后对这个知识点的学习不了了之。这种情况一旦长久,一定会影响到学习的自信心。
所以千万记得,先“山寨”别人代码来学习,等你熟悉了,有足够多的能力时再来自己动手。