每天一个知识点(二)
2020-03-27 本文已影响0人
少年小马
有时候,同样的代码源程序与交互式终端的执行结果不同。这是因为源程序是一次执行,系统只开辟一个内存空间,这让相同的数值可以进行复用(相同数值id相同)。交互式终端代码一行一行执行,每一行都有对应的结果,当数值处于[-5,255]之间时,这些数值组成小整数对象池内,这时系统开辟一个空间,数值可以复用,当数值处于大整数对象池时,每一次定义大整数对象,即使数值相同,系统也会开辟不同的内存空间,即id不同。
![](https://img.haomeiwen.com/i22046961/ced985cc153fda56.jpg)
有时候,同样的代码源程序与交互式终端的执行结果不同。这是因为源程序是一次执行,系统只开辟一个内存空间,这让相同的数值可以进行复用(相同数值id相同)。交互式终端代码一行一行执行,每一行都有对应的结果,当数值处于[-5,255]之间时,这些数值组成小整数对象池内,这时系统开辟一个空间,数值可以复用,当数值处于大整数对象池时,每一次定义大整数对象,即使数值相同,系统也会开辟不同的内存空间,即id不同。