ReentrantLock原理分析
ReentrantLock是Java并发包中提供的一个可重入的互斥锁,它拥有与synchronized...
算法 – 动态规划
很多人觉得动态规划很难,甚至认为面试出动态规划题目是在为难候选人,这可能产生...
Android组件化架构 – 6. 权限管理
权限的目的
权限设立的目的是保护安全
权限机制
系统权限分三种:
Android所有者...
Android | View.post 到底是在什么时候执行的?
前言
相信绝大部分人都使用过 view.post这个方法,且使用场景基本上都是用来获...
Kotlin内联函数inline、noinline、crossinline
高阶函数
首先来看下kotlin里的高阶函数定义:如果一个函数接收另一个函数作为...
LeakCanary原理分析
概述
LeakCanary是一个开源的内存泄漏检测库,极大简化了内存泄漏的检测流程。...
Android OpenGLES 3.0 开发系统性学习教程
基础篇
OpenGL ES 3.0 开发(01):绘制一个三角形
OpenGL ES 3.0 开...
kotlin:引子约定plus约定invoke约定 & in约定 & range约定
引子
假设女生的择偶标准如下:未婚且岁数比我大,如果对方是本地帅哥...
ViewPager2获取Item的View
1.在写ViewPager2的ViewHolder的时候给ItemView设置tag为当前的ViewHolder
pub...
Android设计模式源码解析之模板方法模式
1. 模式介绍
模式的定义
定义一个操作中的算法的框架,而将一些步骤延迟到...
ANDROID进程系统:进程的创建、启动与调度流程
文章目录
一 进程的创建与启动流程
二 进程的优先级
三 进程的调度流程...
代码规范-对抗软件复杂度
1、为什么需要代码规范
任何系统性的项目都需要架构设计,而架构设计的核心命题...
Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解
1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
ApplicationListener原理分析
在 Nacos配置服务原理 文中结束时提到过通过发布 ApplicationListener 刷新事...
Android开发代码的规范
开发代码的规范
重学Java系列-1. GC原理 & 垃圾回收算法
GC原理
GC即垃圾收集,追踪仍然使用的所有对象,并将其余对象标记为垃圾然后进...
Android性能优化建议
磁盘
SharedPreferences
我们知道SharedPreferences底层是使用xml文件来实...
Java SPI原理与源码分析
Java SPI原理与源码分析
概述
SPI是Service Provider Interface的缩写,jdk...
JVM类加载机制
1、什么是类的加载
类的加载指的是将类的.class文件中的二进制数据读入到内存...