看板 java 關於我們 聯絡資訊
大家好 我今天想要來問一下stack和 heap的進階應用 先說說我爬文還有看書知道的東西 就是基本上我現在只知道兩者的區別 變數基本上可能是 Primitive Type還有 Class Type 如果是Primitive Type會儲存在Stack Class Type會儲存在Heap 然後Stack 有後進先出的特色 Stack 的運算速度比較快但是長度與內容受限 Heap 的運算速度比較慢 我想問的是因為我是一個年資很淺的後端工程師 實際在開發的時候 最常遇到的狀況就是要去設計各式各樣的entity 或是pojo 想問 stack 還有 heap知道他們的差別之後 有甚麼可以應用在後端開發的嗎 能不能給個關鍵字 或是舉例 感謝各位~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.251.133 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1647859000.A.438.html
gasbomb: 書看一半的嗎… 那個你沒辦法控制 03/21 19:29
ssccg: JVM的heap只是一個有點誤導的名稱,就是動態配置的空間 03/21 20:34
ssccg: stack是因為在call stack,用stack的理由是因為method call 03/21 20:35
ssccg: 和return就是後進先出的過程,然後再來會碰到stack trace 03/21 20:37
ssccg: primitive type也只有是method的local variable才會存在 03/21 20:38
ssccg: stack,而reference type的reference(pointer)也同樣可能在 03/21 20:39
ssccg: stack上,是object內容才一定在heap,你根本還沒看懂 03/21 20:39
ntpuisbest: 感謝指證~ 03/21 20:57
ntpuisbest: 但我沒辦法自由決定哪些東東是要放在STACK還是HEAP 03/21 20:58
ntpuisbest: 所以知道後能幫助我什麼? 03/21 20:58
ntpuisbest: 我是要去查垃圾回收器嗎? 03/21 20:59
ntpuisbest: 還是把他當成一種程式的素養就好了?謝謝 03/21 20:59
ntpuisbest: https://i.imgur.com/4YRorN4.jpg 03/21 21:10
ntpuisbest: https://i.imgur.com/FTOnuGU.jpg 03/21 21:10
ntpuisbest: 看來有分三種,我一直以為只有stack 跟heap== 03/21 21:11
qrtt1: https://medium.com/p/f1e1733110aa 追程式時 call stack 03/22 11:59
qrtt1: 超級好用,根本就開圖工具。迷路時,打爆他看一下在哪。 03/22 12:00
MonyemLi: 跟gc有關係,由這裡開始看吧 03/23 11:37
ntpuisbest: 那我再看看gc,謝謝 03/24 12:29
glwl40039: 建議去讀jvm 03/25 11:46
iamtony: 資工系的 03/26 13:36