为什么要申请内存,直接赋值不更好吗?
为什么要申请内存,直接赋值不更好吗?
为什么要申请内存,直接赋值不更好吗?
2016-06-30
这个回答太简洁,我打个比方:
假设A和B公司都需要一个程序录入学生的数据,
你直接在程序上写,考虑未来用户的公司规模,你是不是直接写一个占用10000个空间的数据呢?
A是家小公司,只有50个人,用户在使用时,只需50个人的数据内存空间就够了,而明明只有50条数据,你的程序却要在系统中多占用9950的内存资源。
不论规模如何,这个程序都(只会)占用掉10000条数据的内存空间,不能再多,也不能再少。
B是家大公司,有20000人,用户在使用时,需要存储20000人的数据,20000条内存资源,而你的程序只能容纳10000人的数据。
如果使用申请内存,在操作系统申请时需要在程序处做一个输入,通过程序向操作系统申请50人的内存资源空间,这时这个程序不多不少,刚好占用了50条数据的内存资源,不会有多余的浪费。
而公司规模大的时候,不管公司是上万人还是上百万,你的程序都可以容纳,只要用户的计算机内存够大,申请多少内存资源都没问题。
而释放内存呢,当有一个人辞职离开公司的时候,你可以释放掉1个内存资源,当有新员工加入的时候,程序可以向操作系统申请1个内存资源,每次占用的内存资源空间都刚刚好,程序占用内存的大小,尽用户掌控之内,不受代码限制,不多不少,走多少释放多少。
举报