<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[feather(猎羽)]]></title><description><![CDATA[只有疯狂到认为自己能改变世界的人、才能真正的改变世界]]></description><link>https://blog.youkuaiyun.com/feather_wch</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; feather_wch]]></copyright><item><title><![CDATA[Android系统启动流程 源码解析]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132518105</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132518105</guid><author>feather_wch</author><pubDate>Sun, 27 Aug 2023 02:14:55 +0800</pubDate><description><![CDATA[Android启动流程全解析]]></description><category></category></item><item><title><![CDATA[Kotlin手写RxJava变换符]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132351210</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132351210</guid><author>feather_wch</author><pubDate>Thu, 17 Aug 2023 21:19:51 +0800</pubDate><description><![CDATA[/ action()执行完的结果，用RxJavaCore保存起来// map// 监听者。]]></description><category></category></item><item><title><![CDATA[Kotlin Lambda和高阶函数]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132351175</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132351175</guid><author>feather_wch</author><pubDate>Thu, 17 Aug 2023 21:18:54 +0800</pubDate><description><![CDATA[Kotlin 高阶函数深入探究]]></description><category></category></item><item><title><![CDATA[Kotlin Channel 热流]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132332528</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132332528</guid><author>feather_wch</author><pubDate>Thu, 17 Aug 2023 07:45:32 +0800</pubDate><description><![CDATA[2、select 是一个用于多路选择的结构，可以同时等待多个挂起函数或通道的操作完成。它类似于 switch 或 if-else 的多路分支语句，但是它是用于协程的异步操作。produce(capacity = 100)，会增加缓冲区，只要没有放满send不会再阻塞。如果消费完了 isClosedForReceive == true，   否则就是false。1、select: 择优选择数据，谁先返回用谁的。3、select可以用于上游，也可以用于下游。1、广播给所有消费者，多个地方可以接收到。]]></description><category></category></item><item><title><![CDATA[Kotlin Flow 冷流]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132332526</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132332526</guid><author>feather_wch</author><pubDate>Thu, 17 Aug 2023 07:44:30 +0800</pubDate><description><![CDATA[1、Kotlin的flowOn替代了subscribeOn, 对上游进行了切换 ====> RxJava。1、协程取消，会导致Flow管道流也会取消。1、transform将上游数据转换后交给下游 ====> LiveData。1、Flow可以完全替换LiveData ===> LiveData。2、cancellable：取消不及时，速度太快了，增加监测机制。2、传统事件处理方案：同步、sequence、异步delay。1、flow合并，执行，并且获得结果。1、简化发射源 ===> 高阶函数。]]></description><category></category></item><item><title><![CDATA[Java虚拟机知识点梳理]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132326246</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132326246</guid><author>feather_wch</author><pubDate>Wed, 16 Aug 2023 19:26:07 +0800</pubDate><description><![CDATA[1、什么是内存模型？在特定操作协议下，对特定内存和高速缓存读写的过程的抽象2、JMM的作用是什么？解决缓存一致性和指令重排序导致的安全问题屏蔽具体的平台，保证CPU对内存访问效果一致3、JMM的主要目的定义程序中变量的访问规则：存储和读取只针对线程共享变量：静态字段、实例字段、构成对象数组的元素线程私有变量：局部变量、方法参数不在考虑范围内。]]></description><category></category></item><item><title><![CDATA[Kotlin协程]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132200864</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132200864</guid><author>feather_wch</author><pubDate>Thu, 10 Aug 2023 03:14:54 +0800</pubDate><description><![CDATA[Kotlin协程解析]]></description><category></category></item><item><title><![CDATA[The label parameter should be set so this animate*AsState can be better]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132179743</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132179743</guid><author>feather_wch</author><pubDate>Wed, 09 Aug 2023 07:38:08 +0800</pubDate><description><![CDATA[Compose动画]]></description><category></category></item><item><title><![CDATA[Compose基础入门]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132139415</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132139415</guid><author>feather_wch</author><pubDate>Mon, 07 Aug 2023 09:15:31 +0800</pubDate><description><![CDATA[Android Compose 入门]]></description><category></category></item><item><title><![CDATA[Compose(一)搭建桌面应用]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132127495</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132127495</guid><author>feather_wch</author><pubDate>Sun, 06 Aug 2023 08:42:42 +0800</pubDate><description><![CDATA[3、创建Compose项目：File->New->Project->Compose Multiplatform->Single platform->DeskTop。参考官方文档：https://github.com/JetBrains/compose-multiplatform-desktop-template#readme。4、项目目录自动生成，找到Main.kt,gradle同步后，右击main()，选择run。2、下载>=15的JDK：我是JDK 17。]]></description><category></category></item><item><title><![CDATA[JVM 类文件结构(class文件)]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132116849</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132116849</guid><author>feather_wch</author><pubDate>Sat, 05 Aug 2023 10:38:17 +0800</pubDate><description><![CDATA[10、JVM中方法句柄和方法类型是指什么？9、JNI中方法描述符（Method Descriptor）1、属性表的主要属性 ===> APT ===> ASM。8、方法的描述符  ==> JNI方法描述符。6、常量池 = 入口 + 常量池。2、class文件是大段字节序。3、class文件的组成部分。11、JVM中的动态调用点。1、class文件的组成。方法的参数类型和返回类型。12、JVM中的动态常量。7、常量池中存放的内容。2、Code属性的结构。2、特征签名是什么？]]></description><category></category></item><item><title><![CDATA[Kotlin委托]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132095759</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132095759</guid><author>feather_wch</author><pubDate>Fri, 04 Aug 2023 07:59:28 +0800</pubDate><description><![CDATA[1、完全自己实现属性委托// 自定义委托，定义好get和set之后，属性可以用该类实现属性委托 class Custom {2、利用模板实现属性委托:ReadWriteProperty// 自定义委托 class Custom2 : ReadWriteProperty < Owner , String > {]]></description><category></category></item><item><title><![CDATA[Jetpack深度探索]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132094862</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132094862</guid><author>feather_wch</author><pubDate>Fri, 04 Aug 2023 00:20:52 +0800</pubDate><description><![CDATA[3、事件派发：Activity->ReportFragment(派发六大事件)->LifecycleRegisry(五大状态处理)->拆包装(state和mState同步->onStageChange->反射调用Map(key=Event,Value=Method))3、数据粘性 ====================================================> Hook、反射、封装。4、为什么Activity能够被感知？6、状态同步是什么意思？2、注册：装饰者模式。]]></description><category></category></item><item><title><![CDATA[Compose手势]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132053661</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132053661</guid><author>feather_wch</author><pubDate>Wed, 02 Aug 2023 02:01:02 +0800</pubDate><description><![CDATA[本文链接：点击拖动滑动锚点。]]></description><category></category></item><item><title><![CDATA[Android 热修复]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132052856</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132052856</guid><author>feather_wch</author><pubDate>Tue, 01 Aug 2023 23:28:36 +0800</pubDate><description><![CDATA[1、实现类：BootClassLoader、PathClassLoader、DexClassLoader、InMemoryClassLoader。3、Tinker是差分包 + Bug Dex = 修复后Dex。4、后续拿到的都是修复后的Method.class类对象。5、什么时候热修复？1、PathClassLoader是哪里创建的？4、热修复思路 => 将补丁Dex放到数组前面。2、下面类的ClassLoader是什么？2、如何拿到补丁包的有注解Method？1、关键词：DexDiff、增量更新。]]></description><category></category></item><item><title><![CDATA[Java基础]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132052566</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132052566</guid><author>feather_wch</author><pubDate>Tue, 01 Aug 2023 23:03:16 +0800</pubDate><description><![CDATA[关键点：String（immutable、性能、intern、StringBuilder、StringBuffer）HashMap（散列表-哈希算法、ArrayMap、SparseMap、HashTable、HashSet）哈希算法* JVM（intrinsic、String特殊优化的本地代码）]]></description><category></category></item><item><title><![CDATA[MVX总结]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132029789</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132029789</guid><author>feather_wch</author><pubDate>Mon, 31 Jul 2023 20:17:32 +0800</pubDate><description><![CDATA[汽车要运载人，人还要携带物品，汽车和人直接交互==要有限的和其他对象交互(不要了解其内部细节，不和不直接对象交互)：迪米特原则，最少知识原则。View：视图，不同架构中充当角色不同 xml(java)/composable/kotlin。Android平台的实现中，有大量的View的操作在COntroller(Activity)中。思考：如果Presenter可以操作View和Model，不就等于是之前的Activity吗？MVI流程：ui，intent，viewmodel，uistate，ui。]]></description><category></category></item><item><title><![CDATA[LeetCode经验总结]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132029690</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132029690</guid><author>feather_wch</author><pubDate>Mon, 31 Jul 2023 20:11:00 +0800</pubDate><description><![CDATA[数据结构、算法相关]]></description><category></category></item><item><title><![CDATA[重学ARouter]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/132006639</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/132006639</guid><author>feather_wch</author><pubDate>Sun, 30 Jul 2023 14:15:37 +0800</pubDate><description><![CDATA[注解处理器出好了每个Element（判断好类型）构造出数据集合用于后面构建Group类和Root类构造出RouteMeta(Class、path、group等)，存放到所属的中(add)把PathGroup放入到GroupMap中GroupMap存放到RootMap中构造Group类文件 * N构造Provider文件构造Root类文件。]]></description><category></category></item><item><title><![CDATA[Kotlin筑基]]></title><link>https://blog.youkuaiyun.com/feather_wch/article/details/131972206</link><guid>https://blog.youkuaiyun.com/feather_wch/article/details/131972206</guid><author>feather_wch</author><pubDate>Fri, 28 Jul 2023 07:36:11 +0800</pubDate><description><![CDATA[Kotlin筑基，全部核心知识]]></description><category></category></item></channel></rss>