Uitzondering in thread “main” java.lang.OutOfMemoryError: Java-heapruimte

Ik heb een code geschreven en ik voer deze vaak uit, maar plotseling kreeg ik een OutOfMemoryError:

 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at javax.media.j3d.BoundingBox.<init>(BoundingBox.java:86)
        at javax.media.j3d.NodeRetained.<init>(NodeRetained.java:198)
        at javax.media.j3d.LeafRetained.<init>(LeafRetained.java:40)
        at javax.media.j3d.LightRetained.<init>(LightRetained.java:44)
        at javax.media.j3d.DirectionalLightRetained.<init>(DirectionalLightRetained.java:50)
        at javax.media.j3d.DirectionalLight.createRetained(DirectionalLight.java:116)
        at javax.media.j3d.SceneGraphObject.<init>(SceneGraphObject.java:119)
        at javax.media.j3d.Node.<init>(Node.java:178)
        at javax.media.j3d.Leaf.<init>(Leaf.java:50)
        at javax.media.j3d.Light.<init>(Light.java:270)
        at javax.media.j3d.DirectionalLight.<init>(DirectionalLight.java:87)

Antwoord 1, autoriteit 100%

Nou, het spreekt voor zich: je hebt geen geheugen meer.

Misschien wilt u proberen het te starten met meer geheugen, met behulp van de vlag -Xmx, bijvoorbeeld

java -Xmx2048m [whatever you'd have written before]

Dit gebruikt maximaal 2 gig geheugen.

Zie de niet-standaard optielijstvoor meer details.


Antwoord 2, autoriteit 8%

Als u een gedemonteerde APKopnieuw compileert met de APK-tool:

Set gewoon geheugentoewijzing een beetje groter

SET SCHAKELAAR -Xmx1024mNAAR -Xmx2048m

java -Xmx2048m -jar signapk.jar -w testkey.x509.pem testkey.pk8 "%APKOUT%" "%SIGNED%"

Je bent goed om te gaan .. 🙂


3, Autoriteit 5%

U hebt geen geheugen. Probeer -Xmx256mtoe te voegen aan uw Java-opdrachtregel. De 256mis de hoeveelheid geheugen om aan de JVM (256 megabytes) te geven. Het is meestal standaard ingesteld op 64m.


4, Autoriteit 5%

Ik weet het niet van Javax.media.j3d, dus ik kan me vergissen, maar je wilt meestal onderzoeken of er een geheugenlek is. Nou, zoals anderen opmerken, als het 64MB was en je iets met 3D doet, misschien is het misschien duidelijk te klein …

Maar als ik jou was, sta ik een profiler of VisualVM , en laat uw aanvraag voor verlengde tijd (dagen, weken …). Kijk dan naar de HOOP-toewijzingsgeschiedenis en Zorg ervoor dat het geen geheugenlek is .

Als u een profiler gebruikt, zoals JProfiler of Degene die wordt geleverd met NetBeans IDE, enz., KAN JE KUNNEN WELKE OBPOND WORDT OPGENOMEN, en vervolgens opsporen wat er aan de hand is. Nou, bijna altijd is er niet helemaal niet verwijderd Een verzameling …


5, Autoriteit 5%

-XMX1024M -XX: MAXPERMSIZE = 512M -XMS512M

Voeg deze parameter toe als argument in uw serverparamumenten

Other episodes