记得之前做毕业设计的时候看过status1的源码当时感觉挺简单的,不就是写几个xml配置文件然后在利用反射实例化成对象在执行相应的方法吗?当时以为自己好牛啊!以至于在学校做组合项目的时候自己自以为是的写了一个数据层的封装给组员使用,记得当时对外暴露的方法就是sql跟参数,庆幸的是组合项目完成后那个封装既然没出一点问题。
当自己现在再回过头去看status的源码的时候,感觉自己有些看不懂了。这两年也看了不少开源框架的源码像tomcat,heritrix,lucene,openfire,tigase,mina,netty,hadoop等,有些已经忘记了,看完这些源码给我的最大感觉就是对工作中没什么帮助,可能是自己还停留在应用层的层面,好多东西都是拿来即用,框架都给我们封装好了。虽然看了这些源码但是实际上还有不太懂的,就光拿最近在看的netty来说,虽然源码相对来说少一点,但是里面的知识层面太多了,现简单总结如下:
1:连接的可靠性保证机制
2:链路的有效性检测机制
3:Reactor的线程保护机制
4:linux epoll的死循环保护(JDK BUG)
5:内存保护机制
6:流量×××保护机制
给我的感触是,你停留在什么级别的技术就决定了你看出的知识的深度,我们要不断学习,不断把问题想彻底,而不是只是停留在表面。要把问题想清楚可能有时候要多学习一些新的知识,已达到相互连贯的效果,最近想去学习android跟C++了,希望通过学习不同的语言,再进行对比进而深化自己对技术的认识。