回顾以前的学习,四个字总结:杂而不精。同一个问题可能会重复解决多次,每次感觉都懂了,但深入不够,对应技术细节还是很模糊,挖的细节还是比较粗糙,比如hashmap的扰动函数等等。现在决定对于有技术深度和源码分析的问题,必须要经过物化形成博客,在写博客的时候进行深化,同时也在梳理思路,如果以后有更深刻的认识,可以方便的在原有博客上进行修改,力求知识正确,全面,深入。同时也在感悟现在技术原理殊途同归,网上技术文千篇一律,造成了看见相同的博客直接就不想看,另一方面有些源码分析网上已经分析得很完整,我再写分析源码文章就是画蛇添足,有些时候还没有原有博客描述得深入,所以现在我根据自己粗浅的学识来表述源码技术点和思维发散。你可能会问,我们学习源码来干嘛?我认为是我们模仿优质代码,新的设计思路的最佳途径,同时也在对我们原有代码性能优化指明了方向。在写写对多线程程序的感悟吧,在写多线程的程序时应该需要先考虑测试的问题,因为你在编码的时候都不能考虑到有多线程问题,那么在进行多线程测试的时候就会出现各种bug,死锁,活锁,饥饿锁,深入理解这三种锁是写多线程程序的基石。
说道技术深度,学习越深入的技术,所花费的精力就越大,有些时候也是需要浅尝辄止的,因为自己的认知和知识都是慢慢增加的,如果一个技术点挖得很深,那么技术细节是没法把控的,毕竟写这代码的大牛知识认知都是绝对碾压自己。
最近看了一篇技术文章,说现在算法工程师的工作内容基本处于调优阶段,一方面说明现在的算法以趋于成熟,算法工程师通过算法不断的解决其他算法工程师的问题,造成了有些能力偏低的工程师只是调用函数来解决问题,另一方面学校培养出来的大量优秀算法工程师替代一些能力较低的工程师,也使国内的算法不断提升。说道算法,针对我这种工程的人员以前也是认为只有脑子好使的才去搞算法,脑子笨点的安安心心的搞工程吧。现在看来搞工程还是对的,因为算法不断的完善,必定对算法进行工程化,从而把该算法技术落地。比如ocr图片文字识别,该文字识别可通过haar特征或者knn来实现,现在对于我来说,如果深入学习人工智能,最多只能到达会用的程度,技术研发还是不行滴。所以现在要做的就是不断深化分布式技术,数据存储,数据同步这三个方向去发展。