01 2022 档案
摘要:一.前言 AMS在Android 10 和之前版本的区别 android 10: 在AMS的基础上加入了AMS的辅助管理类ActivityTaskManagerService,它负责Actiivty的启动,切换以及调度。并且ActivityTaskManagerService也属于SystemSer
阅读全文
摘要:一.Dispatcher工作流程 1)OkHttp的基本使用 我们先从okHttp最基础的使用开始 private fun httpRequestWithManyRequests() { // 创建了一个okHttpClient对象 val okHttpClient = OkHttpClient.B
阅读全文
摘要:今天在学习群里碰到了一个问题:用Glide + okHttp3加载图片,这个时候有一个需求就是,有一个url对应的图片流,这个图片数据流需要去除前面八个字节后才能正常显示图片,所以那位大佬的思路就是添加一个okHttp的应用层拦截器,并在该拦截器中对图片流前面的八个字节进行移除,于是就有了最开始的下
阅读全文
摘要:Java堆 堆的对象管理 在《Java虚拟机规范》中堆Java堆的描述是:所有对象实例以及数组都应该在运行时分配到堆上 但是从实际使用的角度来看,不是绝对,存在某些特殊情况下的对象产生不在堆上奉陪内存 这里注意,规范上是绝对,实际上是相对 方法结束后,堆中的对象不会马上被移除,需要通过GC执行垃圾回
阅读全文
摘要:Java动态代理技术 一.代理模式 代理模式的实现 想要了解动态代理,我们就得从23种设计模式的代理模式开始。 我们来看看以下场景,有一个Chinese类和Englisher类,它们都实现了Speakable接口。(中国人讲中文,英国人讲英文) public class Chinese implem
阅读全文
摘要:Part1:注解的作用和意义 1.注解本没有任何意义,单独的注解就是一种注释,它需要结合其它如反射、插桩等技术才有意义 2.Java注解(Annotation)又称Java标注,是JDK1.5引入的一种注解机制。是元数据的一种形式,提供有关与程序属于程序本身的数据。注解对他它们注解的代码的操作并没有
阅读全文
摘要:公平锁和非公平锁 公平锁:等待时间较长的线程优先获得锁 非公平锁:没有优先级,等待时间长的线程不一定就会优先获得锁 乐观锁和悲观锁 悲观锁: 悲观锁简介 在修改数据之前先锁定再修改,具有强烈的独占和排他性 之所以叫悲观锁,是因为这是一种对数据的修改持有悲观的态度的并发控制方式:总是假设最坏的情况,也
阅读全文