初级会员
  • 第 48184 位会员
  • timerzz
  • 2020-02-18 10:46:17
  • Offline
  • 20 71

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 评论了博文 【golang】性能优化
    我觉得不是用不用new 的问题。而是什么情况下用值,什么情况下用指针。用new 创建返回的是对象指针,而object{}是对象本身 1. 用new 创建对象效果等同&object{}。用new创建会比&object{},因为会自动内存对齐 2. 不是所有的指针都会分配在heap上,这是编译器进行逃逸分析决定的。在四种情况下变量会分配在heap上:1 )指针逃逸 2)栈空间不足逃逸, 所以即使是对象object{},如果过大也会分配在heap上 3)动态类型逃逸 4)闭包引用对象逃逸 3. 如果对象结构较为复杂,那么值复制时花的时间会比较长,即使分配在stack上,所花的时间也不一定比用指针短。所以什么时候用指针什么时候用值,是需要判断的。