我正在寻找一种无需使用大量内存即可在Java中存储目录路径的方法。在我当前的程序中,我有一个哈希表,该哈希表将每个文件的完整路径以及它们的值存储为键。
private HashMap<String, Double> fileStorage = new HashMap<>();
[如果单个文件夹中有多个文件,例如同一文件夹中的两个文件将存储为
/var/www/example.com/html/index.php
/var/www/example.com/html/style.css
文件的路径被重复,浪费了内存。您会建议我做什么以减少对内存的影响?
请记住,例如文件目录也可以位于1个目录之外
/var/www/example.com/html/js/jquery.js
or
/var/www/example.com/example.mp3
您可以为此使用UUID方法,对于密钥映射使用类似这样的方法
UUID uid = UUID.nameUUIDFromBytes("/var/www/example.com/html/index.php".getBytes());
当您需要从Map获取值时,请在进行Map get
操作之前将路径字符串传递给UUID
您可以创建一种用于从UUID生成长(数字)值以优化更多内存使用的方法