序言:上一节说了阅读源码的顺序,有了一个大体的方向,咱们就知道该如何下手.接下来,就要搭建一个方便阅读源码及debug的环境.有助于跟踪源码的调用情况. 目前新开发的项目, 大多数都是基于JDK1.8开发,所以我选择该版本进行源码分析. JDK1.8版本号:jdk1.8.0_151 一. JDK1.8的src在哪里? 找到JDK安装包所在目录,会看到src.zip的压缩包,这里面就是JDK的源码,如下图. 二. idea搭建步骤 01. 新建一个简单的Java工程 打开idea,菜单栏File…
作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com 毕竟是边读边写,不对的地方请告诉我,多多交流共同进步.本章还未写完,完了会提交PDF. 前记: 想系统的好好写写,但是会先从感兴趣的部分开始. 近期有读者把PDF传到了百度文库上,首先感谢转载和传播,但是据为已有并设置了挺高的财富值才能下载就不好了,以后我整理好了会传到文库上.请体谅一下. 3. 构造jQuery对象 3.1        源码结构 先看看总体结构,再做分解: (function(…
3. 构造jQuery对象 3.1源码结构 先看看总体结构,再做分解: (function( window, undefined ) { var jQuery = (function() { // 构建jQuery对象 var jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context, rootjQuery ); } // jQuery对象原型 jQuery.fn = jQuery.…
前置依赖组件安装 找一台服务器,或者本地的虚拟机,然后在服务器上安装好jdk,zookeeper,mysql. 1.源码调试环境搭建 源码环境搭建可以参考DolphinScheduler官方网站的开发者指南. ---------------------引用自官方网站的开发者指南--------------------- 准备工作 首先从远端仓库fork dolphinscheduler 一份代码到自己的仓库中 在开发环境中安装好MySQL/PostgreSQL.JDK.MAVEN 把自己仓库cl…
目录 一.NIO 三大组件 Channels.Buffers.Selectors 1.1 Channel 和 Buffer 1.2 Selector 1.3 Linux IO 和 NIO 编程的区别 二.BIO 和 NIO 的区别 2.1 BIO 面向流,NIO 面向缓冲区. NIO 源码分析(03) 从 BIO 到 NIO Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) 一.NIO 三大组件 Channels.Buff…
Tomcat源码分析一:编译Tomcat源码 1 内容介绍 在之前的<Servlet与Tomcat运行示例>一文中,给大家带来如何在Tomcat中部署Servlet应用的相关步骤,本文将就上文为基础,开始Tomcat源码分析之旅,我将详细的分析Tomcat的启动过程及运行原理.本文将是最基础的一节课,也就是本地编译好Tomcat源码,为后面的分析做基础! 2 编译Tomcat源码 2.1 下载Tomcat源码 我们去Tomcat官网下载最新的Tomcat源码包,目前最新的版本为9.0.26,我…
一:aar文件如何引用 系统Settings中引用bidehelper-1.1.12.aar 文件为例 源码地址:packages/apps/Settings/Android.mk LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := \ $(call all-logtags-files-under, src) LOCAL_MODULE := settings-logtags include $(BUILD_ST…
1.HashMap的底层实现图示 如上图所示: HashMap底层是由  数组+(链表)+(红黑树) 组成,每个存储在HashMap中的键值对都存放在一个Node节点之中,其中包含了Key-Value之外,还包括hash值(key.hashCode()) ^ (h >>> 16)) 以及执行下一个节点的指针next. 2.HashMap源码分析 2.1 重要常量 public class HashMap<K,V> extends AbstractMap<K,V>…
一.安装git客户端 1.windows环境推荐使用TortoiseGit. 官网地址:http://tortoisegit.org 下载地址:http://tortoisegit.org/download/ 安装过程:略 2.采用deb包的系统,如ubuntu sudo apt-get install git 3.采用yum的系统,如centos sudo yum install git 4.源码编译安装: wget https://github.com/git/git/archive/mas…
  前面两篇文章分析了super(this)和setConfigLocations(configLocations)的源代码,本文来分析下refresh的源码, Spring加载流程源码分析01[super] Spring加载流程源码分析02[setConfigLocations] 先来看下ClassPathXmlApplicationContext类的初始化过程: public ClassPathXmlApplicationContext(String[] configLocations, b…