问答

go语言框架中会出现静态语言如java的成员变量内存溢出的问题么?

作者:admin 2021-04-22 我要评论

在java语言是不推荐使用成员变量的,不当使用并发情况下会造成变量被污染,严重情况下会导致内存泄漏 我的理解: go语言并发情况下,每个请求都单独分配一个goro...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
  1. 在java语言是不推荐使用成员变量的,不当使用并发情况下会造成变量被污染,严重情况下会导致内存泄漏

我的理解:

  1. go语言并发情况下,每个请求都单独分配一个goroutine来处理,请求响应结束后,该goroutine会被回收,如果有新的请求,会重新创建新的goroutine来处理,所以不会出现上面的问题
###

你说的是spring框架吧,这个框架是使用依赖注入的,每个类都是单例,所以不能使用成员变量,这样在并发情况下会导致属性比多线程操作。
go里面也存在这种问题,比如,如果你的一个结构体是包级别变量,在多个请求中都操作了这个变量的属性,就会存在并发问题。
其实这个不是语言问题,是框架设计和使用问题。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 求助!Mysql workbench connections出

    求助!Mysql workbench connections出

  • c++ 的dll 转golang可以调用

    c++ 的dll 转golang可以调用

  • c++的 new int{10}  和 new int(10) 有

    c++的 new int{10} 和 new int(10) 有

  • Grafana MySQL为数据源时, 折线图无法

    Grafana MySQL为数据源时, 折线图无法

腾讯云代理商
海外云服务器