自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ScheduledThreadPoolExecutor原理源码解析

java线程池定时任务实现原理解析

  • 博客(19)
  • 收藏
  • 关注

原创 Android组件化之模块解耦和通信

针对Android组件化,组件间解耦和通信而创建的一个轻量级的框架

2016-12-22 20:07:26 11671 8

原创 Android构建流程(Android Plugin)源码解析系列一:主流程

Gradle系列之Groovy基础 Gradle系列之Gradle基础 Gradle系列之自定义插件 Android构建流程(Android Plugin)源码解析系列一:主流程前言首先,不了解groovy语言,gradle基础以及编写gradle插件基础的,请先前往这个系列之前的文章补充基础,不然下面看起来会吃力。 本篇文章会从android编译插件的源码进行分析然后得出其工作原...

2018-02-07 17:27:51 1508

原创 ScheduledThreadPoolExecutor原理源码解析

前言ScheduledThreadPoolExecutor是用于处理定时任务的线程池,它继承ThreadPoolExecutor,拥有线程池的基础功能;而其定时处理的能力是来自于它定义的任务阻塞队列DelayedWorkQueue。通过上一篇文件得知线程池的运行原理,以及任务队列的作用,想要了解的可以移步线程池ThreadPoolExecutor原理解析ScheduledThreadP

2018-01-31 16:43:14 551

原创 java线程池ThreadPoolExecutor源码解析

