问题导读:
1.官网src包下载包,能否直接使用?
2.如何跟踪和查看hadoop源码?

此篇是从零教你如何获取hadoop2.4源码并使用eclipse关联hadoop2.4源码基础上的一个继续,上文其实已经把源代码下载下来了。下载之后,我们如何查看源码代码。

我们还是通过eclipse的导入功能,这里简略描述一下,详细可以查看零基础教你如何导入Java项目到eclipse中

1.导入查看hadoop源码
(1)选择Existing Projects into Workspace

<ignore_js_op>

(2)选择源码路径
<ignore_js_op>

(3)查看源码
<ignore_js_op>

这样我们就完成了全部的内容。

2.阅读hadoop源码

其中比较常用的
Open Call Hierarchy:
用Open Call Hierarchy可以查看方法的调用层次。如果想知道一个方法在别的什么地方被调用了,这个功能就很好用了,实际中也很常用,比如要重构一个方法时,想 知道他对其它什么地方可能有影响,就可以用这个功能。在方法名上点击右键,选择Open Type Hierarchy即可,快捷键是Ctrl+Alt+H。可以在Call Hierarchy窗口看到方法的调用层次的导航。

Open Type Hierarchy:
用Open Type Hierarchy可以查看类的继承关系,可以在Hierarchy窗口看到继承层次的导航。在方法或类名上点击右键,选择Open Type Hierarchy即可,快捷键是F4。

这里在演示一下:

<ignore_js_op>

看到下面代码
<ignore_js_op>

介绍完毕,这里在介绍一些其他的跟踪源码的方法:

1、 用Open Declaration可以查看类、方法和变量的声明。这是最常用的一个功能了,如果在要追踪的对象上点右键,选择Open Declaration,可以跳转到其声明的地方。这个功能有个快捷键是F3,当然你也可以按住Ctrl键,鼠标移过去会变成一个小手,单击就可以了。

2、用Open Super Implemention可以查看当前方法在父类中的实现或接口中的声明(前提是该方法是对父类或接口中相应方法的重写),在方法名上点击右键,选择Open Super Implemention即可。

3、 最后介绍一个超级好用的功能,叫Open Implemention,就是可以跳转到某个调用的方法的具体实现的地方去。为什么说这个是超级好用呢?用过Spring的人都知道,现在都提倡面向接 口编程,所以,如果使用Open Declaration来追踪一个方法的调用的话,只会看到该方法在接口中的声明,而看不该方法在具体类中的实现,当然,可以使用Call Hierarchy先得到该方法的整个的调用层次,然后再导航到具体的实现处,但操作有些麻烦了。有了Open Implemention,就可以直接看到实现的代码了,在方法名上点击右键,选择Open Implemention就可以了!只是要享受这个功能,可安装一个Eclipse插件,这里就不在详细介绍了。

最新文章

  1. Git时间(第一次写,这个怎么玩啊)
  2. tomcat
  3. [deviceone开发]-do_Dialog的基本使用示例
  4. Python基础教程【读书笔记】 - 2016/7/4
  5. C++ 11 笔记 (五) : std::thread
  6. FPGA知识大梳理(二)verilogHDL语法入门(1)
  7. html5 PACS漫谈
  8. 记2016商大ACM省赛
  9. 4.ElasticSearch的基本api操作
  10. java 修饰符的访问权限
  11. java接口变量问题
  12. SDK更新
  13. 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-8底层驱动之RTC
  14. java实现 HTTP/HTTPS请求绕过证书检测代码实现
  15. [Android] ACTION_GET_CONTENT与ACTION_PICK的区别
  16. mysql连接池模块
  17. 使用VSTS进行单元测试练习
  18. 安装配置php
  19. CF475C. Kamal-ol-molk&#39;s Painting
  20. go语言知识点

热门文章

  1. Mac 终端命令行报错 -bash: vi: command not found
  2. Apache 配置SSL网站
  3. Android实现布局控件自定义属性
  4. python使用tkinter做界面之颜色
  5. Ansible 小手册系列 四(详解配置文件)
  6. zen cart 空白页面的解决方案
  7. Django 中设置分页页码,只显示当前页以及左右两页
  8. LeetCode OJ:Maximal Square(最大矩形)
  9. Java基础拾遗(二)
  10. JMter参数化