当前位置:网站首页>What is the difference between memory leak and memory overflow?
What is the difference between memory leak and memory overflow?
2022-07-01 23:21:00 【fish_ study_ csdn】
One Relevant concepts :
out of memory (out of memory): When a program requests memory , Not enough memory for it , appear out of memory; Like applying for a integer, But save it long Number that can be saved , That's memory overflow .
Memory leak (memory leak): Refers to the program after applying for memory , Unable to free requested memory space , The harm of a memory leak can be ignored , But the memory leak has serious consequences , No matter how much memory , Sooner or later it will be taken up .
difference : Memory overflow is when a program requests memory , Not enough memory for it , The system can no longer allocate the space you need ; Memory leak refers to the program after applying for memory , Unable to free requested memory space , The harm of a memory leak can be ignored , However, the number of memory leaks will lead to memory overflow .
Memory overflow is when you ask for more memory than the system can give you , The system can't meet the demand , So there's overflow .
A memory leak is when you apply to the system to allocate memory for use (new), But they don't return it after using it (delete), As a result, you can't access the memory you applied for ( Maybe you lost its address ), And the system can't assign it again to the program it needs . A plate can only hold 4 A fruit , You put on 5 individual , As a result, I fell to the ground and couldn't eat . This is overflow ! Like stacks , When the stack is full, it will cause space overflow , Call for overflow , When the stack is empty, it will cause space overflow , It's called underflow . The memory allocated is not enough to put down the sequence of data items , It's called a memory overflow .
Classify in the way that they happen , Memory leaks can be divided into 4 class :
1、 Frequent memory leaks . Code with memory leaks will be executed multiple times to , Each time it is executed, it will cause a memory leak .
2、 Occasional memory leak . Code that has a memory leak only happens under certain circumstances or operating procedures . Recurrent and episodic are relative . For a particular environment , What happens occasionally may become what happens frequently . So test environment and test method are very important to detect memory leak .
3、 One time memory leak . Code with a memory leak will only be executed once , Or because of algorithm flaws , There will always be a single memory leak . such as , Allocate memory in the class's constructor , In the destructor, the memory is not freed , So memory leaks only happen once .
4、 Implicit memory leaks . Program in the process of running the allocation of memory , But don't release memory until the end . Strictly speaking, there is no memory leak , Because eventually the program frees up all of the requested memory . But for a server program , It takes a few days to run , Weeks or even months , Not releasing memory in time can also lead to the eventual exhaustion of all the system's memory . therefore , We call such memory leaks implicit memory leaks .
From the point of view of the user using the program , Memory leaks themselves don't do any harm , As a general user , There is no memory leak at all . The real danger is the accumulation of memory leaks , This will eventually consume all the memory of the system . From this perspective , One time memory leaks don't hurt , Because it doesn't pile up , The implicit memory leak is very harmful , Because it is more difficult to detect than frequent and accidental memory leaks
边栏推荐
- Some abilities can't be learned from work. Look at this article, more than 90% of peers
- shell 自定义函数
- Linux基础 —— CentOS7 离线安装 MySQL
- 每日三题 6.29
- Win 10 mstsc connect RemoteApp
- [micro service sentinel] sentinelresourceaspect details
- Understanding threads
- 众昂矿业:发展以氟化工为主的特色化工产业具有先天优势
- 2022年R1快开门式压力容器操作考题及答案
- RPA: Bank digitalization, business process automation "a small step", and loan review efficiency "a big step"
猜你喜欢

神经网络物联网的发展趋势和未来方向

Aaai22 | structural tagging and interaction modeling: a "slim" network for graph classification
![Jerry's records are powered by Vbat with a power supply voltage of 4.2V [chapter]](/img/3e/571d246d211a979e948dae1de56e93.png)
Jerry's records are powered by Vbat with a power supply voltage of 4.2V [chapter]

CKS CKA ckad change terminal to remote desktop

Yoga27 multidimensional all-in-one computer with excellent appearance and high-end configuration
![[kotlin third party] coil koltin collaboration picture loading library coil glide like picture loading third party](/img/ad/dcb993c3e1e79d2c3663f031dfd1b3.png)
[kotlin third party] coil koltin collaboration picture loading library coil glide like picture loading third party

"35 years old, the boss of the company, with a monthly salary of 20000, give away takeout": the times abandoned you, not even saying goodbye

数字化转型道阻且长,如何迈好关键的第一步

认识--Matplotlib

plain framework的实际应用和扩展
随机推荐
SWT/ANR问题--SWT 导致 kernel fuse deadlock
[applet] realize the left and right [sliding] list through the scroll view component
CKS CKA CKAD 将终端更改为远程桌面
Redis~02 cache: how to ensure data consistency in MySQL and redis when updating data?
CADD course learning (3) -- target drug interaction
Glass mosaic
The online beggar function of Japanese shopping websites
Wechat personal small store one click opening assistant applet development
会声会影2022智能、快速、简单的视频剪辑软件
Jerry's records are powered by Vbat with a power supply voltage of 4.2V [chapter]
问题随记 —— /usr/bin/perl is needed by MySQL-server-5.1.73-1.glibc23.x86_64
云信小课堂 | IM及音视频中常见的认知误区
Commemorate becoming the first dayus200 tripartite demo contributor
window安装wsl(二)
Win 10 mstsc connect RemoteApp
微服务服务稳定性治理
“35岁,公司老总,月薪2万送外卖“:时代抛弃你,连声再见都没有
window10安装wsl(一)(WslRegisterDistribution ERROR)
Leetcode(34)——在排序数组中查找元素的第一个和最后一个位置
Which securities company is better and which is safer to open a securities account