内存溢出和内存泄漏

程序员 2024-9-14 16:59:45 110 0 来自 中国
一、什么是内存溢出和内存泄漏
内存走漏(memory leak):是指步调在申请内存后,无法开释已申请的内存空间,导致体系无法及时接纳内存并且分配给其他历程利用。通常少次数的内存无法及时接纳并不会到步调造成什么影响,但是假如在内存本身就比力少获取多次导致内存无法正常接纳时,就会导致内存不敷用,终极导致内存溢出。
2、内存溢出 (out of memory)::指步调申请内存时,没有充足的内存供申请者利用,导致数据无法正常存储到内存中。也就是说给你个int类型的存储数据巨细的空间,但是却存储一个long类型的数据,如许就会导致内存溢出。
二、内存溢出和内存泄漏的关系以及区别
1.关系:内存泄漏终极会导致内存溢出,由于体系中的内存是有限的,假如太过占用资源而不及时开释,末了会导致内存不敷,从而无法给所必要存储的数据提供充足的内存,从而导致内存溢出。导致内存溢出也大概是由于在给数据分配巨细时没有根据实际要求分配,末了导致分配的内存无法满意数据的需求,从而导致内存溢出。
2.区别:内存泄漏是由于GC无法及时大概无法辨认可以接纳的数据举行及时的接纳,导致内存的浪费;内存溢出是由于数据所必要的内存无法得到满意,导致数据无法正常存储到内存中。内存泄漏的多次表现就是会导致内存溢出。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-22 23:19, Processed in 0.182818 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表