Netty原理分析
1. Netty简介
Netty是一个高性能、异步事件驱动的NIO框架,基于JAVA NIO提供的A...
ReentrantLock原理分析
ReentrantLock是Java并发包中提供的一个可重入的互斥锁,它拥有与synchronized...
算法 – 二叉搜索树
二叉搜索树的特性是,任何一个节点的值:
都大于左子树任意节点。
都...
浅谈Fresco编码图片缓存
通过前面的分析我们了解到Fresco中的图片缓存分为3种: 解码图片内存缓存、编...
Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解
1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
kotlin list常用操作符
下标操作类
contains —— 判断是否有指定元素
elementAt —— 返回对应的元...
Android NDK开发基础
前言
NDK即Native Development Kit,是Android上用来开发c/c++的开发工具包。 ...
Android架构模式
Android项目工程中常用的架构模式有MVC, MVP, MVVM以及现在新出的MVI。
下面一起...
android java和kotlin语法对比
java和kotlin语法对比
MySQL索引实现原理分析
目前大部分数据库系统及文件系统都采用 B-Tree(B 树)或其变种 B+Tree(B+树...
Android设计模式源码解析之责任链模式
1. 模式介绍
模式的定义
一个请求沿着一条“链”传递,直到该“链”上的某个处...
Android组件化架构 – 2. 组件间通信机制
本地广播LocalBroadcastManager
说到组件间通信第一个肯定想到广播BroadcastReceiv...
应用测速组件
统计应用冷启动时长、页面渲染时长是APM系统不可缺少一个功能。Rabbit中这个功能...
JNI 编程上手指南之数组访问
1. 引子
JNI 中的数组分为基本类型数组和对象数组,它们的处理方式是不一样的...
Kotlin基础-for循环return、break、continue
一、前言:
java中return、break、continue的含义:
1、break:不仅可以结束其...
兼容性Android 设备兼容性使用详解
一、设备兼容性分类
二、硬件设备兼容
三、软件 APP 兼容
四、兼容不同语言
五、...
Android底层崩溃捕获机制
我们知道Java中的Crash我们一般可以通过try/catch进行捕获并获取具体的崩溃信息,...
Kotlin之@JvmOverloads、@JvmStatic、@JvmField、@JvmInline等注解使用总结
写在前面
Kotlin代码可以经过编译器转换成VM虚拟机能识别的字节码,所以Java与...
PathClassLoader与DexClassLoader到底有什么不同
先说一下为什么要抛出这个问题吧?
最近在看插件化相关的技术,因此会涉及到插...