前言: 今天从开始有对自己的知识体系做一个完整的回顾!
干了六、7 年 软件开发,可以说 所有的项目涉略过吧, 政治、医疗、教育、农业、工业这些方向我都做过软件。可以说非常的杂,展开来说就是 从政府网站、医院转诊、课业系统、
智慧大棚、冷链供应链、到城市供热、智慧客服、到餐饮系统等等,我都涉略过,不能说全部都是搬砖,有自己的个人的软件设计思想,但是并不是很多,大多数都是一些业务实现。。。。。
回顾这些项目用到技术也是五花八门 java php go python ruby(区块链) ; vue、vuex ,js ,jq h5, css; 中间件 mq , reids , fastdfs , es,emqx,mqtt,等等都虽说很多但是都不是很精、就是项目用到,去查资料,用到的只是其中的一个或者几个功能。。。。。
感觉自己就是技术广度有,深度真不够,用小说中《天龙八部》的鸠摩智,的话,就是学会了72绝技,但是就是照葫芦画瓢,遇到真正的高手就露馅了。不断地拿来拿来,最后走火入魔 。。。。
我觉得我就是这种状态!!,
现在最要紧的是什么??
学习武功第一层:
我认为最主要的就是将所学过的武功,怎么融会贯通,梳理这些知识的深层含义。
例如 : java的CAS 思想 ,在并发中不加锁,而且保重对象原子性,怎么做到的?,
CAS算法的基本思想是,先比较内存M中的值与寄存器A中的值(旧的预期值,expectValue)是否相等,如果相等,则将寄存器B中的值(新值,swapValue)写入内存;如果不相等,则不做任何操作。整个过程是原子的,不会被其他并发操作中断。 用在了 java.util.concurrent.atomic 包中有很多类使用了很高效的机器级指令(而不是使用锁) 来保证其他操作的原子性;
学习武功第二层:
知识体系构建, 当你了解这些知识你就会联想到这些发明语言,组件的人,他们设计思想是怎么来的,技术之间的设计思想是相互联系的(都是爹养妈生的他咋回设计呢);
举个例子把:
我们上饭店吃饭,人多的时候都会多一道工序,发给小号,拿着小号去吧台下单,然后吃饭,这种业务为啥发小号呢??
用技术的思想就是 令牌桶原理:
令牌桶可以简单地用一个有固定容量的消息队列加一个“令牌发生器”来实现:令牌发生器按照预估的处理能力,匀速生产令牌并放入令牌队列(如果队列满了则丢弃令牌),网关在收到请求时去令牌队列消费一个令牌,获取到令牌则继续调用后端秒杀服务,如果获取不到令牌则直接返回秒杀失败。
这就是技术现实中的双向奔赴,形成了体系
学习武功第三层:
需一直用,相信大家经历了这样的知识祭奠,少林寺砍了十年柴,下山之后不论什么项目什么高手,我们都能应对,都能亮剑了!!
总结 :
1,永远不要放弃对技术的热爱(保持新鲜度)
2,更要爱生活、爱家人、爱自己!