相关疑难解决方法(0)

Java中String的内存使用情况

我在Java中有一个包含String的对象.我很好奇String的内存使用情况如何.我正在尝试优化我的程序的内存使用量,应用程序将有大约10000个这样的对象.对于诸如"Hello World"之类的字符串,内存使用量是多少?

java memory string

9
推荐指数
1
解决办法
1万
查看次数

Java Anagram耗尽内存

我正在努力解决古老的anagram问题.感谢那里的许多教程,我能够遍历一组字符串,递归地找到所有排列,然后将它们与英语单词列表进行比较.我发现的问题是,在大约三个单词(通常是"变态"之类的东西)之后,我得到一个OutOfMemory错误.我尝试将我的批次分成小集,因为它似乎是消耗我所有记忆的递归部分.但即便只是"变态"锁定它......

在这里,我将文件中的单词读入List

Scanner scanner = new Scanner(resource.getInputStream());
   while (scanner.hasNext()) {
       String s = scanner.nextLine();
        uniqueWords.add(s.toLowerCase());
   }
Run Code Online (Sandbox Code Playgroud)

现在我将它们分成更小的集合并调用类来生成字谜:

List<List<String>> subSets = Lists.partition(new ArrayList(uniqueWords), SET_SIZE);

for (List<String> set: subSets) {
      // tried created as class attribute & injection, no difference 
      AnagramGenerator anagramGenerator = new AnagramGenerator();
      List<Word> anagrams = anagramGenerator.createWordList(set);
      wordsRepository.save(anagrams);
      LOGGER.info("Inserted {} records into the database", anagrams.size());
 }
Run Code Online (Sandbox Code Playgroud)

最后我的发电机:

public class AnagramGenerator {

private Map<String, List<String>> map = new Hashtable<>();
public List<Word> createWordList(List<String> dictionary) {

   buildAnagrams(dictionary);

   List<Word> words = new ArrayList<>();
   for …
Run Code Online (Sandbox Code Playgroud)

java anagram

1
推荐指数
1
解决办法
182
查看次数

标签 统计

java ×2

anagram ×1

memory ×1

string ×1