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

  1. 在java语言是不推荐使用成员变量的,不当使用并发情况下会造成变量被污染,严重情况下会导致内存泄漏

我的理解:

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题