前言Handler机制一直都是面试常问的一些知识点,如果想将其机制彻底弄懂,仍然需要花费不少的时间,但是想着准备面试,所以就想总结哈所有Handler机制可能会出现的考点。一是自己总结复写,而是给大家分享参考。 Android Handler机制之ThreadLocal Android Hand ...
Android 注解系列之Annotation(二)
注解基本概念注解(也称为元数据),为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。其中注解是总到引入到JAVA SE5的重要的语言变化之一。其可以提供用来完整的描述程序所需的信息,而这些信息是无法用Java表达的。因此,注解使得我们能够以将由编译器来测 ...
Android 注解系列之APT工具(三)
该文章中涉及的代码,我已经提交到GitHub上了,大家按需下载—->源码 前言在上篇文章Android 注解系列之Annotation(二)中,简要的介绍了注解的基本使用与定义。同时也提出了以下几个问题,当我们声明了一个注解后,是不是需要手动找到所有的Class对象或Field、Meth ...
Lambda表达式针对Java
我们都知道Java 8 支持Lambda表达式,但是平时开发中也很难用到这个东东,但是作为专业的程序员,技多不压身(其实我是在学Kotlin中,发现里面大量的运用到了Lambda表达式,看的我一脸懵逼,所以只好来学习学习,不然怎么出去装逼,怎么骚浪贱)。好,收,让我们来看看Lambda的前世今生。 ...
哈希表之HashMap(二)
在写这篇文章之前,看了很多关于HashMap解析的文章。对于大多数人来说,可了跟着别人的文章走一遍。大家都能了解HashMap的内部结构,使用方法以及注意事项。我还是觉得知道用是一回事。知道原理是另一回事。只有了解了其数据结构设计初衷。才能更好的使用它。此系列文章主要分为两个部分,具体目录如下: ...
LinkedList分析
上次我们分析了ArrayList,大家都已经了解了分析一个集合的步骤。那接下来,我们继续分析LinkedList。废话不不多说,直接整。 查看LinkedLis成员/** * 指针指向第一个节点 * 初始化: (first == null && last == null) || * ...
ArrayList分析
对于集合的源码分析,一般我会采用这几种方式 怎么添加元素? 怎么获取元素? 怎么删除元素? 内部数据结构实现? 话不多说,直接走起。 一.怎么添加元素一般我们通过ArrayList添加元素。一般会调用其构造方法,然后调用其对象的add方法 查看空参构造函数//Constructs an em ...
Java并发编程之锁机制之Condition接口(十)
前言在前面的文章中,我曾提到过,整个Lock接口下实现的锁机制中AQS(AbstractQueuedSynchronizer,下文都称之为AQS)与Condition才是真正的实现者。也就说Condition在整个同步组件的基础框架中也起着非常重要的作用,既然它如此重要与犀利,那么现在我们就一起去 ...
Java并发编程之锁机制之LockSupport工具(九)
关于文章涉及到的jdk源码,这里把最新的jdk源码分享给大家—–>jdk源码 前言在上篇文章Java并发编程之锁机制之AQS(AbstractQueuedSynchronizer)(八)中我们了解了整个AQS的内部结构,与其独占式与共享式获取同步状态的实现。但是并没有详细描述线程是如何进 ...