- 博客(7)
- 资源 (19)
- 收藏
- 关注
原创 Activity生命周期的坑
activity中返回时没有执行onDestroy,怎么回事A进入到B后,再马上返回到A,马上再进入B,这其中,B马上返回时还没有执行onDestroy,再进入B时,执行了onCreate后,又把上面的onDestroy执行了;如果是正常的速度,B返回时会执行onDestroy这个应该没啥影响吧。1.进入B后马上返回时,如果速度够快,可能B的onDestroy还没来得及走。
2017-09-26 15:50:00 302
原创 Future和Callable、FutureTask实现,带有返回值的线程请求
通过ExecutorService.submit()方法提交的任务,可以获取任务执行完的返回值。在实际业务场景中,Future和Callable基本是成对出现的,Callable负责产生结果,Future负责获取结果。1、Callable接口类似于Runnable,只是Runnable没有返回值。2、Callable任务除了返回正常结果之外,如果发生异常,该异常也会被返
2017-09-08 18:37:49 1949
原创 同步队列
AQS 依赖内部的同步队列(一个 FIFO的双向队列)来完成同步状态的管理,当前线程获取同步状态失败时,同步器会将当前线程以及等待状态等信息构造成一个节点(Node)并将其加入同步队列,同时会阻塞当前线程,当同步状态释放时,会把队列中第一个等待节点线程唤醒(下图中的 Node1),使其再次尝试获取同步状态。同步队列的结构如下所示:Head 节点本身不保存等待线程的信息,它通过 next
2017-09-06 17:35:21 1242
原创 CAS操作
一、简述CAS(Compare and Swap),比较并交换,通过利用底层硬件平台的特性,实现原子性操作。CAS 操作涉及到3个操作数,内存值 V,旧的期望值 A,需要修改的新值 B。当且仅当旧的期望值 A 和 内存值 V 相同时,才将内存值 V 修改为 B,否则什么都不做。CAS 操作类似于执行了下面流程if(oldValue == memory[valueAddress]){
2017-09-06 14:33:42 617
原创 java数据结构与算法-高级排序-堆排序
一、堆排序是一种树形选择排序,是对直接选择排序的有效改进。 堆的定义如下:具有n个元素的序列(k1,k2,...,kn),当且仅当满足 时称之为堆。由堆的定义可以看出,堆顶元素(即第一个元素)必为最小项(小顶堆)。若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的。如: (a)大
2017-09-04 11:15:32 290
原创 java数据结构与算法-2-3-4树
一、2-3-4树特点:1、每个节点最多可以存三个数据项;2、对于非叶节点:有一个数据项的节点总是有两个子节点;有两个数据项的节点总是有三个子节点;有三个数据项的节点总是有四个子节点; L:表示子节点个数 D;表示数据项个数 针对非叶节点:L=D+1 子节点个数=数据项个数+1; 3、插入数据时数据总是插入在叶节点
2017-09-01 10:53:03 378
原创 java数据结构与算法-红黑树
1、二叉树:非平衡树2、红黑树:(平衡树)增加某些特点的二叉搜索树。特征:(1)、节点都有颜色;(2)、在插入和删除的过程中,要遵循保持这些颜色的不同排列的规则;红-黑规则:1、每个节点不是红色就是黑色;2、根总是黑色的;3、如果节点是红色,则它的子节点必须是黑色的(反之不一定必须);4、从根到叶节点或空子节点的每条路径,必须包含相同数量的黑色节点;
2017-09-01 10:44:11 329
webRTC_m79版本AECDump分析所用unpack_aecdump文件
2020-01-16
mybatis中mapper文件resultMap中collection和association的使用
2018-09-27
springboot集成thymeleaf的Demo
2018-09-17
springboot集成redis集群,redis安装包配置
2018-09-02
springboot注解@PropertySource使用Demo
2018-08-24
springcloud-ribbon负载均衡demo
2018-08-21
springboot-mybatis-demo
2018-08-17
usb_serial CH340(64位驱动) 串口转usb口
2017-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人