ASM字节码插桩
为什么进行全埋点?
以往手动形式埋点
以往的埋点方式都是人为进行定义名称和选...
Kotlin 中List集合,Set集合,Map集合,数组的详解
1、创建不可变List集合
fun main() {
val list = listOf("Jason", "Jack...
【Jvm】Jvm类加载机制
类加载时机
虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、...
ViewPager2获取Item的View
1.在写ViewPager2的ViewHolder的时候给ItemView设置tag为当前的ViewHolder
pub...
JVM类加载机制
1、什么是类的加载
类的加载指的是将类的.class文件中的二进制数据读入到内存...
Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解
1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
kotlin基础语法介绍
类型的声明与使用
val与var
val->不可变引用,var->可变引用。
我...
Kotlin中嵌套类、数据类、枚举类和密封类的详解
一、嵌套类
如果一个类只对另一个类有用,那么将其嵌入到该类中并使这两个类保...
kotlin:引子约定plus约定invoke约定 & in约定 & range约定
引子
假设女生的择偶标准如下:未婚且岁数比我大,如果对方是本地帅哥...
线上内存泄漏排查思路
内存泄漏排查
背景了解:告知 线上 room_work 运行一段时间内存就会慢慢往上涨,8G...
JNI 编程上手指南之 JNI 调用性能优化
为什么要做性能优化
Java 程序中,调用一个 Native 方法相比调用一个 Java 方...
插件Service的运行管理
Service启动的大体流程
我们从ContextImpl.startService()开始看。 为什么从这...
虚拟机Android Dalvik 虚拟机介绍
1.Java 语言在Android 上运行流程
2.虚拟机发展过程
3.Android Dalvik 模式
4.And...
JDK11版本特性
JDK11 是继JDK8后又一个长期支持版本(LTS) ,
2018年9月25日,Oracle 官方宣布 Java...
Android API 33 GestureDetector.OnGestureListener 覆写崩溃问题
错误原因 GestureDetector.OnGestureListener 覆写崩溃问题
它没有说什么...
Android Jetpack系列
Android Jetpack介绍
Foundation:基础
Architecture:体系结构
UI:视觉交互
B...
okhttp核心原理分析(1)
文章思维导图
前言
进行 okhttp 的核心源码分析,必须要搞清楚 http 协...
微信为什么使用 SQLite 保存聊天记录?
SQLite 是一个被大家低估的数据库,但有些人认为它是一个不适合生产环境使用的玩具...
Kotlin 中定义类、field关键字,主构造函数和次构造函数详解
1、定义类与field关键字,以及计算属性,和防范竞态条件
class Student {
...
Java运行原理及内存分析
Java运行原理及内存分析
一、Java运行原理
二、Java内存分析
文章来...

