Golang 的劣

调度器不完善

原生库太少、也弱

内存泄漏

由于Go需要维护每个内存字的一些状态(如:是否包含指针?是否有finalizer?是 否是结构体的开始?是否还能访问到的状态?),综合在一起使每个字需要4bit信息;于是Go就先找一片区域(arena),以不可访问的权限从操作系统中申请过来,然后根据每个uintprt对应的4bit申请一片RW的内存(bitmap)与前面的arena对应;这样书籍heap上内存的地址想获得对应的bitmap地址就容易了;

同时,操作系统的demand paging 会自动处理还没有使用到的bitmap。

最后就导致了Go会使用大量的虚拟内存(arena),并且在内存不足的时候,就会panic说申请到的内存不在范围,即:内存不在bitmap所能映射的范围

IDE支持不多

最大可用内存为16G限制