/ / Pamięć sterty JVM - java, plik wsadowy, jar, pamięć sterty

Pamięci sterty JVM - java, plik wsadowy, jar, pamięć sterty

Czy musimy obowiązkowo podać argumenty pamięci sterty JVM w pliku bat podczas wywoływania pliku .jar?

Na przykład: start / b "" "jre7binjavaw.exe" -Xmx1G -jar XYZ.jar

Mam scenariusz, że w niektórych maszynach, gdy jawnie określam argumenty (jak wyżej), generowany jest krytyczny wyjątek Java!

wprowadź opis obrazu tutaj

Komunikat o błędzie: "Wywoływacz maszyn wirtualnych Java: Błąd: Nie można utworzyć wirtualnej maszyny Java. Błąd: wystąpił krytyczny wyjątek. Program zostanie zamknięty."

Ale kiedy usuwam argumenty, nie zgłaszany jest żaden błąd. Proszę, daj mi znać. Dziękuję Ci.

Odpowiedzi:

0 dla odpowiedzi № 1

Xmx jest opcjonalnym argumentem, który określa maksymalny rozmiar sterty, który może być użyty przez Javę. To nie jest wymagane.

Jeśli podasz zbyt dużą liczbę, możesz otrzymaćśmiertelny wyjątek. Jeśli nie określisz opcji, java wybierze maksymalny rozmiar sterty. Możesz znaleźć domyślną wartość tego na linuksie, uruchamiając "java -XX: + PrintFlagsFinal -version | grep MaxHeapSize "


0 dla odpowiedzi nr 2

Musisz zaktualizować zmienne środowiskowe systemu Windows _JAVA_OPTIONS i ustawić tam Xmx1024M. Po zakończeniu możesz zacząć maszynę JVM dobrze.