- 浏览: 218275 次
- 性别:
- 来自: 深圳
最新评论
-
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 1585因为常常被我莫名其妙地改变,导致我忘了,所以在这里做个备忘。要 ... -
GWT 2 Spring 3 JPA 2 Hibernate 3.5 教程(译)
2011-12-04 01:11 4372原文:http://www.javacodegeeks.c ... -
Eclipse 插件 links 方式的安装
2011-11-28 14:37 1025安装了 MyEclipse8 后,想安装 svn 插件,如 ... -
svn 使用备忘
2011-11-16 21:17 13341、svn 服务器地址改变后,subclipse 的修改方法( ... -
springsource-tool-suite-2.8.0 运行时报错
2011-11-02 01:11 1720刚才下载了:springsource-tool-suite-2 ... -
2011-11-02要阅读的文章
2011-11-02 00:41 1164用 sts 开发 spring3.0 的应用教程(英文版):h ... -
技术文章集(持续更新)
2011-10-10 09:57 1194《几种任务调度的 Java 实现方法与比较》:http:// ... -
java 免费空间
2011-03-04 23:32 1484找到一个免费的 java 空间,不知道多大,如果开通的话,需要 ... -
javamail 访问 21cn 邮箱
2010-12-27 18:56 9670问题: 自己用 javamail 开发的邮件客户端无法 ... -
java 访问 usb (一)
2010-12-23 15:31 4295java 要访问 usb 设备,通常要自己写c/c++代码,然 ... -
在表格中有滚动条,滚动条里有表格,导致表格变形的问题
2010-09-08 11:17 2286早上发现,昨晚更新客户网站的首页,首页头变形了。检查并测试后发 ... -
jboss 4.x 经常死机的解决办法
2010-08-17 15:40 2374前段时间,客户的服务器频繁死机,检查发现,可能是内存无法及时回 ... -
在springside 中关于null参数值的传递
2010-08-02 10:57 1802我用 springside3 开发时,在我的程序了用到了 树 ... -
eclipse wtp 服务器的参数的修改
2010-07-30 17:43 1056要修改 wtp 服务器的参数,只需在 server 视图里,双 ... -
Eclipse wtp 里发布web工程
2010-07-30 00:55 1376Eclipse wtp 里发布web工程后被部署在这里: E ... -
SpringSide3及多数据库
2010-07-02 16:23 1221最近在研究 springside 3,从中学到不少东西。 ... -
在win xp上安装cvs的防火墙设置
2010-07-01 11:25 1100在xp上安装好 cvs nt 后,需要打开 xp 防火墙。设置 ... -
eclipse Java EE平台使用指南
2010-06-30 20:43 2397一直都用MyEclipse,现在试了一下 eclipse ja ... -
Eclipse 3.6 狠不错
2010-06-30 16:18 1900Eclipse 3.6 发布一周了,今天尝试把其 jee ... -
这段时间的收获
2010-06-17 19:12 821这段时间,收获不错。以下是我的收获: 学会了 jqu ...
相关推荐
内容概要:本文提供了详细的MongoDB分片集群的搭建指导,涵盖了从环境准备、配置文件编写、副本集的建立、主节点的选择、配置服务器和数据分片服务器的配置到最后的路由节点的搭建与操作整个流程,以及对数据库的哈希与范围两种分片策略的应用介绍和具体命令执行。 适合人群:熟悉NoSQL数据库概念并对MongoDB有一定了解的技术人员,尤其是在大型数据管理和分布式数据库架构设计中有需求的开发者。 使用场景及目标:帮助技术人员掌握构建高效能、高可用性的MongoDB分片集群的方法,适用于处理大规模、实时性强的数据存储与读取场景。 其他说明:文中通过实例演示了每个步骤的具体操作方法,便于跟随文档实操,同时也介绍了可能遇到的问题及其解决方案,如在没有正确配置的情况下试图写入数据时出现错误等情况的处理。
CPPC++_嵌入式硬件的物联网解决方案blinker库与Arduino ESP8266 ESP32一起工作
CPPC++_逆向调用QQ Mojo IPC与WeChat XPlugin
CPPC++_现代活动指标
CPPC++_Xournal是一款手写笔记软件,支持PDF注释,使用C语言编写,支持GTK3,支持Linux,如Ubu
资源概述: 本资源提供了一套完整的学生实习管理系统解决方案,涵盖了前台小程序页面与后台管理系统两大模块。前台小程序页面设计简洁直观,用户可根据不同身份(学生或企业)进行登录。学生用户能够方便地浏览并投递感兴趣的实习岗位,而企业用户则能轻松发布实习信息,吸引优秀人才。后台管理系统功能全面,包括个人中心、首页、学生管理、教师管理、企业管理、招聘管理、评分管理以及实习管理等多个方面,为管理员提供了强大的数据管理和操作工具。 技术栈亮点: SSM框架:系统后台采用Spring、Spring MVC和MyBatis Plus(简称SSM)作为核心开发框架,确保了系统的稳定性、可扩展性和可维护性。Spring作为控制反转(IoC)和面向切面编程(AOP)的容器,为系统提供了强大的业务逻辑处理能力;Spring MVC则负责处理Web请求和响应,实现了前后端的分离;MyBatis Plus作为持久层框架,简化了数据库操作,提高了开发效率。 MySQL数据库:系统采用MySQL作为数据库存储解决方案,支持大数据量的存储和高效查询。 如有侵权请联系我删除,谢谢
微服务闪聚支付项目
博客链接 https://blog.csdn.net/weixin_47560078/article/details/143714557 文章从原理介绍出发,实现了 Rust 与 Java 的互调。利用 JNI 技术,可以充分发挥 Rust 的性能优势,同时保持 Java 的跨平台特性。这种技术组合适用于对性能要求较高的应用场景,如图像处理、数据分析和系统级编程等。
cppc++
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
分布式事务lcn
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
cppc++
安卓手机与电脑的socket通信源码
Anaconda:JupyterNotebook使用教程.docx
Amazon S3:S3静态网站托管教程.docx
Python商品销售数据分析可视化项目源码(期末大作业).zip,个人经导师指导并认可通过的98分大作业设计项目。主要针对计算机相关专业的正在做期末大作业设计的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业,代码资料完整下载可用。 Python商品销售数据分析可视化项目源码(期末大作业).zip,个人经导师指导并认可通过的98分大作业设计项目。主要针对计算机相关专业的正在做期末大作业设计的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业,代码资料完整下载可用。Python商品销售数据分析可视化项目源码(期末大作业).zip,个人经导师指导并认可通过的98分大作业设计项目。主要针对计算机相关专业的正在做期末大作业设计的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业,代码资料完整下载可用。Python商品销售数据分析可视化项目源码(期末大作业).zip,个人经导师指导并认可通过的98分大作业设计项目。主要针对计算机相关专业的正在做期末大作业设计的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业,代码资料完整下载可用。Python商品销售数据分析
CPPC++_wechathookWeChatApi微信Api微信hook微信接口python微信接口java微信Ap