《疯狂Java讲义》,疯狂java讲义( 五 )


后来在用hibernate的时候,偶尔又重新翻开这本书 。书里讲的很多东西,都在hibernate里面有体现 。尤其是讲关系映射那章,在hibernate文档里面都只讲怎么做,不讲为什么,在书里讲的很清楚,看了很有收获 。《Expert One-on-One J2EE Development without EJB》选择一种架构、一种技术的依据是什么?Rod Johnson认为,应该是基于实践的证据、来自历史项目或亲自试验的经验,而不是任何形式的偶像崇拜或者门户之见 。
书中谈到了企业应用方方面面的问题和解决办法,而这些方案无一不是这种“循证方法”的产物 。除了把这些方案交给读者,Rod Johnson通过这本书希望传达的、更为重要的信息正是“循证”的工作方式——那原本就应该是程序员的工作方式 。对Spring熟悉或者希望深入学习Spring框架精髓的工程师而言,本书必看,因为它就是是Spring框架发展的基石 。
自学JAVA很容易忘怎么办?

《疯狂Java讲义》,疯狂java讲义


兄弟,容易忘不是问题!毫不夸张讲,jdk那么多行代码,没有一个人记得住!作为一个有六年Java开发经验的老程序员,我给你几个建议:第一,分门别类做好笔记,先说分门别类,这样会使得知识脉络更清晰,节约查看的时间 。比如,你可以把string或list或者io或者多线程一个一个单独整理成一个专题,用Word文档把代码和个人新的或者注意事项记录下来 。
一定要把各种常用类的常用方法演示一遍,有不懂得及时去查 。笔记记完就等于你记住了,为什么这么说,因为当你需要用的时候,想不起来的情况下看一眼笔记就好了 。因为你分门别类整理过,所以查的时候很快就能找到 。第二,善用搜索引擎,有什么想不起来的直接去百度就好了,比如,string类的用法,很容易找到的 。第三,善用IDE的提示和补全功能,比如,只需类名加一个点,然后编辑器会自动给出提示,非常地便捷高效 。
怎么去学java能达到最好的效果?
个人认为,不管你是一个Java开发的新手,还是一个有着多年经验的老手,在学习新技术的时候,都要经历这样的过程:学习基础的理论知识,也就是对学习的内容要有一个基本的概念;是什么?能解决什么问题?优缺点是什么?照着别人的代码敲,或者把别人的代码下载下来后运行起来,并通过Debug模式,一步一步地跟踪代码,加深对理论的理解;等熟练了以后,再根据自己的理解,把代码敲出来;当遇到问题的时候,反复地去做1/2/3步,不断加深理解,迭代完善自己的代码;这个时候,对于【是什么?】【能解决什么问题?】【优缺点是什么?】这些问题,应该理解的很透彻了 。
比敲代码更佳的学习途径是什么?我们都知道,在学习程序开发的过程中,多敲代码非常重要;看书、看教学视频、听讲座这些都是被动学习,通常被动学习最终留在我们大脑中的知识比较少,大部分都会被慢慢遗忘掉;敲代码属于主动学习,效果会比以上的途径好很多;那么有没有比敲代码更好的学些方法呢?当然有!那就是写书、录制教学视频、做讲座;这些看起来都是技术输出,实际上也算作主动学习;当你的技术能力达到了可以做“输出”的水平时,说明你对其细节已经了解地非常透彻了;学习程序开发如何找资料十多年前我刚开始工作的时候,那时候网上资料比较少;现在学习软件开发,网上可以找到大把的资料,但是有时候资料太多也是个负担,因为我们需要从中筛选出对我们有用的资料 。
关于如何挑选合适我们的资料,我提几个小建议:首先,建议大家在学习的时候,最好是查看最原始的资料,而不是被人消化理解过的“二手资料”;比如你要学习Spring Boot的话,最好的资料就是官网的文档,其次才是买一本中文版Spring Boot的书 。第一手的资料大部分都是英文的,不要觉得自己的英文不好看不懂英文文档,【读懂英文文档】,这也是个学习的过程;枯燥的知识都是大家不感兴趣的知识,因为这些知识我们在学习过程中看不到学习效果,不知道学完了之后有什么用;比如我们学习TCP/IP协议,并不知道它对我们写代码有什么用,因此学习起来感觉枯燥;不过这些枯燥的知识通常都是我们所说的基础知识,你为什么感觉新的技术学习时间长,技术提高慢,就是因为这些基础知识不扎实;这时候,先去找使用场景,找到实际使用的地方,再回来学习理论;带着问题去学习,效果更好;如果有资料能把枯燥的知识用生动的例子讲解出来,尽管它不是“原始资料”,但是对于我们的帮助也是很大的;我刚工作的时候看过一本书《大话设计模式》,让当时的我受益匪浅 。

推荐阅读