首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
chaozhouzhang
掘友等级
Android开发工程师
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
128
文章 126
沸点 2
赞
128
返回
|
搜索文章
最新
热门
二叉树BT与二叉查找树BST概览
分析HashMap源码的时候,看到JDK8中链表的节点个数超过了泊松分布计算得出的8个节点时,链表将会被转化为红黑树,所以,在分享HaspMap的源码分析文章前,先来分享一下树的数据结构的相关知识。 将每个节点的所有儿子都放在树节点的链表中。 节点是由element元素的信息,…
详解Handler机制中消息队列的出队逻辑
IdleHandler是告知线程已经是处于阻塞状态空闲的接口,我们可以实现这个接口,并且实现方法返回TRUE的时候表示消息线程一旦空闲就会执行实现的操作,返回false的时候表示无论线程何时空闲,实现的操作只会执行一次。 使用Idle可以优化Activity的启动时间,把在on…
详解Handler中消息队列的入队逻辑
此时新消息入队后便主动唤醒线程,无论新消息是同步消息、异步消息。 如果在阻塞时长未耗尽时,就新加入早于队首消息处理时间的消息,需要主动唤醒线程。 1、如果入队消息的执行时间为0,也就是入队消息需要马上执行。 2、如果入队消息的执行时间小于队首消息的执行时间,也就是入队消息要早于…
使用Handler机制进行子线程间的消息通信
如何通过Handler进行子线程间的通信?Handler机制首先来看android源码的主线程是如何与其他线程进行通信的:1、Looper先获取当前主线程的Looper:创建后的Looper会使用Th
Java对象的内存布局
在HotSpot虚拟机中,对象在内存中存储的布局分为对象头Header、实例数据Instance Data、对齐填充Padding。 在HotSpot虚拟机中,对象头的第一部分用于存储对象自身的运行时数据,例如哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时…
悲观锁与乐观锁
认为程序并发严重,在读取数据的时候,认为其他线程会修改此数据,故加锁防止其他线程修改。 例子:使用synchronized加锁,保证数据线程安全。 synchronized加锁确保了线程安全,但却是以消耗性能为代价的,synchronized会让没有得到锁资源的线程进入BLOC…
Android NDK概览
Android NDK 原生开发套件,是一个工具集,开发者可以使用 C 和 C++ 等语言以原生代码实现应用的各个部分。 其中,NDK根据ABI定义编译.so文件,不同的ABI对应不同的架构。目前NDK只为32位ARM、AArch64、x86及x86-64提供ABI支持。 使用…
JVM运行时内存数据区域
Java虚拟机在执行Java程序的过程中会把所管理的内存划分为各个不同的数据区域,称为Java虚拟机运行时数据区域。 在虚拟机的概念模型里,字节码解释器通过改变程序计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖程序计数器来完…
RxJava2订阅、发射、解除流程图
经过两晚阅读RxJava源码的时间,终于把RxJava从观察者订阅被观察者、到被观察者发射订阅信息给观察者、到观察者解除订阅被观察者的信息,这一串基本流程通过流程图的形式体现了出来。所读源码版本是RxJava2.2.13,以下是流程图对应的示例代码。
个人成就
文章被点赞
63
文章被阅读
33,514
掘力值
866
关注了
139
关注者
27
收藏集
1
关注标签
33
加入于
2016-08-10