1.分析java类和接口的继承关系 具体做法: 在代码区中选择需要的类和接口定义,然后右击,选择“Open Type Hiberarchy”,可以在“Hiberarchy View”中看到继承关系 快捷键:[F4] 2.分析Java方法的调用关系 在代码区中选择相应的方法定义,然后右击,选择“Open Call Hierachy”,可以在“Call Hiberachy”视图中看到方法的调用关系,这里提供了一层一层的方法调用追溯功能,对查找方法的相互调用关系非常有用. 快捷键:[ Ctrl + A…
一.读源码,是选择"编译合并后"的呢还是"编译前的"呢? 有朋友说,读angular源码,直接看编译后的,多好,不用管模块间的关系,从上往下读就好了.但是在我看来,阅读编译后的源码至少有两点不好. 1.编译已经将所有的代码合并在一起了,这会丢失掉作者模块设计的思想,不利于理解代码架构的精髓,甚至想理解代码都很难. 2.编译合并后的angular代码有2万多行,想要看完,早已望而生畏.相反阅读编译前的代码,可以一个模块一个模块的逐个击破. 但是编译前的源码中的确文件一…
目录 Java 序列化和反序列化(三)Serializable 源码分析 - 2 1. ObjectStreamField 1.1 数据结构 1.2 构造函数 2. ObjectStreamClass 2.1 数据结构 2.2 构造函数 2.3 提取序列号:getDeclaredSUID 2.4 提取需要序列化字段:getSerialFields 2.5 其它方法 Java 序列化和反序列化(三)Serializable 源码分析 - 2 在上一篇文章中围绕 ObjectOutputStream…
angular的工具函数 在angular的API文档中,在最前面就是讲的就是angular的工具函数,下面列出来 angular.bind //用户将函数和对象绑定在一起,返回一个新的函数 angular.bootstrap //angular启动函数,一般不用,除了e2e测试 angular.copy //对象拷贝 angular.element //jQlite,作用类似于jQuery angular.equals //对象比较.用 == 对两个对象进行比较,除非他们是同一个对象的引用,否…
Eclipse关联源码 1.通常查看jdk的源码 1.悬浮在jdk的某class,右击点击Open Declaration 或F3,则调整其源码.如果没有关联源码,则会弹出: 2.点击“Attach Source”,选择jdk下的Src.zip 2.配置更多JRE源码 1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES" 2.编辑某jar包,如:rt.jar,然后点…
1.eclipse关联源码 步骤一:自已百度下载相应版本的源码,我这里是4.2也就是API=17的版本. 步骤二:找到你安装sdk的目录, G:\Program Files\adt-bundle-windows-x86\sdk\platforms\android-4.2 步骤三:在这个目录下新建一个sources的文件夹, 然后把解压出来源码放入进去 步骤四:找到项目android.jar, 然后--->properties--java source attachment---点External…
在同一个工作区下,依赖的Jar包如果既有GBK编码,又有UTF-8编码,就会出现的问题. 常规解决方法 1.切换工作区编码.麻烦,效率低. 2.设置Jar包编码,只有Eclipse4.2支持,4.0以下版本不支持,并且时行式不行,存在bug. 插件解决方法 插件在Eclipse浏览源码的编辑器上添加了菜单项,开发者可以指定具体的二进制编码来纠正乱码. 场景一:GBK编码的Jar包,在UTF-8编码的工作区下显示乱码,则只需要右键菜单Encode For GBK,或者按快捷键<Shift + Al…
Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以只能在Eclipse 搭建Solr的环境,折腾了一小时终于完成了. 1. JDPA远程调试 搭建换完成Solr环境后,对${TOMCAT_HOME}/bin/startup.sh 最后一行进行修改,如下所示: set JPDA_ADDRESS= exec "$PRGDIR"/"$…
Zepto源码分析(一)核心代码分析 Zepto源码分析(二)奇淫技巧总结 目录 * 前言 * 短路操作符 * 参数重载(参数个数重载) * 参数重载(参数类型重载) * CSS操作 * 获取属性值的方法 * 获取属性值的方法 * Boolean操作 * 快速转换成Boolean * 日期操作 * 快速获取时间戳 * 数组操作 * 数组去重 * 数组清洗(去除null和undefined) * 字符串操作 * 快速转换成字符串 * CSS命名方式转驼峰命名方式 * 驼峰转CSS命名方式 * 对象…
说明:Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的). (01) Set 是继承于Collection的接口.它是一个不允许有重复元素的集合.(02) AbstractSet 是一个抽象类,它继承于AbstractCollection,AbstractCollection实现了Set中的绝大部分函数,为Set的实现类提供了便利.(03) HastSet 和 TreeSet 是Set的两个实现类.  HashSet依赖于H…