概述 本文介绍了Flutter源码的获取与构建,后面会另有文章介绍Flutter源码的版本管理.开发环境搭建等主题. 准备工作 Flutter源码分为两个部分: flutter/flutter是框架层,为开发者提供各种接口,主要是dart代码. flutter/engine是引擎层,负责Flutter的渲染以及宿主的交互. 相关依赖的安装可参考官方文档:Setting up the Engine development environment · flutter/flutter Wiki.以我的…
ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类. ArrayList实现了Serializable接口,因此它支持序列化,能够通过…
转载请注明出处:http://blog.csdn.net/ns_code/article/details/37867985   前言:有网友建议分析下LinkedHashMap的源码,于是花了一晚上时间研究了下,分享出此文(这个系列的最后一篇博文了),希望大家相互学习.LinkedHashMap的源码理解起来也不难(当然,要建立在对HashMap源码有较好理解的基础上). LinkedHashMap简介 LinkedHashMap是HashMap的子类,与HashMap有着同样的存储结构,但它加…
前言 首先看看 JDK 文档的描述: 该类提供了线程局部 (thread-local) 变量.这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本.ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联. 每个线程都保持对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的:在线程消失…
博主看到新服务是封装的自定义异常,准备入手剖析一下,自定义的异常是如何进行抓住我们请求的方法的异常,并进行封装返回到.废话不多说,先看看如何才能实现封装异常,先来一个示例: @ControllerAdvice public class TstExceptionHandle{ @ExceptionHandler(Exception.class) public void myExceptionHandle(HttpServletResponse response){ response.setStat…
0x.00 前言 项目工程化系列文章链接如下,推荐按照顺序阅读文章 . 1️⃣ 源码剖析之工程化(一):项目概览.package.json.npm script 2️⃣ 源码剖析之工程化(二):项目构建.MD解析 3️⃣ 源码剖析之工程化(三):打包配置 本系列文章主要通过解析element项目源码,从结构.功能.源码方面逐一解析,学习其模块化.组件化.规范化.自动化等多维度优秀实践.主要内容包含项目结构.npm script.项目构建.文档解析.打包配置.发布部署等. 本文是第三篇,介绍项目的…
最初形态(工作中可能会使用) 引子 Django的CBV我们应该都有所了解及使用,大体概括一下就是通过定义类并在类中定义get post put delete等对应于请求方法的方法,当请求来的时候会自动对应相应的方法并执行,urls.py中需要类点as_view()的方式来配置路由,至于如何拿到请求方法并对应执行我们自定义类中的方法,前面的博客中已经有了源码解析,这里不再陈述~ APIView 我们写的类不再继承Django的View类而是继承rest提供给我们的APIView类,这里对于一个数…
Redis源码剖析和注释(一)---链表结构 Redis源码剖析和注释(二)--- 简单动态字符串 Redis源码剖析和注释(三)--- Redis 字典结构 Redis源码剖析和注释(四)--- 跳跃表(skiplist) Redis源码剖析和注释(五)--- 整数集合(intset) Redis源码剖析和注释(六)--- 压缩列表(ziplist) Redis源码剖析和注释(七)--- 快速列表(quicklist) Redis源码剖析和注释(八)--- 对象系统(redisObject)…
0x.00 前言 项目工程化系列文章链接如下,推荐按照顺序阅读文章 . 1️⃣ 源码剖析之工程化(一):项目概览.package.json.npm script 2️⃣ 源码剖析之工程化(二):项目构建.MD解析 3️⃣ 源码剖析之工程化(三):打包配置 前文对项目目录结构.package.json.npm script各命令任务内容和执行过程进行了概述.书接上文,build 目录下定义了许多项目构建脚本和配置(开发,打包,部署,持续集成). npm script各命令作为入口,会调用 buil…
老李推荐:第6章2节<MonkeyRunner源码剖析>Monkey原理分析-事件源-事件源概览-获取命令字串   从上一节的描述可以知道,MonkeyRunner发送给Monkey的命令是以字符串的形式交互的,那么事件处理的第一步当然是先去获得MonkeyRunner发送过来的字串命令了. 在事件源MonkeySourceNetwork初始化的时候构造函数会创建一个ServerSocket来监听来自客户端的链接和数据,但这个时候客户端并不能真正实现和服务端通信,因为该ServerSocket…