ruby中使用类变量会导致内存泄露吗?(本人新手)

在我现在使用的场景是——项目组使用ruby做自动化用例,而写的用例结构如下

class TestClass < Watir::TestCase
def test_init
@@aa=XXX.new()
@@bb=XXXX.new()
...
end

def test_
#使用类对象
end
end

测试用例很多,并且都使用的是类变量,一个一个类开始执行

在这种情况下会导致内存泄露吗?我想感觉这个和类变量的生命周期有关系,另外也想知道这里面的垃圾回收机制是怎么管理这些类变量的

非常感谢!

1个回答

比如
a = TestClass.new
b = TestClass.new

2个@ 是属于 TestClass 的变量,a和b都能访问 TestClass的@@变量而已.
1个@ 是属于 a和b 自己的.

垃圾回收是一旦执行 @@aa=XXX.new() 这句,则原 @@aa 的旧值XXX.new()如果不再被使用,就回收了.

我想就算你每秒调用1万次 TestClass.new , 也不会泄漏吧.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!