阅读源代码的重要性:如厨师选食材,耍厨具——在Eclipse中怎样查看Java、Android源代码
首先,非常多人说,不会看jdk中的源代码就不叫学过Java。显然这是肯定的。打个例如:真正的厨师须要从食材的选取、加工。到最后的烹饪、装盘成型,甚至到最后给用户介绍食用方法等一整套流程走下来。而实际上非常多厨师仅仅是做了当中的一小部分,所以最多也仅仅能叫得上“炒菜的”,而不是一个厨师。而非常多顶级餐厅强调选材,就是从源头上找到适合做某道菜的原料,甚至是反过来。得到一个供应链供应某种独特食材而专门为该材料设计某种烹饪技术。
这就是从头至尾的资源最大化利用。其体现创新及内功的地方贯穿整个流水线!
特别的。厨师也须要用到各种工具,假设他仅仅知道这工具能简单的干什么,而不知道其本身特性,那么必然不能将工具用到创新的场合和场景。
而我们在编程的时候,当然能够看着相应类的API说明文档进行使用。这就无异于别人提供好了材料,你去炒菜。
炒得好当然是没问题的。可是要炒得妙,炒得有味道,当然你还得去了解食材背后的意义。比方了解食材的含水量。了解食材的生长环境及不同烹饪条件下发生的属性的改变等等。这样,你发挥的余地就不会局限于某一个小块。
回到编程,在使用某个类的时候,假设能深入了解其源代码的实现方法。那在以后的使用中势必更为得心应手。甚至为了满足自己的某项特殊需求,能够重写源代码中的某一方法。甚至重写其源代码库。若能提供一种比现有的源代码库中更好的类,那自己创新的影响力就不单纯局限于一个应用、一套软件,而是造福了千千万万编程爱好者。
说了这么多,事实上自己从接触Java编程的这两三个月里。也还没真正看过源代码。今天上网找了下资料。尝试了一下:
首先,在Eclipse中进行例如以下操作:
1.点击 “window”-> "Preferences" 在弹出的左側浏览列表里选择-> "Java" -> "Installed JRES";
2.此时"Installed JRES"右边是列表窗格。列出了系统中的 JRE 环境,选择你的JRE(一般那里就一个)先选中它。然后点边上的 "Edit..."。 会出现一个窗体(Edit JRE);
3.选中rt.jar文件的这一项:“%JAVA_HOME_PATH%\java\jre_1.5.0_06\lib\rt.jar” 前面的路径是试你自己的安装路径而定的,主要看后面是“\lib\rt.jar”就能够了。点 左边的“+” 号展开它;
4.展开后,。点“Source Attachment:(none)”这一项。点右边的button“Source Attachment...”, 选择你的JDK文件夹下的 “src.zip”文件(通常是在jdk安装根文件夹下)。
然后一直点“finish”和“ok”就能够完毕源代码文件与Eclipse的链接;
那么,这时候在Javaproject中按下crl,然后点击相应的Java自带的类名,就会打开跳转到相应的源代码文件。
可是对于安卓开发人员,假设在安卓项目中,想用相同的方法打开安卓project中,jdk的Java类源代码。似乎就还是跳出那个无法连接到源代码的界面(至少我是这种)。原因应该是,在Javaproject中,Eclipse找其源代码文件是当然是在jdk连接的源代码文件中面找。而在安卓project中。Eclipse是会去Android SDK的文件夹下去找。所以还是找不到。这时候就要在Eclipse中建立其连接,使得在安卓project中除了能找到相应的Java源代码文件,还能找到安卓的源代码文件。
以下開始配置建立链接:
Activity类的源码:按着Ctrl键,左击它,现实的结果却看不到代码的,提示的信息便是“找不到Activity.class文件”。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2F5Y2FpcWk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
1、 此时点击以下的button,“Change Attached Source…”。这是跳出一个弹出框;
2、由于须要导入Android SDK根文件夹下的整个“sources”文件夹,所以须要点击弹出框的“external
Folder”。然后选择Android SDK 安装文件夹下的“source”文件夹。最后点击“OK”。假设弹出“operation
in progress.....”说明,成功了。完毕配置。
3、假设在Android
SDK安装文件夹下找不到“source”文件夹,须要启动Android SDK Manager进行源码下载。启动后,勾选source for Android sdk,然后点击右下角“installe package...”,完毕下载。(或者你也能够用其它方式下载:Android
4.4.2(API19)最新版API的源代码,然后存至本地,在上述步骤导入源代码目录的步骤。选择相应的下载包进行导入就可以)
4、至此,我们不管在Android project 还是Java project中用ctl加点击的方式打开我们想打开的类的源代码。都可打开跳转至对应的文件。
最后我们要的就是好好研究这些工具,特别是一些算法(如最经典的多种排序算法)。打开后有耐心地去研读其运行过程。必然收益良多!
阅读源代码的重要性:如厨师选食材,耍厨具——在Eclipse中怎样查看Java、Android源代码的更多相关文章
- Eclipse中导入JDK类库的源代码以及添加指定的API
一.在Eclipse中导入JDK类库的源代码 操作步骤: 打开eclipse->“window”-> “Preferences” -> “Java” -> “Installed ...
- 查看Eclipse中的jar包的源代码:jd-gui.exe
前面搞了很久的使用JAD,各种下载插件,最后配置好了,还是不能用,不知道怎么回事, 想起一起用过的jd-gui.exe这个工具,是各种强大啊!!! 只需要把jar包直接扔进去就可以了,非常清晰,全部解 ...
- 4.eclipse中导入别人用的源代码问题
最近在导入别人用的源代码问题时,出现两个问题: 问题一:提示无法解析导入,如下图: 解决方法:删除项目下的module-info.java文件即可,或者在创建项目时将创建module-info.jav ...
- 关于Eclipse中校验输入文件名的源代码
Eclipse中测试文件名的方法. 也没有单独的分操作系统.在Talend时解决一个在文本框中输入名字有Bug的一个问题,这个是Eclipse中解决输入名字,对名字校验的部分源码. public IS ...
- Eclipse中jar包关联JDK源代码
1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES"2.此 ...
- Eclipse中导入Hadoop源代码工程
以hadoop 2.7.3为例, jdk1.7.0_80 , Eclipse Mars(4.5), Apache Maven 3.0.5 mvn时需要使用root权限,即县切换到root用户,用命 ...
- 1、android源代码下载及目录分析,和eclipser的跟踪
1.在eclipse中跟踪源代码:假如对mainactivity.java里面的activity按Ctrl+鼠标左键(前提已经导入android源代码:方法1:在项目点击右键,然后找到properti ...
- 【转】如何单独编译Android源代码中的模块--不错
原文网址:http://blog.csdn.net//article/details/6566662/ 第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命 ...
- 点击类名方法名如何连接到相应的Android源代码
. 找到Android SDK所在路径 “D:\androidDev\android-sdk-windows\” . 在该目录下选择platforms到 “D:\androidDev\android- ...
随机推荐
- bzoj 1477 扩展欧几里德
思路:很裸的求相遇问题. #include<bits/stdc++.h> #define LL long long #define fi first #define se second # ...
- LOJ #6277. 数列分块入门 1-分块(区间加法、单点查询)
#6277. 数列分块入门 1 内存限制:256 MiB时间限制:100 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: hzwer 提交提交记录统计测试数据讨论 2 题目描述 给出 ...
- 转:攻击JavaWeb应用[2]-CS交互安全
转:http://static.hx99.net/static/drops/tips-164.html 攻击JavaWeb应用[2]-CS交互安全 园长 · 2013/07/08 14:54 注:本节 ...
- phpstorm如何进行文件或者文件夹重命名
1.phpstorm的重构 1.1重命名 在phpstorm中,右键点击我们要进行修改的文件,然后又一项重构,我们就可以进行对文件的重命名. 接下来点击重命名进行文件或者文件夹的重新命名. 在框中输入 ...
- JTree 常用方法
package com.swing.demo; import java.awt.Component; import java.awt.event.MouseAdapter; import java.a ...
- 丑数(LintCode)
丑数 设计一个算法,找出只含素因子3,5,7 的第 k大的数. 符合条件的数如:3,5,7,9,15...... 您在真实的面试中是否遇到过这个题? Yes 样例 如果k=4, 返回 9 挑战 要求时 ...
- 【HDU 3622】Bomb Game
http://acm.hdu.edu.cn/showproblem.php?pid=3622 二分答案转化成2-sat问题. 上午测试时总想二分后把它转化成最大点独立集但是不会写最大点独立集暴力又秘制 ...
- About 分块
分块的的复杂度是带根号的.... 然后,它是一种暴力算法 简单来说就是优化过的暴力 分块算法会对一个序列(长度为N)进行划分,每一块最多有K个元素,这样就会分为N/K块: 一般K取sqrt(N),那么 ...
- [BZOJ4818][SDOI2017]序列计数(动规+快速幂)
4818: [Sdoi2017]序列计数 Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 972 Solved: 581[Submit][Status ...
- [BZOJ2006][NOI2010]超级钢琴(ST表+堆)
2006: [NOI2010]超级钢琴 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 3679 Solved: 1828[Submit][Statu ...