在使用golang进行日常开发的时候一般不会关注gc性能,但如果出现内存泄露的话,不懂gc的话可能根本没有排查的头绪。因此去找些资料看了golang的gc策略,看完感觉与JVM的gc策略有很多相似之处,在这里简单做个总结归纳。
我这里看的golang版本都是1.9+的策略,老版本的策略不再分析。
在使用golang进行日常开发的时候一般不会关注gc性能,但如果出现内存泄露的话,不懂gc的话可能根本没有排查的头绪。因此去找些资料看了golang的gc策略,看完感觉与JVM的gc策略有很多相似之处,在这里简单做个总结归纳。
我这里看的golang版本都是1.9+的策略,老版本的策略不再分析。
现在的大趋势是全站https,所以我也折腾了一下https,用的是let’s Encrypt的证书,然后使用nginx做https服务器,顺便也升级了一下到http2.0。
这也是mvvm框架的基本模式,模型的变化驱动视图的更新,交互事件驱动模型的变化。
由于原生js直接提供了交互事件的接口,所以各种框架都是监听各种交互时间来实现数据模型的更新;在监听模型变化方面则产生了3种方式:
js中的对象是基于哈希表结构的,而哈希表的查找时间复杂度为O(1),所以很多人喜欢用对象来做映射,减少遍历循环。