Ich habe dieses seltsame Problem in meinem einen der Produktion Anwendung. Ich habe den Heap-Speicherplatz auf dem Server überprüft und keine Anomalien gefunden (siehe unten stehenden Bildschirm), aber ich bekomme immer noch den Fehler bei einigen wenigen Operationen, die meine Anwendung ausführt. Ist es möglich?Java Heap nicht voll, aber immer noch Fehler java.lang.OutOfMemoryError: Java-Heap-Speicher
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2271)
at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1876)
at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1785)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1188)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
ich das Problem bin Verdacht einer von der Liste zu sein, in dem Code, der auf einmal um fast 2 M Aufzeichnungen gefüllt wird, aber immer noch nicht sicher, warum dies geschieht, wie der Haufen ist nicht voll oder maximal angezeigt, aber immer noch diesen Fehler. Ist es möglich? Was sind die möglichen Szenarien, gibt es eine Möglichkeit, dies zu verhindern? Dies ist eine Produktionsanwendung, so dass ich den Code nicht teilen könnte. Bitte hilf mir.
Haben Sie einen Heap-Dump genommen und analysiert? – OldProgrammer
Ja, ich habe den Heap-Dump analysiert, aber nichts bestimmtes gefunden. – nikhilgupta86
Siehe http://stackoverflow.com/questions/13772802/java-lang-outofmemoryerror-event-though-plenty-of, aber Sie sagen, dass Sie 2M, nicht 2B Elemente speichern, und das ist weit unter der Grenze von Integer .MAX_VALUE, also nicht sicher, was hier vor sich geht. – OldProgrammer