240 发简信
IP属地:北京
  • Lifecycle

    首先们要明确Lifecycle中两个枚举值,这两个枚举值和生命周期的状态有着直接关系,我们可以先记住,后面会看到使用的地方 下面我们先看下,我们...

  • ViewModel

    我们都知道ViewModel在配置更改的时候,可以保存数据而不被销毁,这是怎么做到的呢?今天我们来见证一下。 我们可以想一下,如果我们要自己实现...

  • Java-synchronized

    从代码入手,先看下代码 注意这里我们加锁的方式是同步代码块,然后反编译下class文件,看一下get方法 这里我们可以看到这两行,第3行moni...

  • Java-volatile

    JMM(Java内存模型) 首先我们看下执行a+b这个操作需要几步:1.从内存中取出a2.从内存中取出b3.执行a+bCPU读取一次内存的响应时...

  • Java-AbstractQueuedSynchronizer

    定义 队列同步器AbstractQueuedSynchronizer(以下简称同步器或AQS),是用来构建锁或者其他同步组件的基础框架,它使用了...

  • Resize,w 360,h 240
    Java-阻塞队列和线程池原理

    队列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一...

  • Resize,w 360,h 240
    Java-CAS

    原子性操作 原子即为不可再分的,原子操作即要么所有操作全部完成 要么全不完成。用synchronized包围的代码块或方法就是原子操作。对于线程...

  • Java-ThreadLocal

    定义 线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。ThreadLocal可以让每个线程拥有一个属于自己的变量的副本,不会和其他线程...

  • Resize,w 360,h 240
    Java死锁

    了解死锁之前,我们要先了解线程的状态,或者叫线程的生命周期。 线程的状态主要分为上图中的这几种状态,这里我们需要注意一下几点: 初始状态new出...