<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    JAVA常見錯誤處理方法

    時間:2025-02-08 20:59:06 java語言 我要投稿
    • 相關推薦

    JAVA常見錯誤處理方法

      Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。本文特意為大家收集整理了JAVA常見錯誤處理方法,希望大家喜歡!

    JAVA常見錯誤處理方法

      java.lang.OutOfMemoryError: Java heap space

      原因:Heap內存溢出,意味著Young和Old generation的內存不夠。

      解決:調整java啟動參數-Xms -Xmx 來增加Heap內存。

      java.lang.OutOfMemoryError: unable to create new native thread

      原因:Stack空間不足以創建額外的線程,要么是創建的線程過多,要么是Stack空間確實小了。

      解決:由于JVM沒有提供參數設置總的stack空間大小,但可以設置單個線程棧的大小;而系統的用戶空間一共是3G,除了Text/Data/BSS /MemoryMapping幾個段之外,Heap和Stack空間的總量有限,是此消彼長的。因此遇到這個錯誤,可以通過兩個途徑解決:1.通過 -Xss啟動參數減少單個線程棧大小,這樣便能開更多線程(當然不能太小,太小會出現StackOverflowError);2.通過-Xms -Xmx 兩參數減少Heap大小,將內存讓給Stack(前提是保證Heap空間夠用)。

      java.lang.OutOfMemoryError: PermGen space

      原因:Permanent Generation空間不足,不能加載額外的類。

      解決:調整-XX:PermSize= -XX:MaxPermSize= 兩個參數來增大PermGen內存。一般情況下,這兩個參數不要手動設置,只要設置-Xmx足夠大即可,JVM會自行選擇合適的PermGen大小。

      java.lang.OutOfMemoryError: Requested array size exceeds VM limit

      原因:這個錯誤比較少見(試著new一個長度1億的數組看看),同樣是由于Heap空間不足。如果需要new一個如此之大的數組,程序邏輯多半是不合理的。

      解決:修改程序邏輯吧。或者也可以通過-Xmx來增大堆內存。

      在GC花費了大量時間,卻僅回收了少量內存時,也會報出OutOfMemoryError ,我只遇到過一兩次。當使用-XX:+UseParallelGC或-XX:+UseConcMarkSweepGC收集器時,在上述情況下會報錯,在 HotSpot GC Turning文檔 上有說明:

      The parallel(concurrent) collector will throw an OutOfMemoryError if too much time is being spent in garbage collection: if more than 98% of the total time is spent in garbage collection and less than 2% of the heap is recovered, an OutOfMemoryError will be thrown.

      對這個問題,一是需要進行GC turning,二是需要優化程序邏輯。

      java.lang.StackOverflowError

      原因:這也內存溢出錯誤的一種,即線程棧的溢出,要么是方法調用層次過多(比如存在無限遞歸調用),要么是線程棧太小。

      解決:優化程序設計,減少方法調用層次;調整-Xss參數增加線程棧大小。

      IOException: Too many open files

      原因: 這個是由于TCP co


    【JAVA常見錯誤處理方法】相關文章:

    java的常見排序方法03-17

    java錯誤處理基本知識07-18

    常見的Java問題與解析05-20

    常見的Java問題與解答08-15

    java虛方法05-16

    java入門方法04-24

    java調用的方法04-20

    java方法重寫的方法分析03-03

    Java設計常見問題08-12

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人