Rocky20![]() Junior Member Posts: 2 From: Virginia, MN USA Registered: 02-03-2006 |
I am simulating a file system in Java. I will be using a linked list to represent the disk nodes. When I increase the maximun number of nodes, I do not want to increase the ram used in running the program. I will be using randomAccessFile to read from and write to random parts of the file system. I would appreciate any ideas. ------------------ |
CPUFreak91![]() Member Posts: 2337 From: Registered: 02-01-2005 |
Hi Rocky20! Welcome to CCN! Sorry to be offtopic, but do you know of any good Java tutorials for experienced programers who have learned another language? (Sun Documentation Doesn't count! ------------------ ``After three days without programming, life becomes meaningless.'' -- Tao of Programming Book 2 [This message has been edited by CPUFreak91 (edited February 04, 2006).] |
buddboy![]() Member Posts: 2220 From: New Albany, Indiana, U.S. Registered: 10-08-2004 |
dude... this totally is confusing for me lol... But welcome Rocky20!! You will soon find out I am the board spaz, also Realm Master.... lOL!! ------------------ |
HeardTheWord![]() Member Posts: 224 From: Des Moines, IA Registered: 08-16-2004 |
Nodes to handle a virtual filesystem shouldn't take up that much memory. Unless you are storing the actual file contents in the list... A linked list is a dynamic array which requires you to allocate more memory after you start to run out. The nice part about linked lists is that you don't have to set up a static array that could take up a lot more space than a user needs (or possibly won't be enough). So you can either have one huge array that may not handle everyone's needs or a dynamic array that can be small or large. I hope that makes sense. Java does a pretty good job of cleaning up the memory that is unused so I wouldn't worry too much about memory consumption unless you are building this for a cellphone or some other small electronic device. |
vincent![]() Member Posts: 129 From: Amersfoort, the Netherlands Registered: 12-23-2002 |
You always use more ram if you increase the maximum number of nodes used. You could make all your object serializable and serialize them to disk if you want to. You can use WeakReferences to reference your files in memory so it works more like a memory sensetive cache. The idea would than be this: I was actually thinking of starting a project which could solve the problems you have. Unfortunaly I have so much going on right now that I have to choose my battles. It would take a random access file and build it into a sort of partition. Then you can do anything with it, from a huge array to a file system to a database. *sigh* I wish I had more time. [This message has been edited by vincent (edited February 06, 2006).] |