William的小星球 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •     

Please-configure--Android-SDK

解决方法:
 2018-06-26   Android-Studio错误记录   

简易线程池

来自《Java并发编程的艺术》 一个简易的线程池的实现。三个类:ThreadPool线程池接口DefaultThreadPool线程池接口实现Worker工作线程 线程池的工作逻辑: 全部代码 package ConcurrencyArt; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.concurrent.atomic.AtomicLong; interface ThreadPool
 2018-06-20   java并发   

Future相关类解释

Future接口一个Future代表一个异步计算的结果。他提供了5个方法来确认计算是否完成,来等待异步任务的完成,来获取异步计算的结果。当计算完成,计算结果有且只能有通过get()方法来获取,并且会阻塞调用者线程直到异步计算的任务完成。取消只能通过cancel()方法。他提供了额外的方法来决定任务正常完成还是被取消。一旦一个计算任务完成,他将不再能够被取消。如果你要用Future是为了能够取消异步任务而不要他的返回结果,那么可以使用Future<?>并返回null作为异步任务的执行结果。 RunnableFuture接口表示一个可以run的Future, run方法的成功执行标识着
 2018-06-19   java并发   

Java线程池相关类解释,整理自Java文档

接口Executor:一个可以执行被提交的Runnable的对象。该接口提供了一种任务提交的解耦方案,体现在每个task如何运行,使用,调度等。Executor接口并不严格要求task的执行过程是异步的,在最简单的情况下,一个Executor可以直接将task放在调用者的线程中执行: class DirectExecutor implements Executor{ public void execute(Runnable r){ r.run(); } }但更常见的情况一般是:task会被放置在其他线程而非调用者线程执行。许多Executor接口的实现会给task如何以及何时被
 2018-06-19   java并发   

Android消息机制流程图,Handler,Looper,MessageQueue

 2018-06-13   Android   

Volley具体流程图(配代码)

只简要分析Volley大体原理,无细节,无Volley使用教程。 使用Volley时必要的两步: RequestQueue queue= Volley.newRequestQueue(context);1 queue.add(request); //request可以是StringRequest,ImageRequest,JsonRequestd等。第一步通过Volley.newRequestQueue(Context)初始化queue,第二步往queue中添加具体请求。 第一步 第二步 本地磁盘缓存==>Cache接口的实现类:DiskBasedCache Cache接口中定义
 2018-06-11   第三方库   

View简要工作原理

ViewRootImpl对象=>performTraversals() private void performTraversals() { //上下近800行代码。 performMeasure(); performLayout(); performDraw(); }private void performMeasure(int childWidthMeasureSpec, int childHeightMeasureSpec) { //mView是DecorView对象 mView.measure(childWidthMeasureSpec, childHeightM
 2018-06-10   View   

红黑树

没有删除功能。来自多方网络资料。 主要参考:https://zh.wikipedia.org/wiki/%E7%BA%A2%E9%BB%91%E6%A0%91如果天空不死:http://www.cnblogs.com/skywang12345/p/3624343.html#top package DataStructureAndAlgor; public class RBTree<T extends Comparable<T>> { private class Node { boolean color; T key;
 2018-06-04   算法   

单链表反转

public class SingleLinkedList { private class Node { private Node next; private int value; Node(Node next, int value) { this.next = next; this.value = value; } } private Node head; private Node last; private int size;
 2018-06-03   算法   

二叉堆

《数据结构与算法:java语言描述》源码 package DataStructureAndAlgor; import java.nio.BufferUnderflowException; /** * 由数组实现的堆,小根堆。 * <p> * 堆的定义: * 1. 堆中某个节点的值总是不大于或不小于其父节点的值(将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆) * 2. 堆总是一棵完全二叉树 * <p> * 当堆用数组实现: * 1. 位置0不放元素,从位置1开始放。 * 2. 数组任一位置i上的元素,左子树在位置2i,右子树在
 2018-06-02   算法   
1…89101112…21

搜索

Hexo Fluid