# AndroidDemes **Repository Path**: binbinfuheng/AndroidDemes ## Basic Information - **Project Name**: AndroidDemes - **Description**: Android的各种demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-28 - **Last Updated**: 2023-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 其他 - auto.js可以自动化 # [day001 (热修复)](day001/readme.md) - 反射 - 类加载 1. ClassLoader 1. BootClassLoader 1. BaseDexClassLoader 1. PathClassLoader 1. DexClassLoader # [Gradle学习](GradleStudy/readme.md) - Gradle插件化 - 字节码插装 - asm - Javassist - gradle - 注意:不同的gradle版本,有很多不同 # [day003 (微信MMKV原理 / mmap内存映射 / 提高文件操作效率 / 代替sp)](day003/readme.md) - 局部更新 - 提高文件操作效率 - 零拷贝 - FileChannel - mmap内存映射 - io的工作 - - 写一个通过mmap实现的简单sp - protoBuf # [day004 ( 泛型 / 反射 )](day004/readme.md) - Obj 没有泛型检查 - Obj 必须制定泛型类型 - Obj 有泛型检查 - Obj 必须指定泛型为Obj的子类 - Obj 必须指定泛型为Obj的父类 # [day005 (注解 / 反射)](day005/readme.md) - apt注解处理器 继 - javac - javap - asm - aop编程思想(面向切面) - Parcelable需要确定类型 # [day006 (动态代理 / 静态代理 / 建造者设计模式 )](day006/readme.md) - 场景 -> 切换框架 - 动态代理 - 静态代理 - 动态代理,生成了class文件的byte[]数据,然后到native里面生成对应的对象 - builder -> 构建者,建造者设计模式 - DLC单例 - 时序图 # [day007 (多线程 / 并发安全 / 性能优化 / 队列 / 线程池 / 锁)](day007/readme.md) - wait - 操作系统时间片 - cpu执行权 - 一个时间周期 - cpu线程切换会有上下文切换,上下文切换很耗时间 - cas中也是会执行cpu线程切换啊,其实也是有开销的啊 - 磁盘控制器,网络控制器....又cup调度 - aqs / 模板方法 - 工作内存/主内存:工作内存其实和主内存只是行为意义上面说的,真实情况其实都是相同的内存块(寄存器/高速缓存/内存条),只是工作内存是马上要进行工作的,大部分会在寄存器和高速缓存内(为了加快cup的读写速度),而主内存大部分是在内存条上(内存条的空间大) - java中线程内分配:java在开启一个线程的时候会给线程分配一个独享内存块,如果引用到主内存的数据,其实是把主内存的数据拷贝一份副本在工作内存,计算完之后再同步给在主内存 - 对象在内存的结构: # [day008 (序列号 / 反序列化 / Json解析) //占时没看](day008/readme.md) # [day009 (RXjava)](day009/readme.md) - 响应式编程/链式编程 - Rx的思想:创建模式 -> 步骤1 ..步骤N -> 观察者(开始/结果/失败/结束) ,以某种模式创建,经过各个步骤完成后,由一个观察者处理开始/结果/失败/结束的过程 - 洋葱模式/包装模式 装饰模式承接代码 包装模式封装 订阅模式发布 # [day010 插件化换肤] # [day011]() 实现一个动态的activity加载类 - 插件化换肤 - 热修复 - 路由 - 插装 # [ui](ui/readme.md) - onMeasure inf nfc射频 什么时候会不一样 # [(IO)]((io/readme.md)) - 装饰模式 - 磁头 - read没有数据的时候不会阻塞 - 在字符流的里面才有换行的意义 - 字符流就是为了解决多个字节组成的人们可以阅读的文字编码问题 - Buffer # [JVM深入理解](jvm/readme.md) # 其他 1. # [数据结构与算法](DataStructureAlgorithm/readme.md)