条件编译 我们在源码中可以看到2个文件: main.go 和 main_x.go 这两个包名都是 package main , 都有 main 函数. 不会冲突么? 答案是不会的, main_x.go 文件中有个注释: // +build !darwin,!linux,!windows main.go 文件中注释如下: // +build darwin linux windows 这里来标示编译适用的不同环境.只有满足条件的才会被编译进去, 所以这里有2个 main 函数,编译并不冲突. 参考:…
MJRefresh是一款非常优秀的刷新控件.代码简洁,优雅.今天有时间对源代码阅读了一下.对MJRefresh的宏观设计非常赞叹.所谓大道至简就是这样吧.   MJRefresh所采用的主要设计模式非常简单,是类继承 + 模版方法设计模式. 所以子类也主要围绕着这几个模版方法和继承方法进行定制行为的.   模版方法设计模式: 由父类MJRefreshComponent定义方法接口并添加到执行步骤中,对象执行中,在特定时间一定会调用的方法.由子类在需要的时候进行自定义实现. 在MJRefreshC…
本文转载自:http://blog.csdn.net/luansxx/article/details/25203323 角色 l  服务 服务是提供特定功能的实体,接收请求,返回应答是服务直接最表现.大部分服务经过转换表现为文件(包括套接字)句柄.服务存在于Adb Server.Adb Daemon中,也可能存在于adb体系以外的某个进程中. l  客户端 客户端代表用户使用服务功能.客户端通过一系列数据转发连接与服务建立逻辑连接,方式请求,接收应答. l  报文(apacket) 客户端与服务…
本文转载自:http://blog.csdn.net/luansxx/article/details/25203269 ‘ Adb模块包括adb,adbd,源代码都在system/core/adb目录中. adb和adbd有很多代码是共享的,在不同的地方通过ADB_HOST编译宏隔开,ADB_HOST=1表示adb独有的代码. adbd是运行在Android设备上的服务程序,也称为Adb Daemon:adb则运行在PC主机上,并且有两种存在形式:Adb Server和Adb Client.另外…
目录 前言 9.1 IP协议简述 9.2 IP地址分类 9.2.1 私有地址 9.2.2 受限广播地址 9.2.3 直接广播地址 9.2.4 多播地址 9.2.5 环回地址 9.2.6 本地链路地址 9.2.7 本网络本主机地址 9.2.8 子网 9.2.9 NAT 概念 9.3 IP数据报 9.3.1 版本号字段 9.3.2 首部长度字段 9.3.3 服务类型(TOS:type of service)字段 9.3.4 总长度字段 9.3.5 标识字段 9.3.6 标志字段 9.3.7 分片偏移…
===================================================== HEVC源码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpeg的HEVC解码器源码简单分析:概述 FFmpeg的HEVC解码器源码简单分析:解析器(Parser)部分 FFmpeg的HEVC解码器源码简单分析:解码器主干部分 FFmpeg的HEVC解码器源码简单分析:CTU解码(CTU Decode)部分-PU FFmpeg的HEVC解码器源码简单分析:CTU…
1. 概述 LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题.除此之外,LinkedHashMap 对访问顺序也提供了相关支持.在一些场景下,该特性很有用,比如缓存.在实现上,LinkedHashMap 很多方法直接继承自 HashMap,仅为维护双向链表覆写了部分方法.所以,要看懂 LinkedHashMap 的源码,需要先看懂 HashMap 的源码.关于 HashMap 的…
版权声明:本文由晋中望原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/124 来源:腾云阁 https://www.qcloud.com/community 接上篇RxJava && Agera 从源码简要分析基本调用流程(1)我们从"1.订阅过程".“2.变换过程”进行分析,下篇文章我们继续分析"3.线程切换过程" 3.线程切换过程 从上文中我们知道了RxJava能够帮助我…
JUC同步器框架AbstractQueuedSynchronizer源码图文分析 前提 Doug Lea大神在编写JUC(java.util.concurrent)包的时候引入了java.util.concurrent.locks.AbstractQueuedSynchronizer,Abstract Queued Synchronizer,也就是"基于队列实现的抽象同步器",一般我们称之为AQS.其实Doug Lea大神编写AQS是有严谨的理论基础的,他的个人博客上有一篇论文<…
深入探讨Android异步精髓Handler 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Android多分辨率适配框架(3)- 使用指南 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onLayout源码详尽分析 自定义View系列教程04–Dra…