Stack vs Heap Memory - Simple Explanation

  Рет қаралды 168,519

Alex Hyett

Alex Hyett

Күн бұрын

I take a look at Stack and Heap Memory and how it affects your application. Knowing how memory is handled in your application can help you understand your variables' scopes.
☕️ I don’t accept paid sponsorships and I have turned off mid-video ads. You’re welcome! If you would like to support my channel see: ko-fi.com/alexhyett
📨 Join my free weekly newsletter for advice, technology and more: newsletter.alexhyett.com
🗺️ Backend Developer Roadmap: www.alexhyett.com/backend-dev...
📝 Blog Post: www.alexhyett.com/stack-vs-he...
🎓 RECOMMENDED COURSES (Use code FRIENDS10 for 10% off)
The Complete Web Developer Course - academy.zerotomastery.io/a/af...
The Complete Junior to Senior Web Developer Roadmap - academy.zerotomastery.io/a/af...
Complete SQL + Databases Bootcamp - academy.zerotomastery.io/a/af...
📚 RECOMMENDED BOOKS
Software Development
Clean Code - geni.us/5AEwj2
Clean Architecture - geni.us/yBrTX
Domain Driven Design - geni.us/WiR0Q0x
Design Patterns - geni.us/5ncUt
Developer Hegemony - geni.us/lAXy
Pragmatic Programmer - geni.us/GfNj9
Data Structures and Algorithms Made Easy - geni.us/sqg6kJ
Refactoring - geni.us/ufAP0mE
The Productive Programmer - geni.us/IT9WiN
Pragmatic Thinking and Learning - geni.us/x81A
Test Driven Development - geni.us/HFV52
Microservices - geni.us/8vMA
🚀 MY FAVOURITE TOOLS
Visual Studio Code - code.visualstudio.com/
Obsidian - obsidian.md/
Notion - affiliate.notion.so/alexhyett
⏳ TIMESTAMPS
00:00 Introduction
00:18 Three main parts
00:28 Stack data structure
00:51 Call stack
01:19 Heap differences
01:50 Variable storage rules
01:58 Value types and reference types
02:23 Local variables
02:40 Reference types on heap
02:57 Value types on heap
03:20 Garbage collector
03:53 Exceptions to the rule
04:40 Asynchronous methods
You can check out more of my favourite tools on my website:
www.alexhyett.com/tech/
🔗 MY KEY LINKS
🌍 Blog - www.alexhyett.com/
🐘 Mastodon - social.alexhyett.com/@alex
🧑‍💻WHO AM I
I'm Alex, a Software Developer and KZbin working in the UK. I make videos about software development to help developers with the skills they need to be senior developers. As well as this KZbin Channel, I also write articles on my website (alexhyett.com) as well as write a regular newsletter that contains some thoughts to help aspiring developers.
‼️ DISCLAIMERS
Some of the links in this description are affiliate links, for which I get a small commission, at no extra cost to you 🙂. I appreciate you supporting my channel so I can continue providing you with free software development content!
#coding #programming #developer

