设计模式

代理模式强调不能直接访问一个对象,只能通过代理间接访问,不能直接访问的原因比如:权限校验、操作日志、RPC,比如 AIDL 生成的 IAidlInterface.Stub.Proxy 类就是代理了 remote IBinder

装饰器模式强调增强对象的功能:把一个对象的功能拆分为几部分,在运行时按需组装,比如:BufferedOutputStream、JarOutputStream、ZipOutputStream

实现 LRU

map + 双端链表,链尾是最近使用过的,链头是最久未使用的

几个重要的排序算法