第二章 Java 内存区域与内存溢出异常

第二章 Java 内存区域与内存溢出异常Java 运行时数据区运行时数据区中,虚拟机栈、本地方法栈、程序计数器为线程私有,一个线程一个。虚拟机栈每个线程执行的时候存放栈帧的栈。栈帧中有局部变量表来存储局部变量。局部变量表以槽(Slot)的形式存储。其中 long 和 double 类型占用两个槽,其
Java jvm 深入理解 Java 虚拟机 2022年03月10日 349次浏览

第十三章 热修复原理

第十三章 热修复原理13.1 热修复的产生刚发布的版 出现了严重的 Bug ,这就需要去解决 Bug 测试并打包在各个应用市场上重新发布,这会耗费大量的人力和物力,代价比较大。已经改正了此前发布版本的 Bug,如果下 个版本是一个大版本, 那么两个版本的 间隔时间很长,这样要等到下个大版本发布再修复
Android 进阶解密 类加载 热修复 2022年03月07日 338次浏览

第十二章 理解 ClassLoader

热修复和插件化是目前比较热门的技术,要想更好地掌握它 需要先了 ClassLoader。12.1 Java 中的 ClassLoader12.1.1 ClassLoader 的类型1. Bootstrap ClassLoaderC/C++ 编写的加载器,用于加载 JDK 的核心类,如:java.la
Java Android 进阶解密 类加载 2022年03月07日 303次浏览

Java 并发编程艺术 #1 JVM 层面

以下内容为 《Java 并发编程艺术》中 JVM 层面的并发笔记。主要为 前三章内容Java 对象头其中 Mark Work 用于存储对象 HashCode、分代年龄和锁标记位,根据锁的不同状态,会存储不同的数据,以下是 32 位 虚拟机 在不同状态 Mark Work 存储的数据全局安全点线程执行
Java Java 并发编程的艺术 JMM 线程通讯 jvm 2022年02月27日 343次浏览

Android 源码架构模式——MVC、MVP 和 MVVM

本文为 《Android 源码设计模式解析与实战 第二版》 第 25 章到第 27 章的学习笔记,也就是 MVC,MVP,MVVM 三种应用架构模式的笔记。MVCmvc 架构是 1978 年由 Trygve Reenskaug 在 Smalltalk-80 系统上首次提出。MVC 的提出是针对一个程
Android 设计模式 2022年02月20日 215次浏览

可滑动隐藏的 TopAppBar —— Compose

效果:在原生中非常简单,直接使用 CoordinatorLayout + AppBarLayout 在设置 behavior 就行。不过在 Compose 中却没有直接实现,这里只能自己实现了。ScrollableTabRow 和 HorizontalPager首先先把 Tab 和 Pager 的
Compose Android Kotin 2022年02月05日 407次浏览

LeakCanary 源码分析 #2 Fragment, Service, ViewModel

LeakCanary 是一个检查内存泄漏的库。以下是官网中的定义:LeakCanary is a memory leak detection library for Android.相关网站:LeakCanary (square.github.io)square/leakcanary: A memo
Android Kotin 内存泄漏 LeakCanary 2022年01月23日 465次浏览

LeakCanary 源码分析 #1

LeakCanary 是一个检查内存泄漏的库。以下是官网中的定义:LeakCanary is a memory leak detection library for Android.相关网站:LeakCanary (square.github.io)square/leakcanary: A memo
Android Kotlin 内存泄漏 LeakCanary 2021年12月03日 841次浏览

Retrofit 源码分析

之前分析了 Okhttp 的源码,现在来分析 Retrofit 的源码。官方文档中,对 Retrofit 的定义是 :A type-safe HTTP client for Android and Java.安卓和 Java 中的一个类型安全的 HTTP 客户端。实际上,Retrofit 是一个 R
Android Java 2021年11月18日 958次浏览

三 简单协程设计

简单协程设计这是协程系列第二篇,目录:Kotlin coroutines 协程 学习笔记本章来设计一些简单协程的小工具,帮助我们更好的理解协程的基础设施,当然这些许多在库中都有提供,将在下一章开始分析复杂协程设计,在之后开始分析库中自带的一些协程工具。线程分发器 Dispatcher以下是我们的目标
kotlin coroutines Kotin 协程 2021年11月14日 724次浏览