《Java学习反思.docx》由会员分享,可在线阅读,更多相关《Java学习反思.docx(3页珍藏版)》请在金锄头文库上搜索。
1、Java学习反思1.道面试官提出一个问题之后,不要简单的停留在其字面意思。想一想为什么要这样问,考的知识点大概是哪些。1)头一步,面试问题的合理性具体考察哪些知识点与内容;2)其次才是具体知识点的 1)是什么:基本的知识点要全面,不能不知道; 2)为什么:知识点的原理是什么知道,为什么、怎么样也得知道; 3)怎么样:具体的实现层面如何实现;eg.1)HashMap方面的知识点: HashMap的特点:存储特点 这些特点的原理: key的唯一性原理:即,为什么不能存储int等基础数据类型; 底层或源码如何实现的;2)ArrayList 特点:存储特点,具体方法 原理:存储如何实现,方法如何实现反
2、思*,平日学习中,经常只了解今日老师教授的这些知识点的内容,其中存在很大的不足: 1)【存在意义】为什么会有这些知识内容,其存在的意义,与解决的问题存在即合理 2)【掌握全面】结合其存在意义,是掌握,不只是了解知识点的自身属性与功能是什么(what is this?) 3)【理解深刻】一些属性、功能为什么是这样而不是样为什么是这样(why is this?) 4)【源码实现】最后,这些知识点的具体又是如何实现的?如何实现的(how is that?)总结1. 边听讲,边思考,边做“笔记”理顺逻辑2. 实践、实践、实践:纸上得来终觉浅,绝知此事要躬行!建立行之有效的学习方法: 每天必须梳理知识,
3、明确重难点 学习编程的捷径敲,狂敲 学习编程的规范加注释 “模仿”好的编码习惯知道某一件事的来龙去脉!【Y姐三连】 为什么来? 从哪来? 什么表象? 原因:全面、深刻的探寻 产生什么结果? 会带来什么样的影响,与趋势? 如何解决? 反思问题: 不是“没听懂”,而是“记不住”【要能说出来,讲清楚】 不能知其然,而不知其所以然【合理性】 只懂表象,不懂内核【原理性】在接触先进的技术时,如果我们能将它的底层结构 、本质性的东西搞清楚,会给我们带来莫大的帮助。学习技术要掌握本质1.掌握Java的精华特性而且一定要知道为什么。比如,Interface和multi-thread:用interface是更好
4、的多继承的模型,而多线程则是设计到语言一级的重要特性。要完全理解interface是为什么,用多线程又有几种常用的编程模型大数据技术的核心: 应用场景 + 技术选型 = 业务需求 每项技术的底层原理、逻辑、合理性:why 不同应用场景的解决方案:面试案例how2.理解了语言的特性是为什么了之后,就可以试着上升到设计这个层次,毕竟学习语言是要用的。没门技术的设计模式是什么目前比较好的开发模式是采用自定向下的面向对象的设计,加上MVC的模式(你可以看一下java私塾的课程内容)。首先要找出最顶层的对象(这往往是最难的),然后一层一层往下递归,记住每次应符合7+/-2的原则,因为我们人的短记忆就是这
5、样。一般有图形用户界面的应从界面开始设计。3.有了基本设计模型后,可以学一些设计模式(Design Pattern)。这是目前证明很有效的。比如体系结构模式(Layering分层,Pipe/Filter管道或过滤器),设计模式(有很多,比如对象池Object Pool、缓冲池Cache等),编程模式(比如Copy-on-Write)。懂了这些模式之后,就会对系统的整体结构有很好的把握,而学术上也有倾向一个系统完全可以由各种模式组合而成。另外一个很重要的领域就是并行和分布式计算领域,大概有20种左右。5.接下来是实践。项目一定要有实际的商业意义!做的项目绝对不要只是几个模块,要完整!让招聘的技术人员感觉是真正的开发项目,还是真正的商用项目结合前面学到的设计模式,理解掌握项目的设计、模块、流程、具体实现;如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。