首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
C1
掘友等级
Android开发者
|
广东工业大学
一个热爱Android热爱生活的开发者
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
105
文章 104
沸点 1
赞
105
返回
|
搜索文章
赞
文章( 104 )
沸点( 1 )
Java线程池原理与源码详细解读,再也不怕面试问线程池了!
“线程池”,顾名思义就是一个线程缓存,线程是稀缺资源,如果被无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,因此Java中提供线程池对线程进行统一分配、调优和监控。 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理。如果每次请求都新创建…
JDK 动态代理源码浅析
Java 提供给了我们一个非常方便的动态代理类 Proxy,让我们今天来研究一下它的实现原理,以及为什么动态代理会存在性能问题。 通过 SecurityManager 对即将代理的类的 package access 进行检测。 通过 getProxyClass0 尝试获取代理 …
Retrofit 源码解析:基于 OkHttp 的网络请求框架
Retrofit 可以说和 OkHttp 是亲兄弟了,它们都是由 Square 公司推出的网络请求库,并且 Retrofit 实际上是基于 OkHttp 实现的,它在 OkHttp 现有功能的基础上进行了封装,支持通过注解进行网络请求参数的配置,同时对数据返回后的解析、序列化进…
SharedPreferences 源码解析:自带的轻量级 K-V 存储库
本文是独立解析源码的第二篇,SharedPreference 是一个 Android 开发自带的适合保存轻量级数据的 K-V 存储库,它使用了 XML 的方式来存储数据,比如我就经常用它保存一些如用户登录信息等轻量级数据。那么今天就让我们来分析一下它的源码,研究一下其内部实现。…
MMKV 源码浅析:腾讯出品的一款 K-V 存储库
从上面的介绍,可以发现它与 Android 中的 SharedPreferences 是极其相似的,但是它的性能却远超于 SharedPreferences。根据官方的宣传,写入随机 int 1000次,下面是它们两者的性能对比: 可以发现,它相比 SP 的性能提升不是一点半点…
EventBus 源码解析:家喻户晓的事件总线
之前写过了很多常用的库的源码解析,但都需要大量参考其他大牛的博客才能彻底理解一个库的原理。现在想检验一下自己的代码阅读能力,因此尝试靠自己去独立地完成一篇源码解析,看看效果如何。我们先从 EventBus 入手,这篇文章分析的 EventBus 版本为 3.1.1。 从 get…
ARouter 源码解析:阿里推出的路由框架
ARouter 是阿里推出的一款页面路由框架。由于项目中采用了组件化架构进行开发,通过 ARouter 实现了页面的跳转,之前看它的源码时忘了写笔记,因此今天来重新对它的源码进行一次分析。 获取 com.alibaba.android.arouter.routes 下存储 Cl…
AsyncTask 源码解析:Android 自带的异步任务工具
AsyncTask 是 Android SDK 中提供的一个用于线程调度的框架,在 Android 兴起的早期被广泛使用,但如今已经被 RxJava、协程等新兴框架所取代。虽然它存在着一些不足,但它的设计思想还是非常有趣的,让我们今天来研究一下。 首先看到它的三个范型参数:Pa…
同步屏障?阻塞唤醒?和我一起重读 Handler 源码
大家应该都知道,Android 的消息机制是基于 Handler 实现的。还记得一年前的自己就看了几篇博客,知道了 Handler、Looper、MessageQueue 就自以为自己知道了 Handler 的原理。但其实看源码的过程中慢慢就会发现,Handler 的内容可不止…
Android 中的 LRU 缓存——内存缓存与磁盘缓存
在 Android 开发的过程中常常需要用到缓存的功能来减少应用对用户流量的消耗(如图片缓存,文章缓存等等)。而对于用户的手机而言,其内存/存储空间的大小一般都是有限的,在一些缓存量大或缓存十分频繁的情况下,如果我们不对缓存作出一些限制,很可能会导致用户对产品的反感。 因此为了…
下一页
关注了
71
关注者
4
收藏集
6
关注标签
10
加入于
2018-12-02