前言线程池是我们工作中经常会用到的,但是能高效、准确地使用它却不容易。下面会通过原理和源码来分析线程池的工作原理。ThreadPoolExecutor原理分析ThreadPoolExecutor构造函数参数说明 public ThreadPoolExecutor(int corePoolSize, int

2018-01-30 14:37:47 402

原创 Gradle系列之自定义插件

Gradle系列之Groovy基础 Gradle系列之Gradle基础 Gradle系列之自定义插件 Android构建流程(Android Plugin)源码解析系列一:主流程什么是插件插件,我们都很容易理解,它就是一个工具,帮助我们执行某个功能。gradle的插件就是在gradle编译的过程中执行特定业务的工具。gradle中的插件很常见,我们开发Android应用的时候,都会用...

2018-01-08 20:55:36 618

原创 Gradle系列之Gradle基础

Gradle系列之Groovy基础 Gradle系列之Gradle基础 Gradle系列之自定义插件 Android构建流程(Android Plugin)源码解析系列一:主流程gradle的工作流程gradle工作流程分为三步Initialization : 这个阶段,主要是会分析哪些module将被构建。这个时候又一个很明显的操作就是这个阶段会解析settings.grad...

2018-01-08 01:55:18 1066

原创 Gradle系列之Groovy基础

Gradle系列之Groovy基础 Gradle系列之Gradle基础 Gradle系列之自定义插件 Android构建流程(Android Plugin)源码解析系列一:主流程数据类型groovy中没有基本数据类型,它任务任何事物都是对象;它会将基本数据类型包装成其对应的包装类型 groovy中容器类List: 其底层对应java的List接口,一般用Arra...

2017-12-25 16:10:58 403

原创 Dex文件内容解析APK相关信息

Dex文件格式我们都知道Android项目在构建的时候,会将class文件的jar包通过dx工具将其转化成dex文件,目的是将所有的class文件整合到一个dex文件中,这样的目的是降低冗余,因为每个class的数据格式都相同,dex通过将相同的内容方法一起,使文件结构更加紧凑。 通过上图可以看出,dex文件将方法信息、字段信息、类型信息等都相同的信息都放到了一起,从而省下很多空间。 Dex

2017-12-07 16:01:32 533

原创 java多线程任务队列模型

此篇文章将从任务队列的设计;任务调度的方式(串行和并行)。代码很简单,主要是设计的思想。任务队列final class PendingPostQueue { // 含有头、尾指针的链表结构实现队列 private PendingPost head; private PendingPost tail; // 入队列 synchronized void enqueu

2017-09-10 21:12:35 4127 1

原创 微信分享详解

微信分享的接入步骤1.申请测试账号微信官方文档提供了测试账号 接口测试账号申请; 当然也可以申请自己订阅号,但是个人公众号没有分享的接口权限,测试账号是有的(但是测试账号在真机上分享过程都是正确的,但是分享出去的内容是错误;但是在微信提供的测试工具上是正确的)。所以只有企业订阅号才能在真机上真正的分享成功,因为这要收钱嘛,不然我拿着这个测试账号的appid和appsecret就可以用了。2.设置j

2017-08-10 17:14:14 2159

原创 微信分享实践和踩坑实践

微信分享的接入步骤1.申请测试账号微信官方文档提供了测试账号 接口测试账号申请; 当然也可以申请自己订阅号,但是个人公众号没有分享的接口权限,测试账号是有的(但是测试账号在真机上分享过程都是正确的,但是分享出去的内容是错误;但是在微信提供的测试工具上是正确的)。所以只有企业订阅号才能在真机上真正的分享成功,因为这要收钱嘛,不然我拿着这个测试账号的appid和appsecret就可以用了。2.设置js

2017-08-03 16:42:28 767

原创 mint-ui swipe组件源码解析

前叙mint-ui组件库中swipe组件,实现的是常见的轮播图效果。但是它的实现方式,和常见的实现有所不同。 常见的实现方式: 通过移动轮播图的wrapper来实现item的切换效果(也就是修改wrapper的translate3d属性来实现)。如果支持循环播放,需要在首部插入一个最后一个轮播图item的clone版,以及在尾部插入一个第一个轮播图item的clone版。 swipe组件实现的方

2017-06-22 15:54:38 21810

原创 Vue-lazyload原理详解之源码解析

前叙本来想要研究mint-ui组件库的Lazy load组件,没想到翻看它的源码,发现它完全引用的vue-lazyload项目,直接引用,没有丝毫修改。 因此转而研究vue-lazyload,代码并不多,几百行吧,有兴趣的可以读一下。简单接入示例html代码:<div id="app"> <li v-for="img in imgList"> <img v-lazy="im

2017-06-19 21:18:43 20219 1

原创 vue mint-ui源码解析之loadmore组件

接入官方接入文档mint-ui loadmore文档接入使用Examplehtml<div id="app"> <mt-loadmore :top-method="loadTop" :bottom-method="loadBottom" :bottom-all-loaded="allLoaded" :max-distance="150" @top-sta

2017-06-08 12:04:55 14684 9

原创 vue muit-ui infinite-scroll源码解析

infinite scroll基本使用vue的mint-ui的infinite scroll的基本使用地址:infinite-scroll接入指南. 简单解释一下: 1、指令接受的method:处理loadmore回调 2、自定义属性infinite-scroll-disabled:为false时:不会进行是否到达底部的判断,因此就触发不了loadmore回调 3、自定义属性infinite

2017-05-22 19:24:59 11265

原创 Vuejs中nextTick()异步更新队列源码解析

vue官网关于此解释说明如下:vue2.0里面的深入响应式原理的异步更新队列 官网说明如下: 只要观察到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据改变。如果同一个 watcher 被多次触发,只会一次推入到队列中。这种在缓冲时去除重复数据对于避免不必要的计算和 DOM 操作上非常重要。然后,在下一个的事件循环“tick”中,Vue 刷新队列并执行实际(已去重的)工作。

2017-05-18 21:13:47 4303

原创 Android中ClassLoader源码解析之真的是你认为的ClassLoader

1.前言首先,阅读本文章之前,需要了解java中的ClassLoader的基本原理,包括java中的三级ClassLoader机制以及ClassLoader的委托机制,否则下面的内容会不知道在讲什么。虽然Android中的ClassLoader也是遵循其委托机制,但是他没有遵循java的三级ClassLoader机制,而是自己造了一个,修改了java系统的代码,如果将两者混淆的话,在Andro

2016-09-19 16:54:52 3963 2

原创 CoordinatorLayout源码解析,探索Behavior机制的奥秘

1.文章内容概述本文主要是针对Behavior的运作机制,通过对CoordinatorLayout的源码中对此Behavior的执行过程进行分析,得出其运行原理。本文主要是针对behavior的layout child的方式,touch事件的处理,以及内嵌滑动事件的处理进行重要分析。2.阅读本文前的准备工作关于内嵌滑动,这是在android5.0之后google提出的,并且在suppo

2016-07-25 21:20:32 2653 1

原创 Android-Universal-Imageloader源码完全解析

现在网上对此Imageloader图片加载的开源框架的解析有好多文章,有好多只是简单分析它的实现,此篇文章是通过自己对其源码的分析,对它的实现方式进行分析,针对它用到的重点知识点进行重点介绍,以及自己对于此框架的理解。下面的分析从以下两个方面进行分析。Imageloader的初始化Imageloader加载图片的实现方式分析1.Imageloader的初始化Imageloader是

2016-07-06 17:02:32 2472

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除