首页

Java源码阅读的真实体会

资源预览文档简介为自动调取,内容显示的完整度及准确度或有误差,请您下载后查看完整的文档内容。

1/5

2/5

剩余3页未读,查看更多内容需下载

Java 源码阅读的真实体会 <br />Java 源码阅读的真实体会 <br />  刚才在论坛不经意间,看到有关源码阅读的帖子。回想自己前几年,阅读源码那种兴奋 <br />和成就感(1),不禁又有一种激动。 <br />  源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。 <br />  说到技术基础,我打个比方吧,如果你从来没有学过 Java,或是任何一门编程语言如 <br />C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入 Java 虚拟机》 <br />这类书,别人觉得好,未必适合现在的你。 <br />  虽然 Tomcat 的源码很漂亮,但我绝不建议你一开始就读它。我文中会专门谈到这个, <br />暂时不展开。 <br />  强烈的求知欲,我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的 <br />态度,基本上就是这几个层次(很偏激哦): <br />  1、只关注项目本身,不懂就 baidu 一下。 <br />  2、除了做好项目,还会阅读和项目有关的技术书籍,看 wikipedia。 <br />  3、除了阅读和项目相关的书外,还会阅读 IT 行业的书,比如学 Java 时,还会去了解函 <br />数语言,如 LISP。 <br />  4、找一些开源项目看看,大量试用第三方框架,还会写写 demo。 <br />  5、阅读基础框架、J2EE 规范、Debug 服务器内核。 <br />  大多数程序都是第 1 种,到第 5 种不光需要浓厚的兴趣,还需要勇气:我能读懂吗?其实, <br />你能够读懂的。 <br />  耐心,真的很重要。因为你极少看到阅读源码的指导性文章或书籍,也没有人要求或建 <br />议你读。你读的过程中经常会卡住,而一卡主可能就陷进了迷宫。这时,你需要做的,可能 <br />是暂时中断一下,再从外围看看它:如 API 结构、框架的图。 <br />  我就说说如何读 Java 源码,以及我曾经的阅读感悟。 <br />  Java 源码初接触 <br />  如果你进行过一年左右的开发,喜欢用 eclipse 的 debug 功能。好了,你现在就有阅读源 <br />码的技术基础。 <br />  我建议从 JDK 源码开始读起,这个直接和 eclipse 集成,不需要任何配置。 <br />  可以从 JDK 的工具包开始,也就是我们学的《数据结构和算法》Java 版,如 List 接口和 <br />ArrayList、LinkedList 实现,HashMap 和 TreeMap 等。这些数据结构里也涉及到排序等算法, <br />一举两得。 <br />  面试时,考官总喜欢问 ArrayList 和 Vector 的区别,你花 10 分钟读读源码,估计一辈子 <br />都忘不了。 <br />  然后是 core 包,也就是 String、StringBuffer 等。 <br />  如果你有一定的 Java IO 基础,那么不妨读读 FileReader 等类。我建议大家看看《Java In <br />A Nutshell》,里面有整个 Java IO 的架构图。Java IO 类库,如果不理解其各接口和继承关系, <br />则阅读始终是一头雾水。 <br />  Java IO 包,我认为是对继承和接口运用得最优雅的案例。如果你将来做架构师,你一定 <br />会经常和它打交道,如项目中部署和配置相关的核心类开发。 <br />  读这些源码时,只需要读懂一些核心类即可,如和 ArrayList 类似的二三十个类,对于每 <br />一个类,也不一定要每个方法都读懂。像 String 有些方法已经到虚拟机层了(native 方法), <br />如 hashCode 方法。 <br />  当然,如果有兴趣,可以对照看看 JRockit 的源码,同一套 API,两种实现,很有意思的。 <br />  如果你再想钻的话,不妨看看针对虚拟机的那套代码,如 System ClassLoader 的原理, <br />它不在 JDK 包里,JDK 是基于它的。JDK 的源码 Zip 包只有 10 来 M,它像是有 50 来 M, <br />Sun 公司有下载的,不过很隐秘。我曾经为自己找到、读过它很兴奋了一阵。 <br />  Java Web 开发源码 <br />  在阅读 Tomcat 等源码前,一定要有一定的积累。我的切实体会,也可以说是比较好的 <br />阶梯是: <br />  1、写过一些 Servlet 和 JSP 代码。注意,不是用什么 Struts,它是很难接触到 Servlet 精髓 <br />的。用好 Struts 只是皮毛。 <br />  2、看过《Servlet 和 JSP 核心编程》 <br />  3、看过 Sun 公司的 Servlet 规范 <br />  4、看过 http 协议的 rfc,debug 过 http 的数据包 <br />  如果有以上基础,我也不建议你开始读 Tomcat 源码。我建议你在阅读 Tomcat 源码前, <br />读过 Struts 源码...

版权提示

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

文档下载

发布时间:2023-01-16 14:10:23 页数:5
价格:¥3 大小:30.00 KB
文章作者:U-63029

推荐特供

MORE