作者ntpuisbest (阿龍)
看板java
標題[問題] stack和heap的進階應用?
時間Mon Mar 21 18:36:38 2022
大家好
我今天想要來問一下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://webptt.com/m.aspx?n=bbs/java/M.1647859000.A.438.html
1F:→ gasbomb: 書看一半的嗎… 那個你沒辦法控制 03/21 19:29
2F:→ ssccg: JVM的heap只是一個有點誤導的名稱,就是動態配置的空間 03/21 20:34
3F:→ ssccg: stack是因為在call stack,用stack的理由是因為method call 03/21 20:35
4F:→ ssccg: 和return就是後進先出的過程,然後再來會碰到stack trace 03/21 20:37
5F:→ ssccg: primitive type也只有是method的local variable才會存在 03/21 20:38
6F:→ ssccg: stack,而reference type的reference(pointer)也同樣可能在 03/21 20:39
7F:→ ssccg: stack上,是object內容才一定在heap,你根本還沒看懂 03/21 20:39
8F:→ ntpuisbest: 感謝指證~ 03/21 20:57
9F:→ ntpuisbest: 但我沒辦法自由決定哪些東東是要放在STACK還是HEAP 03/21 20:58
10F:→ ntpuisbest: 所以知道後能幫助我什麼? 03/21 20:58
11F:→ ntpuisbest: 我是要去查垃圾回收器嗎? 03/21 20:59
12F:→ ntpuisbest: 還是把他當成一種程式的素養就好了?謝謝 03/21 20:59
15F:→ ntpuisbest: 看來有分三種,我一直以為只有stack 跟heap== 03/21 21:11
18F:→ qrtt1: 超級好用,根本就開圖工具。迷路時,打爆他看一下在哪。 03/22 12:00
19F:→ MonyemLi: 跟gc有關係,由這裡開始看吧 03/23 11:37
20F:→ ntpuisbest: 那我再看看gc,謝謝 03/24 12:29
21F:→ glwl40039: 建議去讀jvm 03/25 11:46
22F:推 iamtony: 資工系的 03/26 13:36