`

java开源框架的源代码怎么读?

    博客分类:
  • JAVA
 
阅读更多
分析一个源代码,一个有效的方法是:

1、阅读源代码的说明文档,比如本例中的README, 作者写的非常的详细,仔细读过之后,在阅读程序的时候往往能够从README文件中找到相应的说明,从而简化了源程序的阅读工作。

2、如果源代码有文档目录,一般为doc或者docs, 最好也在阅读源程序之前仔细阅读,因为这些文档同样起了很好的说明注释作用。


说读开源框架的源代码对自己写程序很有帮助的,我不知道从那里下手



找一个你熟悉的项目,下回来源码,然后单步跟踪一遍,前题有一定基础,至少会单步跟踪调试对ide也得熟悉些,项目别选太大的,像apache里面的项目都还可以。一开始还是比较艰难的,时间长了就好了。



如同你看不懂高手过招一样。 还是一步一步的来吧。 先看一些基础知识,写一些东西,然后重点看自己用到的,或者即将用到的部分,这样提高效果会更好。



开始的时候是把源代码关联,有不明白的地方可以ctrl直接过去看。之后有一些积攒之后,可以去看开源项目中的闪亮的地方,比如Spring中的IOC。然后参照自己去实现一个简单的DEMO,之中可以参考一些资料。个人理解这样会比较快速的将一个项目中的一部分较为深入的了解。毕竟一个成熟的开源项目技术的积攒及范围都比较大。完全了解没有必要也没有可能。



我读Spring的经验。
从一个接口的使用方法入手,例如DI。先从网上找到其基本原理的文章,理解之后,找到生成实例的类的代码,然后一步步向下推。看到不认识的类就查查API看是干什么用的。
首先要搞清它大体的处理步骤,然后再去详细看每个类的具体内容。读代码,最忌从一开始就企图详细理解一个大工程的所有细节。先看大匡,然后再逐步掌握自己感兴趣的细节。



读代码的时候可以把框架的代码读取到IDE的工程中去,
例如,用Eclipse读代码,方便得很。
或者在开发中设定classpath时,把代码也带上,
如果遇到不知道接口怎么用的时候,直接看代码。
个人认为,多看例如JDK、Spring这样优秀的代码,对于掌握Java编程的精髓很有帮助。
初学者也不例外!


其实框架就是DB访问,画面显示,资源管理。
首先要知道你的框架的特点,也就是他的侧重点。
我看源代码喜欢全局搜索,一直找到Java自带的基础类。一条先走到黑。嗬嗬,挺笨的
不过建议先会用,熟练用,在研读。会快一些,少走弯路



不管是在校的学生还是刚参加工作的,都要从基础开始,把一些经典的基础问题搞明白了之后再去研究框架,其实感觉框架要先明白框架的总体,有时候不明白框架甚至看着源代码都不知道属于哪一类,引入也会产生问题,之后在去看源代码。最主要的是光看不行,要亲手做一下,即使是最简单的程序也要亲手做,如果是人家的程序照着手动敲一遍也会有很大的收获的



对于开源项目,我觉得从如下方面着手比较好:
1.了解有哪些基本功能与需求,把项目build之后使用,做简单的Demo.
2.了解整体项目的技术架构
3.熟悉它用的技术与知识面,并逐个掌握
4.从单个模块着手,调试代码,熟悉基基本的流程与业务
5.在不修改其源码的基础上做一些扩展开发的工作,为我所用
6.修改并优化其代码

源代码分两遍来阅读源码。第一遍以应用为线索,以总体结构为基础,阅读在应用中使用到的类和方法,但不用过深挖掘细节,对于嵌套调用,只用通过函数名了解最上层函数的意义,这一遍的目的在于把大致结构了然于心。第二遍就是阅读类和方法的实现细节,以第一遍的阅读为基础,带着疑问去阅读那些自己难以实现的模块。

先按官方文档使用该开源项目,在使用的过程中思考它的功能大概如何实现,再从源码中验证与完善你的思考。
分享到:
评论
1 楼 intelchina 2012-07-31  
真不错,,学习了。。

相关推荐

    JAVA开源量化交易程序开发框架源代码

    (Kotlin语言对Java语言和类库兼容性良好,且对于空指针更为安全) web管理服务被移除。(安全增强,技术堆栈精简) 启动服务器可通过参数决定是否同时启动管理GUI,GUI由JavaFX实现。(易用性增强) web交易页面被...

    java开源论坛源代码

    【Java开源论坛源代码】是一个基于Java编程语言开发的在线讨论平台,它的核心特性在于其开源性质,允许开发者深入理解论坛系统的运作机制,并可以根据实际需求进行定制化开发。这个论坛系统支持多种主流数据库,包括...

    JAVA上百实例源码以及开源项目源代码

    Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...

    猫影视源代码JAVA开源 Andriod studio 源代码工程文件 有能力可自行二开

    【标题】"猫影视源代码JAVA开源 Andriod Studio 源代码工程文件 有能力可自行二开"指的是一个基于Java编程语言开发的Android应用程序——猫影视的源代码项目。这个开源项目允许开发者查看、学习甚至修改源代码,以...

    基于Eclipse的开源框架技术与实战 源代码

    《基于Eclipse的开源框架技术与实战》源代码是一份涵盖了多章节的编程学习资源,主要针对使用Eclipse集成开发环境进行开源框架的应用和技术实践。由于文件量较大,该资源被分成了三个部分进行上传,其中包括了从第2...

    java jdk源代码

    通过阅读和理解这些源代码,开发者不仅可以学习到Java的设计原则,还能发现性能优化的技巧,甚至可以参与到开源社区,为Java的发展贡献自己的力量。对于有志于成为Java专家的人来说,这份源代码无疑是一本开放的教科...

    apache优秀Java开源项目源代码—— apache-roller!

    通过深入分析Roller的源代码,我们可以了解到Java Web应用开发的多个关键知识点,包括但不限于以下方面: 1. **MVC设计模式**:Roller采用Model-View-Controller(MVC)设计模式,这是一种将业务逻辑、数据处理和...

    JSF(java server faces)开源框架的源代码

    在你所拥有的"JSF(java server faces)开源框架的源代码"压缩包中,包含的是JSF 1.1版本的源码,这对于深入理解和学习这个框架有着重要的价值。 首先,让我们来看看JSF框架的基础结构和主要组成部分: 1. **组件...

    Java项目开源源码,共111个

    "Java项目开源源码,共111个" 本资源提供了111个Java项目的开源源码,涵盖了各种Java项目类型,包括Web开发、移动应用开发、桌面应用开发等。这些源码可以作为学习Java编程的参考资源,也可以作为实际项目开发的...

    Java考勤系统源代码

    src目录通常包含Java源代码、资源配置、视图模板等。在SSM项目中,src/main/java下存放业务逻辑和服务接口,src/main/resources存放配置文件如Spring和MyBatis的配置,而src/main/webapp则是Web应用的根目录,包含...

    Java源代码下载

    Java作为一个开源项目,Oracle公司提供了源代码供广大开发者研究和参考。 在给定的文件名列表中,我们看到几个关键的前缀,它们代表了Java标准库中的不同包: 1. **sunw**: 这个前缀在早期的Java版本中常见,主要...

    Java仙剑奇侠传源代码

    《Java仙剑奇侠传源代码》是一款基于Java J2ME平台开发的手机游戏,它再现了经典单机游戏《仙剑奇侠传》的世界观和游戏机制。J2ME,全称为Java Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备...

    Java全部源代码

    通过阅读源代码,我们可以了解到Java的API是如何实现的,比如对象的创建过程、集合框架的设计、I/O流的工作机制等。这对于优化代码性能、理解和解决遇到的问题,以及设计自己的库或框架都有极大的帮助。 首先,让...

    JAVA开源关键词提取框架

    WordCount-master可能是一个包含源代码的项目,其中包含了实现关键词提取的具体算法。开发者可以通过阅读和学习该项目的源码,了解关键词提取的实现细节,同时也可以根据自己的需求进行定制和扩展。 总的来说,Java...

    java的三大开源框架帮助路径

    - **简介**:Hibernate是一个开放源代码的对象关系映射(ORM)框架,它为开发者提供了一种将Java对象映射到数据库表的方法,极大地简化了数据持久化的复杂度。 - **帮助资源路径**: - 官方网站:...

    JAVA小区物业管理系统(源代码+论文).rar

    该系统包含了源代码和相关论文,为学习和理解Java应用开发提供了实践案例。 一、系统概述 该物业管理系统主要服务于小区日常运营,包括业主信息管理、物业费收取、设施报修、投诉建议处理、公告发布等功能。通过...

    Java开发项目基于SSM框架的管理系统源代码.zip

    Java开发项目基于SSM框架的管理系统源代码。基于SSM框架的管理系统 实现 登录 、 注册 、 增 、 删 、 改 、 查 ; 可继续完善增加前端、校验、其他功能等; 可作为SSM项目开发练习基础模型; 课程设计 、 毕业...

    20个Java开源项目源码下载

    在提供的"20个Java开源项目源码下载"压缩包中,包含了多个知名的Java项目,这些项目可以帮助开发者深入理解Java编程、软件架构以及特定领域的最佳实践。以下是这些项目的简要介绍: 1. **ExoPlayer-r2.18.5.zip**:...

    基于Eclipse的开源框架技术与实战 源代码第18-21章

    在本资源中,“基于Eclipse的开源框架技术与实战 源代码第18-21章”提供了关于使用Eclipse开发和应用开源框架的实践经验。这个资料主要涵盖了四个章节的内容,分别是第18章至第21章,旨在帮助开发者深入理解并熟练...

Global site tag (gtag.js) - Google Analytics