回到历史的起点

上周在网上买了三本书

深入理解计算机系统

the c programming language

和unix环境高级编程

 

初衷是为了能够希望这些书帮助我读懂tcp/ip协议详解 第二卷的实现部分.

因为unix的代码基本上都是c语言写的,另外还涉及到系统堆栈等底层结构.

 

后来发现当前工作中的内容很多都是和系统底层有关的,

例如 java的socket的数据缓冲区大小的设置,为什么1500byte是个比较恰当的数值.

java的tcp协议的数据传输是基于流的而udp是基于包的,为什么要这样设计和实现.

实际上这两个问题和java语言一点关系都没有,而是和网络协议和操作系统密切相关的.

为了写出更好的代码,就需要理解这些内容.

 

虽然现在自己的身份是java开发工程师,但是却对操作系统产生了很浓厚的兴趣.

大学时候虽然也学过c语言,汇编语言,计算机体系结构和操作系统.

但是那个时候怀着成为优秀j2ee工程师或者架构师的梦想,

对这些课程所了解的程度只是考试通过而已,

其中的操作系统好像还逃过进一半的课时,理由很简单不喜欢学院的教学态度.

现在回想一下,实际上是自己当时太任性,太轻浮.

现在又何尝不是能.

什么都期望能够速成,全世界的人都期望二十多岁就能获得事业上的成功.

记得不久前看了一本书,里面谈到

人们可以拥有相同的目标,但是不可能拥有相同的精神.

时常想起这句话,进行自勉.

 

要经历一个从无到有的过程,技术发展如此,个人成长也是如此.

总是有一些精神贯穿其中,起到推动的作用.

 

 

你可能感兴趣的:(数据结构,编程,unix,socket,网络协议)