Guava 源码分析(Cache 原理)
前言
Google 出的 Guava 是 Java 核心增强的库,应用非常广泛。
我平时用的也...
浅谈Fresco编码图片缓存
通过前面的分析我们了解到Fresco中的图片缓存分为3种: 解码图片内存缓存、编...
原生AspectJ用法分析以及Spring-AOP原理分析
前言
前两天看了一些关于spring aop以及AspectJ的文章,但是总是感觉非常的...
Android开发代码的规范
开发代码的规范
Kotlin中正确的使用Handler
1. Handler造成的内存泄漏2. Kotlin中使用Handler
Handler造成的内存泄漏
Handle...
JNI 编程上手指南之 JNI 调用性能优化
为什么要做性能优化
Java 程序中,调用一个 Native 方法相比调用一个 Java 方...
线上内存泄漏排查思路
内存泄漏排查
背景了解:告知 线上 room_work 运行一段时间内存就会慢慢往上涨,8G...
AndroidManifest使用PackageParser.parserPackage原理分析
本文实例讲述了Android APK应用安装之AndroidManifest使用PackageParser.parse...
ReentrantLock原理分析
ReentrantLock是Java并发包中提供的一个可重入的互斥锁,它拥有与synchronized...
线程池原理分析
先给出结论: 1. 当所提交的任务大于核心线程 并且小于最大线程的时候,多余的...
Kotlin 中定义类、field关键字,主构造函数和次构造函数详解
1、定义类与field关键字,以及计算属性,和防范竞态条件
class Student {
...
AQS原理分析
Lock
Lock 在 J.U.C 中是最核心的组件,前面学习 synchronized 的时候说过,锁...
JNI 编程上手指南之数组访问
1. 引子
JNI 中的数组分为基本类型数组和对象数组,它们的处理方式是不一样的...
Android设计模式源码解析之Proxy模式
Binder中的代理模式
再说Binder中的代理模式之前,我们需要先看看代理模式的简...
Android中的异步消息处理机制
这也是Android中老生常谈的一个话题了,它本身并不是很复杂,可是面试官比较喜欢...
Android Zygote 启动流程
Android系统包含netd、servicemanager、surfaceflinger、zygote、media、installd...
深入理解JVM垃圾收集机制
程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的...
兼容性Android 设备兼容性使用详解
一、设备兼容性分类
二、硬件设备兼容
三、软件 APP 兼容
四、兼容不同语言
五、...

