[問題] stack和heap的進階應用?

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

Links booklink

Contact Us: admin [ a t ] ucptt.com