大量时间学习通用技术,少量时间学习公司中间件
理解原理架构方法,而不是记忆细枝末节,核心在于理解不在记忆,在于学习其思想
带着问题去学习,一般问题是什么(做了什么,怎么实现),为什么(为什么要这样做,这样做有什么好处),举例hbase(column family 是什么,为什么hbase弄了个cf,为什么hbase按cf存储,不按行存储)
思考,思考极为重要,要不断地思考和整理学习过的知识,比如开个单人宣讲,以某技术为主题,目前遇到了什么问题,为了解决此问题某解决方案(技术)出世,这个技术是如何处理问题的,其核心概念和架构原理等等
宣讲,实践,谈论,主动的效率远高于被动
去造个轮子,用输出逼输入,比如为了写了个mq,你必须了解其他的mq,你需要用到大量的知识,你的水平取决于你能输出什么,你能输出mq,输出服务框架等等,那你需要输入大量的知识。
打造自己的技术差异性,就是在几个领域内成为专家,领域最好是核心领域,如jvm,服务框架,mq,缓存等,所谓专家,肯定对此领域的几个核心产品很熟悉,然后有自己的输出,理解通透,自己也能写个出来
高手在于快速掌握理解本质,站在作者的角度去思考,如果我去设计我会怎么做,对比自己的设计和已有技术找到自己的不足
比如为了不过于频繁的磁盘写,hbase和mysql都写内存,再flush磁盘,但是内存易丢,所以写内存前先写日志文件记录变更,这就是核心思想,而binlog,hlog等等就是具体细节
hbase,sopush,etrace/emonitor