网络编程怎么学

1.网络编程怎么学?

我接手了前辈留下来的业务流程调度软件,需要和多台服务器上十多个软件进行网络通信,进行作业时间表的定时分发,设备和软件状态实时监视。
使用技术包括:消息中间件,多线程(包括定时器),网络通信(nio),公司自己研发的通信框架。
对于多线程和网络通信这一块的基础非常薄弱,仅仅停留在Java基础入门的认知上。所以,决心更加深入的了解网络通信和多线程这一块,后续继续学习Java虚拟机和并发编程。
我的学习方式:偏向于视频加书籍一起学。视频帮助我快速掌握重点概念,快速建立该领域的印象,书籍则更加系统全面。
暂定计划:白鹤翔的网络通信视频,《unix网络编程》《netty权威指南》《Java网络编程》。
原因:《netty权威指南》上面多种网络模型都有涉及到,尤其是java的nio,从历史一路讲来,打基础。
《unix网络编程》底层大概了解,不求精读,谁让底层是C语言呢,我不太感兴趣。
《Java网络编程》很全面,但是O’REILLY家的书有个问题,全书各种api的介绍,不是那种由浅入深,抓重点的入门书。个人觉得不怎么适合初学者。
另外找些日本图解系列的了解http,tcpip之类的。
ps:好吧,列的有点多,也不知道自己能不能按计划完成。好吧,学完一部分,就输出。回头再来看看。

你应该处于学习socket api阶段吧,其实这个阶段随便找本书看下就下,如果好奇心强烈,推荐看下unix网络编程,了解下更低层的知识,这块是逃不过的,会用api才是开始。下步就是学习reactor、proactor模式,当然理解就好,没必要自己去写,这时就知道为什么要用netty等框架。等框架用的顺手了,慢慢就理解到网络编程重点不在于socket api,而是线程模型,所以就开始深入研究多线程编程。。。再之后就是分布式。。。

作者:于龙
链接:https://www.zhihu.com/question/35219509/answer/62430173
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(java)