just do it.
我自己的经验是: 技术一定要固化成某种方便调用的库,才算是真正掌握了。否则,时间一长,就会遗忘,成为遗失的技术。
知道一种c/c++技术可能比现有的 流行技术更优,弄懂主要思路后,就赶紧去实现一遍,保存在 c/c++ 库里,实现的时候从底层数据/代码流的角度,或者说从cpu硬件的角度,去分析可能的瓶颈,然后不断的修改源码,反复的测试,最终都会有非常好的性能,原因在于长期积累的经验,反复优化,哪天又想到一个优化的思路,就赶紧固化为代码立即测试,积累久了,就有很多开箱即用的高性能的库代码。
时间长了,c/c++库里面一堆的黑科技,随便拿出来几个都很厉害,例如: 最底层替换一些时钟周期比较大的基础硬件运算,例如整数除法有比 Intel九代之前的cpu硬件除法指令快5倍的软件算法,64bit 移位(类似1 << N之类),有比Intel cpu硬件移位快3倍的软件算法。
c++软件算法,一堆比std库更快的class, 包括常用的vector, string, deque, unordered-map/set 等等,一些函数有数倍的性能提升。写应用层或者高层代码,同样的算法,一些场合下,性能也会更好。
一些比较前沿的c++技术都有实现,包括更高并发的 wait-free 队列, 包括多生产者和多消费者队列等,比传统lock free算法快N倍;更快并且完全线程安全的下一代智能指针(功能和接口类似于shared ptr,安全性好太多了,多处使用了RCU技术);更安全的可重入的mutex锁;比传统thread local ptr的实现快N倍的thread local...一大堆好用可靠的高并发的组件,都是按照多线程防御编程模式加固过的,是完全线程安全的,代码复杂度非常高,考虑的极端场景很多,动辄数千行源码,不仅比多数库的实现更快,而且更稳定。写多线程应用代码时,使用库调用标准接口,更容易写出又快又稳定的代码,普通程序员操心的事情也少了很多,统一多线程的使用方法,集中解决多线程问题,实现更高的性能。
总之,就是要动手去做,只有脏了自己的手,才能有更深的领悟,只有最终把技术转化为可随时调用的库,并且在实践中灵活运用,才算是真正掌握了。知易行难,动手去做吧。
我说几条:
多逛书店。多逛图书馆。多上china-pub。
要想搞笑,低俗是最快速的手段。
日本的志村健在三俗的路上走了快40多年了,
现在依然还是依靠这个维持人气的。
可是,一直依靠低俗笑料
迟早会遇到玻璃天花板的。
日本有个叫 快乐亭黑的混血,是说单口相声的,
说的全部都是下三滥的笑料,不是一点,而是全部。
结果就是没人敢找他上电视,广播,或者剧场演出。
翻过来说,保持一点三俗笑料不用,纯靠幽默和擦边球的相声演员,
依然不多。
而且要一直维持这种作品的风格是极其困难的。
侯老,马老就是典范。
(马老后期说的很多小段,其实就是外国笑话,当然是自己加工过的)
反过来说
七口人这个死杠死口 的内容
说了有一百年了吧?
不用解说大家不还是听的懂?