文档章节

关于阅读框架源码后的一些敢想

timer_xi
 timer_xi
发布于 2014/08/18 17:08
字数 533
阅读 30
收藏 0

    记得之前做毕业设计的时候看过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++了,希望通过学习不同的语言,再进行对比进而深化自己对技术的认识。

本文出自 “陈砚羲” 博客,谢绝转载!

© 著作权归作者所有

timer_xi
粉丝 2
博文 53
码字总数 64113
作品 0
深圳
程序员
私信 提问
谈谈加速源码理解的几种方法

总结一一下本人在看Spring,SpringMVC,Tomcat,Mybatis,Druid,Log4j2等源码过程中的一些基本核心理念。知晓它们能加速你对源码的理解。 1. 拦截性接口和事件通知 在重要的过程上设置拦截接...

夫礼者
2017/12/10
0
0
Android开源架构

Android 常用三方框架的学习 Android 常用三方框架的学习 likfe/eventbus3-intellij-plugin AS 最新可用 eventbus3 插件,欢迎品尝 简单的 MVP 模型 简单的 MVP 模型 淘宝应对双 11 的技术架...

掘金官方
2017/12/25
0
0
令人生畏的源码,到底该怎样看?

一个软件开发人员,工作到了一定的年限(一般是3、4年左右),如果他还没学会阅读源码,那么他就会遇到瓶颈。因为到了这个时候的开发,他应该不仅仅只会做那些 CURD 的业务逻辑,而应该会根据...

技术小能手
2018/09/05
0
0
【超实用】面对枯燥的源码,如何才能坚持看下去?

一个软件开发人员,工作到了一定的年限(一般是3、4年左右),如果他还没学会阅读源码,那么他就会遇到瓶颈。因为到了这个时候的开发,他应该不仅仅只会做那些 CURD 的业务逻辑,而应该会根据...

陈树义
2018/08/28
0
0
【实用】面对枯燥的源码,如何才能看得下去?

一个软件开发人员,工作到了一定的年限(一般是3、4年左右),如果他还没学会阅读源码,那么他就会遇到瓶颈。因为到了这个时候的开发,他应该不仅仅只会做那些 CURD 的业务逻辑,而应该会根据...

技术小能手
2018/09/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部