- 浏览: 218654 次
- 性别:
- 来自: 深圳
最新评论
-
lqixv:
abombhz 写道项目代码连接打不开,有的话发一份到我邮箱a ...
GWT 2 Spring 3 JPA 2 Hibernate 3.5 教程(译) -
abombhz:
项目代码连接打不开,有的话发一份到我邮箱abomb_hz@16 ...
GWT 2 Spring 3 JPA 2 Hibernate 3.5 教程(译) -
xiaokang1582830:
它直接抛出异常,无法定位是账号密码错误还是参数设置不正确... ...
javax.mail.AuthenticationFailedException: EOF on socket -
lqixv:
不再建议使用这个 tree。用 ztree 吧,ztree 是 ...
在xyTree中添加一个方法,用于获得所有已选择或部分被选择的node -
du_shu_lake:
贴主,请教一个xytree的问题,如果我从服务器向前台传数据, ...
在xyTree中添加一个方法,用于获得所有已选择或部分被选择的node
刚才读到了一篇推荐源码阅读的文章,不禁非常佩服那位牛哥。他3年时间读了很多的源码项目,让我不禁浮想联翩。我也介绍一下我个人读源码的一点体会。
我自己读过的是 ant 的源码,断断续续大约读了半年时间。从中我学到了非常多的东西,里面实在太多的东西值得回味!我是这样读的,先找到ant的入口,然后从主类开始阅读(其实主类非常简单的)。然后再从点到面,细细地往下读。对于自己想深入了解的,就进入接口内部,继续往下读。阅读的时候,我发现,ant 并没有我想象中的那么复杂,而是非常简单。给我的感觉是,你只要写过一些 java 程序,估计就差不多都能读懂。ant 的程序结构非常清晰,类名、方法名写的很好,你看类名和函数名,就知道它做了什么,注释也写得不错。有时候,有一些源码比较难懂,我就把那部分代码打印出来,一边阅读,一边标注,这样慢慢的也就搞懂了。不过,我也没有读全,只读了ant 的整体构架及部分细节,很多细节没有深入研究。原因是,我对我想了解的内容基本搞清楚了,对整体构架也能看得很清楚了,没必要或不想再了解其余部分细节了。其实,读 ant 的源码给我的感觉就像在读一颗树,先读根与主干,想深入,再读树枝,再想深入,最后就可以读到树叶,整体结构非常清晰。在阅读的过程中,如果你读到某根“树枝”了,不想继续深入读里面的“枝叶”了,就可以回来继续读其他的东西,也不影响你理解整棵“树”。因为 ant 的结构组织得非常合理,注释也写的很好,就不会像盲人摸象那样,一时象根柱子,一时象堵墙。因此读起来就感觉容易很多。
不过那篇推荐阅读源码的文章中介绍的那位牛哥,3年竟然读了很多的源码项目,让我佩服不已!不过也让我稍感疑惑,3年真的能阅读如此多的源码项目吗?于是,我妄自猜测,他可能是精读了一些个项目,而泛读了一些项目。我觉得这才比较合理一些。不过即使如此,也让人非常佩服了。其实,我个人觉得,看源码项目不需要多,只精读一两个,就已经足够你回味无穷了!其它的,只是泛泛读一部分,也可以了。
我也非常推崇大家去读一两个优秀的源码项目。其实读一些优秀的源码,并没有我们想象中的那么困难。尤其是你对其工作原理了解之后,读起来就更顺手一些。因为你只要去了解,这个项目是如何实现它所要实现的那些功能的,又是如何组织这个项目的,这样去组织这个项目有什么好处等等,这就差不多了。那样读过之后,即使没有读全,都会让人有非常大的收获!对个人能力的提高是非常有帮助的。
一点浅见,与大家共享。
评论
2、不要为读源码而读源码,,,
代码见多了,,写多了,自然,,到时候就能读懂了,,
同求传送门。
给学习J2EE的朋友一些值得研究的开源项目
http://miaoxiaodong78.blog.163.com/blog/static/187651362006111325440165/
应该是这篇
是的,就是这篇。
在看了一些回复,在这里给出两点建议:
1、建议刚开始阅读源码的时候,挑一些简单,但会使用的 源码项目 来读。我看有些朋友直接推荐去读 tomcat、去阅读 spring ,我不禁一头暴汗!原因是我个人觉得,这些东东太大了,可能不适合一般人阅读。举个例子,就像假如我说,爬山很好,上面空气清新。这时一位大牛过来说,兄弟,我推荐你爬珠穆朗玛,在上面不仅风光无限,而且你能体会到站在地球巅峰的感觉……
2、第二个建议是,建议读代码时,先从低版本的、功能相对单一一些的版本开始阅读。阅读完第一个版本后,通过版本比较工具(如 cvs 之类的),查找高一点的版本代码,做比对,看看作者做了哪些改进,同时最关键的是要思考,作者为什么要这么改(注意这一点特别特别重要)!最后,再看最新的版本。当在看完最新版本后,也许,你莫名会产生一个想法:“我是不是要造个轮子呢?……”
这两个建议只对普通人且之前没读过或很少阅读源码的人有效,不包括牛人。
另,感慨一下,俺只是个普通人 ,是个遇到困难可能就会放弃、遇到挫折可能会哭泣的普通人。只是见过些牛人后,不敢随便开口,所以只敢对一些和我差不多的普通朋友建议。我有个牛人兄弟,现在在淘宝里混的,在上学的时候,他学了2个月的汇编后,就直接去读 ms-dos 的3个启动文件了(那时还是dos 3.0 的时代),一个学期下来后,写了个病毒,当年最牛的杀毒软件 kv300,必须单独写一个专杀这个病毒的程序,才能杀他的病毒。2000年左右的时候,学了段时间 c/c++,然后又去把 apache 源码搞了个通透。对这些牛人,他们的专劲、他们的韧性,俺们只能仰望,心里小小地自卑了一把后,然后跟他们绝口不谈技术……嘿嘿
我想问一句,你同事退休了吗?或是还活着吗?
不过lz也该更进一步把那个牛人兄的链接一起送上啊。嘿嘿。。。
但是,我想搜的时候了,藕断丝连反反复复搜出了不少超级有用的东西:
全都说到一部分人包括我在内的心坎去了,
祛除浮躁,建立体系迫在眉睫呢。。。
看来“网络阅读”很重要啊,真该重视起来,难怪无头苍蝇一样乱撞的,收获甚微。
我先google“3年 读源码项目”,选第二个:
http://www.iteye.com/wiki/topic/854647
然后je里的zwchen牛的文章:
网络阅读,为什么人会浮躁?
http://www.iteye.com/topic/698774
觉得讲得真好,相见恨晚的感觉。
当然zwchen牛的很多文章都是挺不错的,上次那个求职经历尤为坎坷。详细可以去看他的博客。
特此分享。
谢谢这位兄弟发分享!!!我刚才跑到里面看了后不禁悔恨不已,自己在 je 时间也不短了,竟然还不知道他,实在应该早点去读他的博客的!
再一次说声多谢你的分享!!!
分开部分读比较好啊
去找一些代码去学学,日积月累就懂得多了。
同求传送门。
给学习J2EE的朋友一些值得研究的开源项目
http://miaoxiaodong78.blog.163.com/blog/static/187651362006111325440165/
应该是这篇
是的,就是这篇。
在看了一些回复,在这里给出两点建议:
1、建议刚开始阅读源码的时候,挑一些简单,但会使用的 源码项目 来读。我看有些朋友直接推荐去读 tomcat、去阅读 spring ,我不禁一头暴汗!原因是我个人觉得,这些东东太大了,可能不适合一般人阅读。举个例子,就像假如我说,爬山很好,上面空气清新。这时一位大牛过来说,兄弟,我推荐你爬珠穆朗玛,在上面不仅风光无限,而且你能体会到站在地球巅峰的感觉……
2、第二个建议是,建议读代码时,先从低版本的、功能相对单一一些的版本开始阅读。阅读完第一个版本后,通过版本比较工具(如 cvs 之类的),查找高一点的版本代码,做比对,看看作者做了哪些改进,同时最关键的是要思考,作者为什么要这么改(注意这一点特别特别重要)!最后,再看最新的版本。当在看完最新版本后,也许,你莫名会产生一个想法:“我是不是要造个轮子呢?……”
这两个建议只对普通人且之前没读过或很少阅读源码的人有效,不包括牛人。
另,感慨一下,俺只是个普通人 ,是个遇到困难可能就会放弃、遇到挫折可能会哭泣的普通人。只是见过些牛人后,不敢随便开口,所以只敢对一些和我差不多的普通朋友建议。我有个牛人兄弟,现在在淘宝里混的,在上学的时候,他学了2个月的汇编后,就直接去读 ms-dos 的3个启动文件了(那时还是dos 3.0 的时代),一个学期下来后,写了个病毒,当年最牛的杀毒软件 kv300,必须单独写一个专杀这个病毒的程序,才能杀他的病毒。2000年左右的时候,学了段时间 c/c++,然后又去把 apache 源码搞了个通透。对这些牛人,他们的专劲、他们的韧性,俺们只能仰望,心里小小地自卑了一把后,然后跟他们绝口不谈技术……嘿嘿
赞同此想法,因为我工作中就是这样干的,项目出问题的时候想读源码然后解决问题。
赞同,精力有限啊
像我,是先从tomca和spring开始的。一个代表了web server,一个代表了
应用框架。 两个框架都非常有代表性。我觉得想读的兄弟也可以从这两个入手,
花点时间读个大概,然后慢慢啃....
同求传送门。
给学习J2EE的朋友一些值得研究的开源项目
http://miaoxiaodong78.blog.163.com/blog/static/187651362006111325440165/
应该是这篇
同求传送门。
Spring其它源码,看你兴趣了,Spring-WS不错。
HSQLDB数据库方面的,相当不错,易理解。
P.S.读过的代码:Minix(OS), Tomcat...
+1
P.S.读过的代码:Minix(OS), Tomcat...
发表评论
-
eclipse 的关键字语法高亮的备忘
2012-04-04 10:03 1593因为常常被我莫名其妙地改变,导致我忘了,所以在这里做个备忘。要 ... -
GWT 2 Spring 3 JPA 2 Hibernate 3.5 教程(译)
2011-12-04 01:11 4377原文:http://www.javacodegeeks.c ... -
Eclipse 插件 links 方式的安装
2011-11-28 14:37 1028安装了 MyEclipse8 后,想安装 svn 插件,如 ... -
svn 使用备忘
2011-11-16 21:17 13351、svn 服务器地址改变后,subclipse 的修改方法( ... -
springsource-tool-suite-2.8.0 运行时报错
2011-11-02 01:11 1724刚才下载了:springsource-tool-suite-2 ... -
2011-11-02要阅读的文章
2011-11-02 00:41 1166用 sts 开发 spring3.0 的应用教程(英文版):h ... -
技术文章集(持续更新)
2011-10-10 09:57 1196《几种任务调度的 Java 实现方法与比较》:http:// ... -
java 免费空间
2011-03-04 23:32 1486找到一个免费的 java 空间,不知道多大,如果开通的话,需要 ... -
javamail 访问 21cn 邮箱
2010-12-27 18:56 9670问题: 自己用 javamail 开发的邮件客户端无法 ... -
java 访问 usb (一)
2010-12-23 15:31 4299java 要访问 usb 设备,通常要自己写c/c++代码,然 ... -
在表格中有滚动条,滚动条里有表格,导致表格变形的问题
2010-09-08 11:17 2290早上发现,昨晚更新客户网站的首页,首页头变形了。检查并测试后发 ... -
jboss 4.x 经常死机的解决办法
2010-08-17 15:40 2378前段时间,客户的服务器频繁死机,检查发现,可能是内存无法及时回 ... -
在springside 中关于null参数值的传递
2010-08-02 10:57 1806我用 springside3 开发时,在我的程序了用到了 树 ... -
eclipse wtp 服务器的参数的修改
2010-07-30 17:43 1060要修改 wtp 服务器的参数,只需在 server 视图里,双 ... -
Eclipse wtp 里发布web工程
2010-07-30 00:55 1381Eclipse wtp 里发布web工程后被部署在这里: E ... -
SpringSide3及多数据库
2010-07-02 16:23 1230最近在研究 springside 3,从中学到不少东西。 ... -
在win xp上安装cvs的防火墙设置
2010-07-01 11:25 1101在xp上安装好 cvs nt 后,需要打开 xp 防火墙。设置 ... -
eclipse Java EE平台使用指南
2010-06-30 20:43 2399一直都用MyEclipse,现在试了一下 eclipse ja ... -
Eclipse 3.6 狠不错
2010-06-30 16:18 1909Eclipse 3.6 发布一周了,今天尝试把其 jee ... -
这段时间的收获
2010-06-17 19:12 822这段时间,收获不错。以下是我的收获: 学会了 jqu ...
相关推荐
易语言源码易语言读WAP源码.rar 易语言源码易语言读WAP源码.rar 易语言源码易语言读WAP源码.rar 易语言源码易语言读WAP源码.rar 易语言源码易语言读WAP源码.rar 易语言源码易语言读WAP源码.rar
经过一段时间的Android编程学习后,写了这个比较综合的android阅读类的APP应用,附上了完整的源代码,源代码部分包括了阅读应用APP的源码,以及服务器程序,我给这个阅读小程序起名字叫做“指读”。这里的服务端数据...
易语言源码易语言缓存HTTP读文件源码.rar 易语言源码易语言缓存HTTP读文件源码.rar 易语言源码易语言缓存HTTP读文件源码.rar 易语言源码易语言缓存HTTP读文件源码.rar 易语言源码易语言缓存HTTP读文件源码.rar ...
易语言源码易语言对象读网页源码.rar 易语言源码易语言对象读网页源码.rar 易语言源码易语言对象读网页源码.rar 易语言源码易语言对象读网页源码.rar 易语言源码易语言对象读网页源码.rar 易语言源码易语言对象...
易语言源码易语言驱动判断内核内存是否可读源码.rar 易语言源码易语言驱动判断内核内存是否可读源码.rar 易语言源码易语言驱动判断内核内存是否可读源码.rar 易语言源码易语言驱动判断内核内存是否可读源码.rar ...
微信小程序——语音跟读(截图+源码).zip 微信小程序——语音跟读(截图+源码).zip 微信小程序——语音跟读(截图+源码).zip 微信小程序——语音跟读(截图+源码).zip 微信小程序——语音跟读(截图+源码).zip ...
易语言源码易语言端口读rs232源码.rar 易语言源码易语言端口读rs232源码.rar 易语言源码易语言端口读rs232源码.rar 易语言源码易语言端口读rs232源码.rar 易语言源码易语言端口读rs232源码.rar 易语言源码...
易语言源码易语言读QQ号模块源码.rar 易语言源码易语言读QQ号模块源码.rar 易语言源码易语言读QQ号模块源码.rar 易语言源码易语言读QQ号模块源码.rar 易语言源码易语言读QQ号模块源码.rar 易语言源码易语言读QQ...
易语言源码读网络时间验证易语言源码.rar 易语言源码读网络时间验证易语言源码.rar 易语言源码读网络时间验证易语言源码.rar 易语言源码读网络时间验证易语言源码.rar 易语言源码读网络时间验证易语言源码.rar ...
Python 使用Pandas实现数据库的读、写操作 Python源码Python 使用Pandas实现数据库的读、写操作 Python源码Python 使用Pandas实现数据库的读、写操作 Python源码Python 使用Pandas实现数据库的读、写操作 Python源码...
易语言源码易语言读TXT某段文本模块源码.rar 易语言源码易语言读TXT某段文本模块源码.rar 易语言源码易语言读TXT某段文本模块源码.rar 易语言源码易语言读TXT某段文本模块源码.rar 易语言源码易语言读TXT某段...
资源太大,分系列,其他系列详见我的资料 源码01 销售管理系统 源码02 彩票分析系统 源码03 餐饮管理系统 源码04 C#点名程序 源码05 象棋游戏 源码06 变色球游戏 源码07 多功能计算器 源码08 记事本 源码09 简易画图...
易语言源码易语言简单读写内存源码.rar 易语言源码易语言简单读写内存源码.rar 易语言源码易语言简单读写内存源码.rar 易语言源码易语言简单读写内存源码.rar 易语言源码易语言简单读写内存源码.rar 易语言源码...
订餐网,外卖网源码,带积分商城,商家系统,外卖网站建设! 系统特点: 周密策划、项目为先 "项目指导技术,技术服从项目",这是我们一贯秉承的原则,也是我们与其他系统开发商、网站建设公司的本质区别所在!我们...
ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh...
Bash源码的分析可以帮助我们理解它的内部机制,包括命令解析、变量管理、控制结构、函数定义以及与操作系统内核的交互方式。 源码文件通常包括头文件、主程序代码和辅助函数。在Bash源码中,我们可以看到诸如`...
易语言源码易语言文本高亮朗读源码.rar 易语言源码易语言文本高亮朗读源码.rar 易语言源码易语言文本高亮朗读源码.rar 易语言源码易语言文本高亮朗读源码.rar 易语言源码易语言文本高亮朗读源码.rar 易语言源码...