首页
学习
活动
专区
工具
TVP
发布

刘晓杰

专栏作者
281
文章
256491
阅读量
41
订阅数
Jetpack:ViewModel
引入ViewModel之前,存在如下几个问题: (1)有的时候一个Activity里面嵌套了多个fragment,但是这些fragment里面用的是同一个数据,为了同步这些数据,我们需要用接口来传参,很麻烦 (2)屏幕旋转,会销毁重建,如果数据类型比较简单,同时数据量也不大,可以通过onSaveInstanceState()存储数据.但如果是大量数据,不方便序列化及反序列化,则上述方法将不适用.
提莫队长
2020-06-03
6560
jdk1.8中ConcurrentHashMap的实现原理
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fjse51/article/details/55260493
提莫队长
2019-06-11
2.9K0
源码阅读--Glide
参考资料:http://www.apkbus.com/blog-705730-60158.html 用法:
提莫队长
2019-02-21
5160
ThreadPoolExecutor介绍
综上,getAndIncrement() 方法并不是原子操作。 只是保证了他和其他函数对 value 值得更新都是有效的。 整个方法本身并不是线程安全的,但通过compareAndSet方法,可以达到安全操作的效果。 不过由于没有加线程同步锁,整个操作的线程开销比较小的,很多时候也会提高线程执行的效率。
提莫队长
2019-02-21
3580
LinkedHashMap详解
LinkedHashMap没有实现put方法,而是复写了HashMap中的put方法里面的addNewEntry
提莫队长
2019-02-21
6200
HashMap源码详解
Entry 是一个 static class,其中包含了 key 和 value,也就是键值对,另外还包含了一个 next 的 Entry 指针。 我们可以总结出:Entry 就是数组中的元素,每个 Entry 其实就是一个 key-value 对,它持有一个指向下一个元素的引用,这就构成了链表。
提莫队长
2019-02-21
4200
Glide缓存机制
1.LinkedHashMap——http://blog.csdn.net/lxj1137800599/article/details/54976180 2.cleanupCallable(涉及到ThreadPoolExecutor——http://blog.csdn.net/lxj1137800599/article/details/55808019) private final Callable<Void> cleanupCallable = new Callable<Void>() {
提莫队长
2018-05-18
1.1K0
Glide中request的调用和管理
先介绍一个数据结构WeakHashMap WeakHashMap大致上就是,通过WeakReference和ReferenceQueue实现的。 WeakHashMap是通过数组table保存Entry(键值对),Entry继承WeakReference,最终继承Reference WeakHashMap还有ReferenceQueue,是一个队列,它会保存被GC回收的“弱键”。 问题:如何自动删除Entry的? 里面有个函数expungeStaleEntries。就是从Referenc
提莫队长
2018-05-18
1.1K0
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档