当前位置:网站首页>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
边栏推荐
- SWT/ANR问题--SWT 导致 low memory killer(LMK)
- 想请教股票开户要认识谁?在线开户是安全么?
- 每日三题 6.29
- Simple interactive operation of electron learning (III)
- Commemorate becoming the first dayus200 tripartite demo contributor
- Matplotlib常用图表
- CADD课程学习(3)-- 靶点药物相互作用
- 想请教一下,证券开户选择哪个证券比较好?手机开户是安全么?
- Jielizhi Bluetooth headset quality control and production skills [chapter]
- RPA: Bank digitalization, business process automation "a small step", and loan review efficiency "a big step"
猜你喜欢

"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

建模和影视后期有什么关联?

神经网络物联网的未来趋势与发展

win 10 mstsc连接 RemoteApp

Istio, ebpf and rsocket Broker: in depth study of service grid

2022 safety officer-c certificate examination question simulation examination question bank and simulation examination

物联网开发零基础教程

马赛克后挡板是什么?

AAAI22 | 结构标记和交互建模:用于图分类的“SLIM”网络

【Kotlin 第三方 】coil koltin协程图片加载库Coil类似Glide的图片加载第三方
随机推荐
Summary of "performance testing" of software testing, novice will know the knowledge points on the road
问题随记 —— file /usr/share/mysql/charsets/README from install of MySQL-server-5.1.73-1.glibc23.x86_64 c
【Kotlin 第三方 】coil koltin协程图片加载库Coil类似Glide的图片加载第三方
用JpaTransactionManager操作数据库事务
Yoga27 multidimensional all-in-one computer with excellent appearance and high-end configuration
vim给目录加颜色
什么是马赛克?
shell 自定义函数
【微服务|Sentinel】@SentinelResource详解
Jerry's question about long press boot detection [chapter]
MySQL binlog cleanup
[applet] realize the left and right [sliding] list through the scroll view component
Create Ca and issue certificate through go language
建模和影视后期有什么关联?
CKS CKA CKAD 将终端更改为远程桌面
硅谷产品实战学习感触
认识--Matplotlib
dat.GUI
2022 R1 fast opening pressure vessel operation test questions and answers
plain framework的实际应用和扩展