→ azureblaze: 1.一般作業系統程式結束就會還 06/18 11:36
→ azureblaze: 2. java板在隔壁但我相信是1. 06/18 11:37
→ azureblaze: 記憶體卡到重開是很嚴重的問題,現代OS不會讓你這樣搞 06/18 11:38
推 ctrlbreak: 對OS而言JVM才是應用程式 XD 06/18 11:57
→ azureblaze: 可是JVM裡的OS理論上也會處理吧 06/18 12:14
→ uranusjr: 一個 JVM 通常就是對應到一個 Java application, 所以 06/18 13:51
→ uranusjr: 對 Java 而言前兩個其實基本上對等; 對於 OS 而言 JVM 06/18 13:52
→ uranusjr: 本身就是一個程式, 所以和 C/C++ 狀況一樣, 會不會在程 06/18 13:53
→ uranusjr: 式結束回收要看 OS, 前面 free() 討論串有稍微討論到 06/18 13:54
推 Killercat: 第一個問題 非保護模式的幾乎是定番,一定中獎 06/18 15:44
→ Killercat: 但是保護模式的OS通常都能正確歸還 06/18 15:44
→ Killercat: 第二個問題雖然是java 不過查"weak reference java" 06/18 15:45
→ Killercat: C++有對應的std::weak_ptr可以用 06/18 15:45
→ Killercat: 請養成善用weak reference的好習慣 善待自己也善待別人 06/18 15:46
→ ireullin: 請問非保護模式是指? 06/18 17:11
→ Killercat: DOS跟大多數的MCU都是非保護模式,請google保護模式 06/18 17:16
→ Killercat: ....其實我一時忘了名詞 非保護模式應該直接叫真實模式 06/18 17:17
→ Killercat: 主流OS都是保護模式 包含Linux OSX跟Windows 06/18 17:18
→ Killercat: 另外 C++11之前 也有boost::weak_ptr能用 06/18 17:20
→ tinlans: 去 MCU 廠上班就會知道死了... XD 06/18 23:18
→ WPC001: C++11的weak ptr跟這有啥關係? 你真的清楚甚麼是weak_ptr? 06/19 20:31
→ WPC001: C++... boost不是唯一... 也沒有一定要用 06/19 20:33
→ Killercat: 這是相對於shared_ptr對gc的(原理不同 結果一樣) 06/19 20:57
→ Killercat: app結束回收是另外一件事,他一共問了三件事情 06/19 20:58
→ Killercat: weak_ptr指的是他講的「java memory leak」 06/19 20:59
→ Killercat: 歸納一下 他問了1.記憶體app結束釋放 2.java的"leak"跟 06/19 21:00
→ Killercat: 3.Java程式結束何時記憶體會「歸還」 06/19 21:00
→ Killercat: 而我回答的是2 順便跟他說這相當於c++11的weak_ptr 06/19 21:01
→ Killercat: 而普通reference可以比做shared_ptr 06/19 21:02