今天看了一本高并发的书,感悟很深,万丈高楼平地起,还是基础要打牢。深深感触到平时的网络根本没有清晰的认知,socket连接,网络模型,没有清晰的认知,通过这本书我清晰的学习到了网络高并发的底层知识,最基本的网络模型,BIO、NIO、IO mutiplexing、AIO,四种网络模型。最近学习各种搜索,还是看这本书能清晰的认识了网络模型,最基本的底层过程,为以后学习高并发的组件打下了坚实的基础,Nginx、Redis、Netty等,都是基于反应器模式来的。
书中的底层解说很朴实,透彻,需要自己反复揣摩几遍方可参透本意,最后转化为自己的东西,就是能举例说明,用自己平时的所见所闻举例说明就可以了,那就是理解的算是不错了。个人理解就是四种模型跟买火车票类比,从最原始到现在智能化。
四个阶段(请多指教)
1、本人亲自过去排队买车票(Blocking IO BIO)
2、本人亲自过去找人代买车票( Non-blocking IO NIO)
3、本人打电话联系黄牛,自己不过去,黄牛代排队买票(黄牛给多人代买),自己过去拿票( IO Multiplexing )
4、本人打电话联系黄牛,自己不过去,黄牛排队买票后亲自送到你手上( Asynchronous IO AIO)
学习的过程就是尽量把抽象的知识联系到自己的经历上来,建立连接。
借用大师的话说,Doug lea(一位让人无限敬仰的大师,jcu包的主要作者之一),越是高水平的java代码,抽象的层次越高,到处都是高度抽象和面向接口的调用,大量用到设计模式。
推荐大家多读书,这是一本关于网络编程的书籍,高并发实战,希望都读书,站在巨人肩膀上。