python也可能有内存溢出的相似状况

在原生的编译器中,若是进行以下定义
a=1000
b=1000
print id(a),id(b)
会发现,两个的结果是不一样的。id()是用来查看对象的内存地址的,若是咱们定义大量的int变量,就有了内存溢出的可能性。python

查了下,python对于小整数对象,[-5, 257),是预分配内存地址的。若是超出这个范围则使用通用的缓冲池,对于大整数则有PyIntBlock,用来做缓冲池。因此出现了咱们上述的现象。eclipse

对int类变量值相同的状况,若是使用a=b=1000来定义,id(a)和id(b)的内存地址就是同一个了,能够必定程度上下降溢出的可能。测试

非原生的编译器中,貌似对上述状况进行过优化。在eclipse中测试,一样值,一般都是同一个内存地址。优化

自学,最痛苦的就是坚持!对象

相关文章
相关标签/搜索