第一次在这里发帖,我是初学者 - 希望我能让自己有用......
我试图找到并理解完成我所追求的工作的 ADT/概念。我猜它已经在那里了。
我有一个对象的数组/列表/树(待决定的容器),每个对象都有一个与在进程迭代中未使用的数量相关的计数。随着迭代的进行,每个对象的计数累加 1。想法是迟早我将需要任何未使用的对象正在使用的内存,因此我将删除它们以为不在 RAM 中的对象腾出空间(将有一个初始计数'0') - 但是,如果事实证明我使用了一个仍在内存中的对象,它的计数将重置为'0',我拍拍自己的背部,因为不必访问其内容的磁盘。
缓存?
主流程循环中将包含类似于以下内容的内容:
if (object needs to be added && (totalNumberOfObjects > someConstant))
object with highest count deleted from RAM and the (heap??)
newObject added with a count of '0'
if (an object already in RAM is accessed by the process)
accessedObject count is set to '0'
for (All objects in RAM)
count++
我可能会大吵大闹(漫长而混乱的时间)并自己搞砸,但我认为从 word go 中学习最有效的方法会很有趣。
像堆一样的东西?