Java源码阅读的真实体会

Java源码阅读的真实体会

ID:41128326

大小:20.10 KB

页数:4页

时间:2019-08-17

Java源码阅读的真实体会_第1页
Java源码阅读的真实体会_第2页
Java源码阅读的真实体会_第3页
Java源码阅读的真实体会_第4页
资源描述:

《Java源码阅读的真实体会》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Java源码阅读的真实体会刚才在论坛不经意间,看到有关源码阅读的帖子。回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《CoreJava》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。虽然Tomcat的源码很漂亮,但我绝不建议你一开始就读它。我文中会专门谈到这个,暂时不展开。强烈的求知欲,我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上

2、就是这几个层次(很偏激哦):1、只关注项目本身,不懂就baidu一下。2、除了做好项目,还会阅读和项目有关的技术书籍,看wikipedia。3、除了阅读和项目相关的书外,还会阅读IT行业的书,比如学Java时,还会去了解函数语言,如LISP。4、找一些开源项目看看,大量试用第三方框架,还会写写demo。5、阅读基础框架、J2EE规范、Debug服务器内核。大多数程序都是第1种,到第5种不光需要浓厚的兴趣,还需要勇气:我能读懂吗?其实,你能够读懂的。耐心,真的很重要。因为你极少看到阅读源码的指导性文章或书籍,也没有人要求或建议你读。你读的过程中经常会卡住,而一卡主可能就陷进了迷宫。

3、这时,你需要做的,可能是暂时中断一下,再从外围看看它:如API结构、框架的设计图。我就说说如何读Java源码,以及我曾经的阅读感悟。Java源码初接触如果你进行过一年左右的开发,喜欢用eclipse的debug功能。好了,你现在就有阅读源码的技术基础。我建议从JDK源码开始读起,这个直接和eclipse集成,不需要任何配置。可以从JDK的工具包开始,也就是我们学的《数据结构和算法》Java版,如List接口和ArrayList、LinkedList实现,HashMap和TreeMap等。这些数据结构里也涉及到排序等算法,一举两得。面试时,考官总喜欢问ArrayList和Vecto

4、r的区别,你花10分钟读读源码,估计一辈子都忘不了。然后是core包,也就是String、StringBuffer等。如果你有一定的JavaIO基础,那么不妨读读FileReader等类。我建议大家看看《JavaInANutshell》,里面有整个JavaIO的架构图。JavaIO类库,如果不理解其各接口和继承关系,则阅读始终是一头雾水。JavaIO包,我认为是对继承和接口运用得最优雅的案例。如果你将来做架构师,你一定会经常和它打交道,如项目中部署和配置相关的核心类开发。读这些源码时,只需要读懂一些核心类即可,如和ArrayList类似的二三十个类,对于每一个类,也不一定要每个方

5、法都读懂。像String有些方法已经到虚拟机层了(native方法),如hashCode方法。当然,如果有兴趣,可以对照看看JRockit的源码,同一套API,两种实现,很有意思的。如果你再想钻的话,不妨看看针对虚拟机的那套代码,如SystemClassLoader的原理,它不在JDK包里,JDK是基于它的。JDK的源码Zip包只有10来M,它像是有50来M,Sun公司有下载的,不过很隐秘。我曾经为自己找到、读过它很兴奋了一阵。JavaWeb开发源码在阅读Tomcat等源码前,一定要有一定的积累。我的切实体会,也可以说是比较好的阶梯是:1、写过一些Servlet和JSP代码。注意

6、,不是用什么Struts,它是很难接触到Servlet精髓的。用好Struts只是皮毛。2、看过《Servlet和JSP核心编程》3、看过Sun公司的Servlet规范4、看过http协议的rfc,debug过http的数据包如果有以上基础,我也不建议你开始读Tomcat源码。我建议你在阅读Tomcat源码前,读过Struts源码,Struts源码比WebWork要简单得多。这个框架是可以100%读懂的,至少WebWork我没有100%读懂。我曾经因为读懂了Struts源码,自己写过一个Web框架。当然,在读Struts框架前,最好看过它的MailReader等demo,非常非常

7、不错的。如果你做过一些Struts项目,那么读它时就更得心应手了。在读Struts前,建议看看mvnforum的源码,它部分实现了Struts的功能,虽然这个BBS做得不敢恭维。如果你读过Struts,再开始考虑Tomcat源码阅读吧。不过,我还是不建议直接读它,先读读onJava网站上的系列文章《HowTomcatWorks》吧,它才是Tomcat的最最简易版。它告诉你HttpServletRequest如何在容器内部实现的,Tomcat如何通过Socket来接受外面的请求,你

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。