У меня проблема с памятью, я полностью понимаю причину, но понятия не имею, как исправить. Я попытался использовать тег -Xmx2g и увеличить размер кучи, но, похоже, скрытый максимум. (если я использовал -Xmx512m, мне одновременно не хватает места).
Предположим, у меня есть 2 объекта, область и пользователь. Объект My Area содержит ArrayList пользователей:
public class Area {
int numUsers;
ArrayList<User> userList;
}
Мой класс User содержит ArrayList друзей:
public class User {
int userID;
int numFriends;
ArrayList<User> friends;
}
Просто используя одну область, с 1 миллионом пользователей и в среднем 200 друзьями на пользователя, я исчерпал пространство кучи после того, как создано около 680 000 пользователей. Очевидно, что если я уменьшу среднее число друзей / пользователей до значения, близкого к 100, я смогу сохранить все эти объекты в куче.
Что если я хочу смоделировать 2 миллиона пользователей в области? Или сотни областей?
Имея столько данных, является ли база данных единственным возможным способом для моделирования с использованием информации?