240 发简信
IP属地:广东
  • 什么是线程池?为什么要使用线程池?如何使用?

    1. 什么是线程池? 线程池其实就是将多个线程对象放到一个容器当中。 2. 为什么使用线程池? 可以重用线程,减少创建和销毁线程带来的消耗。 3...

  • Random 种子的作用

    1. 简介 Random 有两个构造方法: 其实第一个无参构造方法会默认以当前时间作为种子。那么什么是种子呢? 先来看看 Random 的 ne...

  • 什么是线程安全性?

    1. 定义 线程安全性最重要的概念就是正确性,而正确性的意思就是这个类表现的行为要和我们的期望的行为是一致的。 这个定义可能还会有些模糊,以下用...

  • Semaphore 使用详解

    1. Semaphore 是什么? Semaphore 字面意思是信号量的意思,它的作用是控制访问特定资源的线程数目。 2. 怎么使用 Sema...

  • CyclicBarrier 使用详解

    1. CyclicBarrier 是什么? 从字面上的意思可以知道,这个类的中文意思是“循环栅栏”。大概的意思就是一个可循环利用的屏障。 它的作...

  • CountDownLatch 使用详解

    1. CountDownLatch 是什么? 从这个类的字面意思来入手,CountDown 是倒计时的意思,Latch 是门栓的意思,加起来的意...

  • Resize,w 360,h 240
    Android 事件分发(1)—— 基本概念与流程

    1. 什么是事件分发? 因为 Android 的各个 View 是层层重叠的,那么当在如下图的位置点击时,这个点击事件究竟要给谁处理呢? 这个时...

  • Resize,w 360,h 240
    LruCache 使用及原理

    1. LruCache 是什么? 要搞清楚 LruCache 是什么之前,首先要知道 Android 的缓存策略。其实缓存策略很简单,举个例子,...

  • Activity 必知必会

    1. Activity 的生命周期 1.1 分类 在讲解生命周期的方法之前,先放上这张官方的图: 这张图片讲述了 Activity 的回调的方法...

个人介绍
一个对所有事都很好奇的程序员