У меня вопрос о хранении огромного количества строк в памяти приложения. Мне нужно загрузить из файла и сохранить около 5 миллионов строк, каждая из которых максимум 255 символов (URL), но в основном ~ 50. Время от времени мне нужно искать одного из них. Возможно ли сделать это приложение работоспособным на ~ 1 ГБ оперативной памяти?
Будет
ArrayList <String> list = new ArrayList<String>();
работа
Насколько я знаю, String в java кодируется в UTF-8, что дает мне огромное использование памяти. Можно ли сделать такой массив со строкой, закодированной в ANSI?
Это консольное приложение, запускаемое с параметрами:
java -Xmx1024M -Xms1024M -jar "PServer.jar" nogui