1樓:匿名使用者
當把條件變數或互斥量放在共享記憶體區時,可用於程序間同步。
同樣的情況還有讀寫鎖,它們都是隨程序的持續性。
j**a裡的靜態變數是放在了堆記憶體還是棧記憶體
2樓:百度網友
不在棧和堆中,在方法區中。詳解見樓上的回答。
3樓:育知同創教育
堆區:1.儲存的全部是物件,每個物件都包含一個與之對應的class的資訊。(class的目的是得到操作指令)
2.jvm只有一個堆區(heap)被所有執行緒共享,堆中不存放基本型別和物件引用,只存放物件本身
棧區:1.每個執行緒包含一個棧區,棧中只儲存基礎資料型別的物件和自定義物件的引用(不是物件),物件都存放在堆區中
2.每個棧中的資料(原始型別和物件引用)都是私有的,其他棧不能訪問。
3.棧分為3個部分:基本型別變數區、執行環境上下文、操作指令區(存放操作指令)。
方法區:
1.又叫靜態區,跟堆一樣,被所有的執行緒共享。方法區包含所有的class和static變數。
2.方法區中包含的都是在整個程式中永遠唯一的元素,如class,static變數。