2016-04-30 5 views
0

У меня есть большой XML-файл, который я обрабатываю с использованием синтаксического анализа SAX. Во время обработки я создаю большой HashMap, имеющий ключ и значения для разбора JSON.Ошибка Java 8 String outofmemory

Согласно моему пониманию, в java 8 вам не нужно устанавливать какие-либо настройки Permgen во время запуска приложения java, он создает строки в куче, но некоторые из них, как я все еще получаю OutOfMemoryError. Я правильно понимаю или выбираю неправильный парсер?

+0

PLS добавить более подробную информацию. размер вашей кучи, размер данных и где в коде, по вашему мнению, приходит OOM. – Abhishek

+0

Строка всегда хранилась в куче, в Java 8 MetaSpace заменила PermGenSpace, но это редко имеет значение: PermGenSpace использовалось для хранения деклараций класса, и хотя я не очень хорошо осведомлен о MetaSpace, я уверен, что вам редко приходится настраивать это – Aaron

+0

Привет Аарон и Абхишек, спасибо за ответ. Я думал, что строка является частью пула постоянной среды выполнения, которая похожа на кучу, но не совсем. Что еще вы думаете, я должен попробовать? – tesnik03

ответ

1

Вы должны взглянуть на следующие -

  1. Какой вывоз мусора вы используете.

  2. Если вы используете IDE, проверьте, используете ли вы правильную версию java. Иногда у IDE могут быть настройки для работы на определенной JVM.

Какую установку вы используете, BTW?

+0

Ницца, спасибо, второй, это .. Большое спасибо! – tesnik03

Смежные вопросы