美文网首页
20160609收获

20160609收获

作者: 邓楼平 | 来源:发表于2016-06-23 03:24 被阅读0次

    栈内存与堆内存

    这个区别对于我们来说并不大,这是内存分配的两种方法。一般代码逻辑,简单变量,结构体都是放入栈中,而对象,以及被装箱的数据是放入堆中的。

    简单来说,栈就是一个很长的栈(数据结构中的栈,如果不理解可以当做是像线一样的一长串数据)。里面存着各种逻辑,以及像整形,浮点型等数据,根据栈先进先出的原则,代码会一条条被执行,执行代码中包含着栈中可以存放的数据。但数据量过大的时候,存入栈中会明显影响性能。所以,我们将大量的数据存入堆中,之后,栈中放堆的地址。这样,在进行数据调用的时候,可以通过地址找到对应数据。

    对于我们来说,没有什么特别的方法可以进行堆和栈之间的转换,比如说结构体就是值类型,只能放在栈中,除非你把它转换为类,否则它永远都在栈中。反之亦然。


    javascript垃圾收集机制

    标记清除,引用计数(循环引用是个坑)

    性能问题:何时调用垃圾收集器。手动管理管理内存可通过解除引用。

    相关文章

      网友评论

          本文标题:20160609收获

          本文链接:https://www.haomeiwen.com/subject/oyksdttx.html