Пікірлер: 243
@michaeltheisen
@michaeltheisen Жыл бұрын
These ideas were saved in my head as a sequence of words for the entirety of my undergrad. If 5 short minutes you managed to actually help me understand a huge gap in my understanding. Thank you so much.
@alexhyettdev
@alexhyettdev Жыл бұрын
You're welcome Michael, I am glad it helped.
@saumyojitdas4212
@saumyojitdas4212 6 ай бұрын
​@@alexhyettdev public class Main { String s = "ABC"; public static void main(String[] args) { Main obj = new Main() ; System.out.println(obj.s); } } in this above code String object is created in heap and also of class. So 2 objects in heap. But isn't the string object Abc resides inside class object in the heap?that's why we are calling it obj.s
@rembautimes8808
@rembautimes8808 2 ай бұрын
Good video very in-depth
@crazychase443
@crazychase443 Ай бұрын
i feel the exact same way!! this random collection of words and statements now i feel like concrete concepts in my brain
@based6457
@based6457 Жыл бұрын
Perfect, really good explanation. Thank you!
@JakeeReacher
@JakeeReacher Жыл бұрын
Alex, you made my day. I would call you one of the best instructors! Your explanations are flawless. You explain perfectly in context. For instance, where you explain why variables are not accessible outside the method.
@alexhyettdev
@alexhyettdev Жыл бұрын
Jake, you made my day! Thank you for the lovely comment. I am glad you found it helpful!
@bitwisedevs469
@bitwisedevs469 2 ай бұрын
Finally a much simpler with actual sample code that explain the whole stack and heap stuff. Now I understand why and when OOM occurs in app, the usual suggestion is to increase heap size but said to be slow or when we do recursion recklessly we get stackoverflow.
@benessilfie
@benessilfie 11 ай бұрын
This explanation was exactly what I needed! thank you Alex
@alexhyettdev
@alexhyettdev 11 ай бұрын
You’re welcome I am glad it helped!
@sonederbr
@sonederbr Жыл бұрын
The best explanation/animation ever.
@alexhyettdev
@alexhyettdev Жыл бұрын
Thank you!
@kohltonpeterson3287
@kohltonpeterson3287 5 ай бұрын
This is one of the best programming related videos I have ever watched. It cleared up so much of my confusion in C++.
@alexhyettdev
@alexhyettdev 4 ай бұрын
Thank you!
@luminuslux
@luminuslux 11 ай бұрын
Not gonna lie, i cant state enough how explanations like this can massively improve your understanding of why code works the way it does. Just learning to code is one thing, but understanding whats behind all of it and WHY whatever thing actually is happening, can definitly up your game. Im not a pro by any means, but i think stuff like this is very important. The visual presentation also makes it way easier to follow and connect the concepts - so thx for that 😊
@alexhyettdev
@alexhyettdev 11 ай бұрын
Thank you, I am glad you enjoyed the video. I find it helps with remembering everything as well. If you can understand something then it tends to stick in your mind a bit better.
@csanid1
@csanid1 2 ай бұрын
hey this is an excellent video! i'd never thought or read about the link between variable scope and memory. thank you so much!
@patrickmccarthy7124
@patrickmccarthy7124 Жыл бұрын
The analogy of a stack of books provided much needed clarity for me. I appreciate the video mate!
@alexhyettdev
@alexhyettdev Жыл бұрын
You’re welcome, I am glad it was helpful.
@alexsal6069
@alexsal6069 3 ай бұрын
This is an excellent video about how the memory works, I love the last part about asynchronous methods. Thank you for this awesome content. I wish you could speak more about asynchronous functions. 😃
@balajia.t1487
@balajia.t1487 2 ай бұрын
A nice and concise explanation . Wishing you all the best for better reach of your subsequent tutorials so a lot from community would benefit
@amalekilawlor2922
@amalekilawlor2922 10 ай бұрын
Wow this was an incredible series of topics, thank you!
@alexhyettdev
@alexhyettdev 10 ай бұрын
Thanks, I’m glad you enjoyed it!
@Mythical_Beastinator
@Mythical_Beastinator Жыл бұрын
Very well explained. Thank you!
@alexhyettdev
@alexhyettdev Жыл бұрын
Thank you, I am glad you liked it!
@Freepackman
@Freepackman 11 ай бұрын
absolutely brilliant explanation, thanks a lot
@alexhyettdev
@alexhyettdev 11 ай бұрын
Thanks, I am glad it was useful!
@SSn0wx
@SSn0wx 4 ай бұрын
Great explanation. I do mostly web development, but I've been getting into low-level programming recently, and your video really helped me reach out into my bucket of programming concepts and rearrange a bunch of previous knowledge I had about computers into something more clear and concise. Thanks!
@alexhyettdev
@alexhyettdev 3 ай бұрын
You're welcome, glad I could help!
@timi_t_codes
@timi_t_codes 9 ай бұрын
Thanks for this simple and straight to the point explanation
@alexhyettdev
@alexhyettdev 9 ай бұрын
You’re welcome!
@kasunsaumya3151
@kasunsaumya3151 9 ай бұрын
Simply love your explanations.. Clean and deep..
@alexhyettdev
@alexhyettdev 9 ай бұрын
Thank you! 🙏
@potatopotato4676
@potatopotato4676 3 ай бұрын
Your explanations are immaculate! You'll definitely make it big if you want to. I am glad I caught your channel early at 18.4k subscribers
@alexhyettdev
@alexhyettdev 3 ай бұрын
I appreciate that! Will be making more videos soon.
@polimorphic13
@polimorphic13 Ай бұрын
Excellent explanation. Thank you so much.
@dorianneto2859
@dorianneto2859 Жыл бұрын
Such an intuitive and simple explanation!
@alexhyettdev
@alexhyettdev Жыл бұрын
Thank you, I am glad it was helpful.
@paulventura3118
@paulventura3118 Жыл бұрын
Great explanation! Thanks Alex!
@alexhyettdev
@alexhyettdev Жыл бұрын
You’re welcome!
@triphazard2906
@triphazard2906 Жыл бұрын
lovely explanation, thank you for this
@alexhyettdev
@alexhyettdev Жыл бұрын
You’re welcome! I am glad it was useful.
@davidjiang7929
@davidjiang7929 Ай бұрын
Thanks for the great explanations!
@wajdwael8775
@wajdwael8775 26 күн бұрын
That is a great, clear, and easy explanation, thank you.
@may8128
@may8128 Жыл бұрын
Loved the explanation !
@alexhyettdev
@alexhyettdev Жыл бұрын
Thank you! I am glad it was helpful.
@cmaz6132
@cmaz6132 Жыл бұрын
Great tutorial, it really helped me! Keep it up👍
@alexhyettdev
@alexhyettdev Жыл бұрын
Thank you! I am glad you found it helpful.
@nomymathieu-petrin5672
@nomymathieu-petrin5672 Жыл бұрын
A hidden gem !!! Thanks you so much, I understand it so much better now !!!!
@alexhyettdev
@alexhyettdev Жыл бұрын
I am glad it helped!
@gavinmeeker287
@gavinmeeker287 Жыл бұрын
Really great video! This helped so much
@alexhyettdev
@alexhyettdev Жыл бұрын
Thank you I appreciate the kind words. I am glad it was helpful.
@milehighgaragespeedshop1065
@milehighgaragespeedshop1065 Жыл бұрын
Excellent explainer and graphics THX
@alexhyettdev
@alexhyettdev Жыл бұрын
You’re welcome, I am glad you like it.
@mehtubbhai9709
@mehtubbhai9709 2 ай бұрын
@Alex Hyett As always, you give the best explanation of whatever programming topics that you cover. Please keep up the great work and keep the content coming. I'm a fan :)
@alexhyettdev
@alexhyettdev Ай бұрын
Thank you, I am glad you like them!
@chocolate_Almonds
@chocolate_Almonds 9 ай бұрын
Dude, that was awesome. You explained what I tried to wrap my head around in college courses, in 5 minutes. ily :)
@alexhyettdev
@alexhyettdev 9 ай бұрын
Thank you! 👍
@MarcoLenzo
@MarcoLenzo 8 ай бұрын
This video was very good! I really like the way you explain!
@alexhyettdev
@alexhyettdev 8 ай бұрын
Thank you! I am glad you liked it.
@vfryhn2
@vfryhn2 Жыл бұрын
Such a great explanation
@alexhyettdev
@alexhyettdev Жыл бұрын
Thank you! I am glad you liked it.
@billbasdras5568
@billbasdras5568 2 ай бұрын
That's good stuff ❤ subscribed
@scubagoblin
@scubagoblin 7 ай бұрын
Reading a book right now that explains this concept rather poorly over 20 pages. You managed to grant me understanding in 5 minutes, and now I can continue reading past the chapter. Thank you, great explanation!
@alexhyettdev
@alexhyettdev 7 ай бұрын
You’re welcome! I am glad I could help you understand it. Hopefully more fun than reading 20 pages of that book.
@iDeveloper92
@iDeveloper92 9 ай бұрын
Excellent breakdown!
@alexhyettdev
@alexhyettdev 9 ай бұрын
Thank you!
@JanosTech
@JanosTech 7 ай бұрын
Fantastic explanation, thanks mate!
@alexhyettdev
@alexhyettdev 7 ай бұрын
You’re welcome! I am glad you liked it.
@0bsy96
@0bsy96 2 ай бұрын
My jaw dropped when you explained what happens to variables declared in the stack, I never made the connection between this fact and the scope of variables, thank you soooo much !!!
@nikolabosevski1435
@nikolabosevski1435 2 ай бұрын
Samee heree, I've never even thought of why we couldn't call variables from different scopes, i just took it for granted this opened my eyes
@TheHermitProcess
@TheHermitProcess Ай бұрын
I'd be extremely weary of taking this for fact. It is up to the compiler to generate scoping rules, as far as I know. Look into it a bit more.
@Tanessok
@Tanessok Ай бұрын
Thank you sir. Good Explanation. Please, I wish you make a video on "Why in Java, Do Local Variables Used in Lambdas Have to Be Final or Effectively Final?" and please make the explanations at the memory level too, so we can understand all the mechanics behind it.
@gantushigsaruul2489
@gantushigsaruul2489 2 ай бұрын
Thank you for easy to understand and great video
@JHatLpool
@JHatLpool 2 ай бұрын
Very nice explanation. Thanks !
@MrHussien66
@MrHussien66 4 ай бұрын
you actually help me understand a lot ,thank you sir
@alexhyettdev
@alexhyettdev 4 ай бұрын
You’re welcome!
@AXkj3mmy
@AXkj3mmy 2 ай бұрын
Thank you! This was great
@i_am_dumb1070
@i_am_dumb1070 11 ай бұрын
Thank you very much i was not able to understand this concept even after reading and watching a lot of videos now i have a good understanding of this
@alexhyettdev
@alexhyettdev 11 ай бұрын
That’s great! I am glad I helped.
@i_am_dumb1070
@i_am_dumb1070 11 ай бұрын
@@alexhyettdev if possible can you please explain the anonymous function part i didn't get it
@Ali_Pxll
@Ali_Pxll 4 ай бұрын
Man you're a savior thanks for the clear explanation
@alexhyettdev
@alexhyettdev 4 ай бұрын
Thanks, glad I could help
@johndzikunu9986
@johndzikunu9986 11 ай бұрын
This is good. Have learned some things I could not know in a year.
@alexhyettdev
@alexhyettdev 11 ай бұрын
That’s great I am glad you learned something from it. Thank you for commenting.
@younesmdarhrialaoui643
@younesmdarhrialaoui643 10 ай бұрын
Great explanation!
@alexhyettdev
@alexhyettdev 10 ай бұрын
Thanks! I’m glad it was helpful!
@miladfahimi4787
@miladfahimi4787 Ай бұрын
that was flawless thanks a million man
@alexhyettdev
@alexhyettdev Ай бұрын
You're welcome, I am glad you liked it.
@nargesdeypir4579
@nargesdeypir4579 8 ай бұрын
Hey man, awesome awesome tutorial
@alexhyettdev
@alexhyettdev 8 ай бұрын
Thank you!
@GG-sw9vm
@GG-sw9vm 9 ай бұрын
that was a clean description of stack and heap. Never knew about anonymous function being a heap, but it makes sense
@alexhyettdev
@alexhyettdev 9 ай бұрын
Thanks I am glad you liked it 👍
@juliaclaire68
@juliaclaire68 7 ай бұрын
thank you! very clear
@alexhyettdev
@alexhyettdev 7 ай бұрын
You're welcome Julia, thank you for commenting.
@ragtop63
@ragtop63 2 ай бұрын
Well done! Very good video.
@tannguyen_91
@tannguyen_91 2 ай бұрын
amazing, this help me understand everything
@jacobL1172
@jacobL1172 8 ай бұрын
Learning Redux right now, so very helpful! Definitely subscribing.
@alexhyettdev
@alexhyettdev 8 ай бұрын
Awesome, thank you!
@alireza.m
@alireza.m 10 ай бұрын
Thanks for the video
@alexhyettdev
@alexhyettdev 10 ай бұрын
You’re welcome!
@hamidouhsemix8940
@hamidouhsemix8940 6 ай бұрын
Nice video, very helpful
@alexhyettdev
@alexhyettdev 6 ай бұрын
You’re welcome, thanks for commenting.
@johnolawale2749
@johnolawale2749 Ай бұрын
Finally, i now understand the differences between these two. Thank you for the video
@alexhyettdev
@alexhyettdev Ай бұрын
You're welcome 😊
@tibebetech4867
@tibebetech4867 11 ай бұрын
Thank you!
@alexhyettdev
@alexhyettdev 11 ай бұрын
You're welcome, I am glad you liked my video.
@ukaszkiepas57
@ukaszkiepas57 2 ай бұрын
Thank you very much mate. Clear : )
@Fernando-du5uj
@Fernando-du5uj Ай бұрын
You're great. Thanks
@rafaelstrack5858
@rafaelstrack5858 2 ай бұрын
Great video!
@Black_Cats_
@Black_Cats_ 8 ай бұрын
Good video. One question: In the case of results from asynchronous methods, once the asynchronous function completes, who cleans up the result in the heap that was left over by the async function?
@alexhyettdev
@alexhyettdev 8 ай бұрын
Generally they will be cleaned up by the garbage collector in the same way other objects on the heap are.
@Black_Cats_
@Black_Cats_ 8 ай бұрын
@@alexhyettdev thanks for your response
@shadon_official2510
@shadon_official2510 Ай бұрын
this video is gold! wow!
@alexhyettdev
@alexhyettdev Ай бұрын
Thank you!
@Soupie62
@Soupie62 2 ай бұрын
How does garbage collection handle memory fragmentation? Is there a heap defrag utility? Do you wipe the heap when a program ends? What is multiple programs / threads run concurrently? Now I need to check the rest of your videos for answers. Thank you for starting my journey.
@EugeneDaveAstator
@EugeneDaveAstator 4 ай бұрын
Awesome video! Id like to add that in csharp async doesnt always equal multithreading, and since it uses internal statemachine which is a class, asyncs may get allocated on the heap
@alexhyettdev
@alexhyettdev 4 ай бұрын
Yes it’s a good point!
@alejandropoirier6493
@alejandropoirier6493 5 ай бұрын
Amazing explanation, greetings from Chile
@alexhyettdev
@alexhyettdev 5 ай бұрын
Thank you! Hi 👋 from UK 🇬🇧
@DiogoSilva-xx8nz
@DiogoSilva-xx8nz 6 ай бұрын
neat explanation, ty
@alexhyettdev
@alexhyettdev 6 ай бұрын
Thank you. Thanks for commenting!
@sunnypatel1045
@sunnypatel1045 6 ай бұрын
Nice video pal. I love to see a video about boxing and unboxing.
@alexhyettdev
@alexhyettdev 6 ай бұрын
Thanks! Sure I will add it to my list.
@PalasBrown
@PalasBrown Жыл бұрын
thanks for your video
@alexhyettdev
@alexhyettdev Жыл бұрын
You're welcome, I am glad you liked it!
@AdrianTregoning
@AdrianTregoning 8 ай бұрын
Create more content, you'll be to a million subscribers within a few short years I have no doubt. Your content is pure gold, thank you for explaining this so clearly.
@alexhyettdev
@alexhyettdev 8 ай бұрын
Thank you 🤞🏻. Regular content will be back again in September. I have had some family commitments that has put a stopper to my videos this month.
@AdrianTregoning
@AdrianTregoning 8 ай бұрын
@@alexhyettdev fully understand. Good luck! I quit my full time job as a mechanical engineer to become a programmer/coder of sorts. Bit tough being a student at age 41 but for me I made the decision to ultimately spend more time with my family. Have a super day further.
@rembautimes8808
@rembautimes8808 2 ай бұрын
Loved the garbage collector animation. Very nice and funny
@user-ej8tt6lr2k
@user-ej8tt6lr2k 11 күн бұрын
Great Vid
@petarkolev6928
@petarkolev6928 3 күн бұрын
Such a precious channel!!! Instant sub from me 🍻🍻
@lachlankitchen528
@lachlankitchen528 6 ай бұрын
Brilliant video
@alexhyettdev
@alexhyettdev 6 ай бұрын
Thank you!
@joshuafashe9437
@joshuafashe9437 5 ай бұрын
God bless you man.
@alexhyettdev
@alexhyettdev 5 ай бұрын
Thank you! 🤩
@ivandrofly
@ivandrofly Ай бұрын
Nice explanation :)
@alexhyettdev
@alexhyettdev Ай бұрын
Thanks 🙂
@ronz91
@ronz91 11 ай бұрын
Great video
@alexhyettdev
@alexhyettdev 11 ай бұрын
Thank you!
@yassinekharkhach4889
@yassinekharkhach4889 10 ай бұрын
you are the king
@alexhyettdev
@alexhyettdev 10 ай бұрын
Thanks man 👑!
@kwaku_2023
@kwaku_2023 12 күн бұрын
@4:23 what do you mean by the anonymous function is pushed on top of the stack and not have access to what previous level down? You mean even variables within main?
@leeeric6292
@leeeric6292 9 ай бұрын
Many thanks to your video, this KZbin is valuable, so I read word by word carefully. And I find at 03:55, about the static variable, which is different from what you mentioned in your flvog (the link you provide in descriptions). In ur flvog, in para "where do static variable live", there you said static variables even if they are value types are not stored on the stack or the heap...need clarify? Thanks.
@alexhyettdev
@alexhyettdev 9 ай бұрын
Thanks for spotting the discrepancy! I need to update my blog to make things clearer. Basically it is an implementation detail. In C# static variables are part of the MethodTables on the "High Frequency Heap". Which is a special part of the Heap memory for static variables and internal data structures. In C and C++ they are stored on the Data Segment, which is a special part of the memory for storing static variables and internal data structures. :) Sound familiar? If you look up Data Segment and High Frequency Heap they are both in the same place in memory. By the looks of things they are just slightly different implementations of the same thing. There is an old article here that explains it in depth: web.archive.org/web/20140724084944/msdn.microsoft.com/en-us/magazine/cc163791.aspx Jon Skeet also has a good article on it as well: jonskeet.uk/csharp/memory.html
@leeeric6292
@leeeric6292 9 ай бұрын
@@alexhyettdev Thanks for your response and your KZbin.
@nobody-dy6ld
@nobody-dy6ld 10 ай бұрын
thank you.
@alexhyettdev
@alexhyettdev 10 ай бұрын
You’re welcome!
@hermanheinz33
@hermanheinz33 11 ай бұрын
Very good video
@alexhyettdev
@alexhyettdev 11 ай бұрын
Thank you! I am glad you enjoyed it.
@harrylyod3402
@harrylyod3402 6 ай бұрын
Noice explanation thanks mate
@alexhyettdev
@alexhyettdev 6 ай бұрын
Glad it helped
@Cruz0e
@Cruz0e 9 ай бұрын
what does "heap has higher overheads" mean...? higher cost? I assume (seeing that little 'watch' with pointer at high) that you mean for example it's slower, because it's more complicated for the "machine code" to add to the heap?
@alexhyettdev
@alexhyettdev 9 ай бұрын
Yes higher overheads as in performance. It is slower to add to the heap compared to the stack.
@aelesbao
@aelesbao 6 ай бұрын
This video needs to be promoted higher on KZbin. Anyone who wants to learn Rust should start from here before diving into the borrow checker.
@alexhyettdev
@alexhyettdev 6 ай бұрын
Thank you. I am glad it is useful for people learning Rust as well. Some of the C# references might not be applicable but hopefully the rest is. I need to learn rust as well actually!
@Cruz0e
@Cruz0e 9 ай бұрын
"In a previous video" you talked about value type and reference type... can we get a link to that? I found a playlist but this is the first video in it.. there is no previous video
@alexhyettdev
@alexhyettdev 9 ай бұрын
It was very briefly here: kzbin.info/www/bejne/pnyplImpZ62cmKM
@Misteribel
@Misteribel 2 ай бұрын
3:01 small correction. A const is NOT allocated on the heap. In fact, it's embedded on the call site at compile time (in C#/F#/VB), the reference is removed (you can test this: create a const in another lib, reference and use it in your lib. Compile. Now update the const in the referenced lib and recompile, but do not recompile your lib. You'll see it did not change on the call site). What you probably want is readonly, which, in your example at 3:01, would then be allocated on the heap.
@wajdwael8775
@wajdwael8775 26 күн бұрын
Can you recommend 2 or more books on memory and data structures?
@217-sritejrajulu6
@217-sritejrajulu6 8 ай бұрын
awesome
@alexhyettdev
@alexhyettdev 8 ай бұрын
Thank you!
@abdulhaseeb114
@abdulhaseeb114 7 ай бұрын
How could I assign which data must store in which memory?
@alexhyettdev
@alexhyettdev 7 ай бұрын
You can't. It is decided by the application runtime.
@abdulhaseeb114
@abdulhaseeb114 7 ай бұрын
Thank Alex, So in that case , then why I should know about the memory allocation if I can't able to assign.. There must be a reason pls help me understand..
@WhiteSiroi
@WhiteSiroi 5 ай бұрын
thank you
@alexhyettdev
@alexhyettdev 5 ай бұрын
You're welcome!
@xetz
@xetz 3 ай бұрын
very nice video
@aligharaibeh3761
@aligharaibeh3761 2 ай бұрын
Heap is the same as heap data structure for prioritizing values?
@TheChyamp
@TheChyamp 10 ай бұрын
Aren't static variables stored in the data segment? Not sure if any language stores static variables in the heap?
@alexhyettdev
@alexhyettdev 10 ай бұрын
It seems to depend on the language. For C# they are stored in the heap from what i have read. C and C++ you right it is the data segment.
@vikingghost117
@vikingghost117 10 ай бұрын
I haven't coded in over a year. I had a dream where I was traversing a world on some quest to explain stack vs heap to all these people getting it wrong, and I knew they were wrong but didn't know why. Soon as I woke up I came here. Now I can sleep at night again. Thanks! 😂 It was an..(Explain you're a nerd without saying you're a nerd XD)... moment.
@alexhyettdev
@alexhyettdev 10 ай бұрын
I am glad I can help you sleep at night! 😂
@doctrina3344
@doctrina3344 9 ай бұрын
I just have one question about this, are the heap and the stack RAM? Does ROM have them too?
@alexhyettdev
@alexhyettdev 9 ай бұрын
Yes Stack and Heap are stored in the RAM. ROM doesn't have a stack or heap as ROM is Read Only Memory. It is written once and can't be changed. It is typically used for low level code such as the BIOS. Although even that is usually stored on Electronically Erasable ROM (EEROM) so that it can be updated. All of the applications on your computer including the OS will use the RAM. Stack and Heap are just ways in which the memory is structured to store your application code.
@dflosounds
@dflosounds 2 ай бұрын
Great explanation! Thank you! My only bit of feedback would be to stay on the graphic visualizations longer. The constant switching between the visualizations and the shot of you talking is a bit jarring and makes it harder to focus.
@tylersmith8245
@tylersmith8245 Жыл бұрын
Incredible. Even though I've been a professional developer for six years, I was having a crisis of confidence tonight because I've worked with languages where I never have to worry about this directly. I was asking myself, "Do I even know anything about computers if I don't know the difference between the stack and the heap?" Five minutes and twenty-seven seconds later, I feel like I have a solid understanding of the difference and I'd be capable of talking about this intelligently. Thank you 🙏
@alexhyettdev
@alexhyettdev Жыл бұрын
I have been a developer for 12 years and I went through exactly the same thought process before making this video. I am really glad it helped you.
@___gg421
@___gg421 Жыл бұрын
Same here just went through a training where some memory management stuff was covered and I felt like an imposter. This made it all make sense
@frankkim9178
@frankkim9178 9 ай бұрын
Can't find the reference type and value type video. Can you please share the link/ Thanks!
@alexhyettdev
@alexhyettdev 9 ай бұрын
It was very briefly here: kzbin.info/www/bejne/pnyplImpZ62cmKM I probably need to do a separate video on them to be honest.
@frankkim9178
@frankkim9178 9 ай бұрын
@@alexhyettdev I like the way you explain the concepts!! Would to love see the a video about pass by value and pass by reference with more examples.
Stack vs Heap Memory in C++
19:31
The Cherno
Рет қаралды 543 М.
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Alex Hyett
Рет қаралды 134 М.
ЗРЯ Я 24 ЧАСА СТОЯЛ НА ГВОЗДЯХ! #нонале
00:35
Help Herobrine Escape From Spike
00:28
Garri Creative
Рет қаралды 55 МЛН
Pointers and dynamic memory - stack vs heap
17:26
mycodeschool
Рет қаралды 1,4 МЛН
How Senior Programmers ACTUALLY Write Code
13:37
Healthy Software Developer
Рет қаралды 1,2 МЛН
Backend Developer Roadmap - Everything you need to know in 2023
6:52
#26 Stack And Heap in Java
12:37
Telusko
Рет қаралды 170 М.
unlock the lowest levels of coding
7:05
Low Level Learning
Рет қаралды 207 М.
5 Signs of an Inexperienced Self-Taught Developer (and how to fix)
8:40
The purest coding style, where bugs are near impossible
10:25
Coderized
Рет қаралды 794 М.
i wrote my own memory allocator in C to prove a point
5:23
Low Level Learning
Рет қаралды 301 М.
Stack, Heap, and Static Memory
9:39
Let's Get Rusty
Рет қаралды 42 М.
WHY IS THE STACK SO FAST?
13:46
Core Dumped
Рет қаралды 119 М.