Typescript中的逆变与协变
逆变(contravariant): 逆转了子类型序关系 协变(covariant): 保持了子类型序关系 双向协变(bivariant): 可以相互分配 不变(invariant): 无法相互分配
Chrome的垃圾回收机制
Chrome(本质上是V8)的垃圾回收被设计成了两个区块 • 新生代区: 负责大部分临时对象的处理 • 老生代区: 对于数次新生代中没有清除掉的对象, 会被转入这个区, 老生代区中的对象的GC频率会降低
逆变(contravariant): 逆转了子类型序关系 协变(covariant): 保持了子类型序关系 双向协变(bivariant): 可以相互分配 不变(invariant): 无法相互分配
Chrome(本质上是V8)的垃圾回收被设计成了两个区块 • 新生代区: 负责大部分临时对象的处理 • 老生代区: 对于数次新生代中没有清除掉的对象, 会被转入这个区, 老生代区中的对象的GC频率会降低