在上过一些基础介绍性的课程之后,我们往往对于老师所介绍的众多知识点的用法感到非常迷茫,无法完全理解它们的作用到底是什么,或者说,即便是写了一些简单的例子,也不知道怎样去系统性的整合他们、在一个集合性的项目中发挥这些知识点的作用。刚学完的这些零碎的知识点又因为没有深刻的理解(事实上,深刻的理解并不只仅仅来自于理论灌输),随着时间的推移,也会很快忘记,学生很容易就会陷入“学了---半懂不懂---没法做项目---缺少实践---前面学的又开始忘了---重新学”的怪圈。
其实解决的办法很简单:那就是继续在老师的带领下完成几个项目,理论落地与实践,在这个过程中,不断的认识哪些才是文档中常用的方法、从一个大的角度去观察独立知识点之间的联结方式,并且反复的实践,久而久之,我们就能较为深刻的从一个宏观、系统的层次理解这些知识点并记住他们。
这一点,和小朋友学习语言一样,在日常生活的使用中,了解哪一些才是最常用的字词、语句,然后再在语言环境中浸泡,不断的使用他们,就能达到熟练使用的目的。即使在一开始,一个语言学习者从来没有思考过某一个字的起源是什么、也没想过一句话里包含了什么样的语法,但是实际上,因为频繁的使用,在大脑里建立了“表达某个字句---实现特定表意功能”的关系映射,他最终还是习得了使用这门语言交流的能力。
但我们必须要意识到的是,这样的只知用法不知原理的学习过程,会使你永远也成不了编程大师,
就像一个从来没有上过学的人,可能会说会写,但是因为他没有研究过语法的起承转合,没有学习过写作手法、修辞手法的精妙之处,所以他也难以成为文学大师!
这就是学习JavaEE乃至学习所有计算机语言和学习自然语言的相同之处。
正确的学习方式也就应当是是如此:
先知道怎么用,并且熟练使用,接着再深入了解原理。
绝不能一上来就抱着官方文档/词典无重点的啃理论,最后困在理论中。也绝不能止步于熟练,而不知原理!