P9 寫這篇文章的初衷是為了深入的分析PermGen OOM發生的原因,在深入分析的基礎之上理解PermGen OOM的應對措施,從"為什么會發生PermGen OOM"到"到底為什么會發生PermGen OOM"。希望對大家更深入的認識PermGen OOM和PermGen OOM的應對措施起到作用。
P14 同步和線程安全的許多底層混淆是 Java 內存模型 (JMM)的一些難以直覺到的細微差別。并不是所有的多處理器系統都表現出緩存一致性假如有一個處理器有一個更新了的變量值位于其緩存中,但還沒有被存入主存,這樣別的處理器就可能會看不到這個更新的值。在緩存缺乏一致性的情況下,兩個不同的處理器可以看到在內存中同一位置處有兩種不同的值內存模型描述的是程序中各變量(實例域、靜態域和數組元素)之間的關系,以及在實際計算機系統中將變量存儲到內存和從內存取出變量這樣的低層細節。
P8 說起Java,人們首先想到的是Java編程語言,然而事實上,Java是一種技術,它由四方面組成:Java編程語言、Java類文件格式、Java虛擬機和Java應用程序接口(JavaAPI)。
P15 了解java的內存大致劃分<br>棧:存放基本類型的數據和對象的引用,但對象本身不存放在棧中,而是存放在堆中。<br>堆:存放用new產生的數據<br>靜態域:存放在對象中用static定義的靜態成員<br>常量池:存放常量。