превышен превышение лимита GC "означает, что сборщик мусора работает все время, а программа Java делает очень медленный прогресс.
blockquote>После сбора мусора, если процесс Java тратит более 98% своего времени на сборку мусора , и если он восстанавливает менее 2% кучи и делал до сих пор последние 5 последовательных сборок мусора, затем вызывается java.lang.OutOfMemoryError
- Увеличьте размер кучи , если текущий
- Если вы все еще получаете эту ошибку после увеличения памяти кучи, используйте инструменты профилирования памяти , такие как MAT (инструмент анализатора памяти), Visual VM и т. д. и исправить утечки памяти.
- Обновить версию JDK до последней версии (1.8.x) или не менее 1.7.x и использовать алгоритм G1GC. Пропускная способность для G1 GC - 90% времени приложения и 10%
- Помимо настройки памяти кучи с помощью
Xms1g -Xmx2g
, попробуйте-XX:+UseG1GC -XX:G1HeapRegionSize=n -XX:MaxGCPauseMillis=m -XX:ParallelGCThreads=n -XX:ConcGCThreads=n
. Посмотрите на некоторые более связанные вопросы, касающиеся G1GC
Сбор мусора и документация по G7 [JGK 7] для G1
Ваши работы кода, превосходные для меня:
public static void main(String[] args) {
try {
java.net.URL connection_url = new java.net.URL("http://:/path");
System.out.println("Instantiated new URL: " + connection_url);
}
catch (MalformedURLException e) {
e.printStackTrace();
}
}
Инстанцированный новый URL: http://:/path
Уверенный у Вас есть правильная строка кода?
Как примечание стороны, необходимо использовать URI, потому что класс URL Java завинчен. (Равняется методу, которому я верю),
Та строка URL похожа, это недопустимо. Уверенный это, как предполагается, не 'http://path'? Или сервер и пробел порта?