第一:程序在運行時內存實際的訪問順序和程序代碼編寫的訪問順序不必定一致,這就是內存亂序訪問。內存亂序訪問行爲出現的理由是爲了提高程序運行時的性能。內存亂序訪問主要發生在兩個階段:html
Memory barrier 可以讓 CPU 或編譯器在內存訪問上有序。一個 Memory barrier 以前的內存訪問操做一定先於其以後的完成。Memory barrier 包括兩類:java
第三:IE中的內存泄漏有好幾種,這裏有詳細的解釋(http://msdn.microsoft.com/en-us/library/bb250448.aspx),園子裏也有翻譯了(http://www.cnblogs.com/birdshome/archive/2006/05/28/ie_memoryleak.html)。node
這裏只討論其中一種,即循環引用所形成的內存泄漏,由於,這是一種最廣泛的狀況。函數
第四:當在DOM元素或一個ActiveX對象與普通JavaScript對象之間存在循環引用時,IE在釋放這類變量時存在特殊的困難,最好手動切斷循環引用,這個bug在IE 7中已經被修復了(http://www.quirksmode.org/blog/archives/2006/04/ie_7_and_javasc.html)。性能
「IE 6 suffered from memory leaks when a circular reference between several objects, among which at least one DOM node, was created. This problem has been solved in IE 7. 」優化