Java記憶體地區與記憶體溢出異常

來源:互聯網
上載者:User

標籤:引入   out   執行個體   src   棧幀   包括   部分   管理   記憶體地區   

Java 所管理的運行時地區(5個):

            

程式計數器:(當前的線程位元組碼執行到哪了,該執行哪條位元組碼了,指向位元組碼的行號)

                      可以看做當前線程所執行位元組碼的行號,也就是用來標識當前線程執行的位元組碼的具體位置。位元組碼解譯器工作時就是通過改變程式計數器來選取下一條要執行的位元組碼指令。

                      是線程私人的,分支、迴圈、線程切換、跳轉等都需要依賴它。

Java虛擬機器棧:(和方法執行有關的資訊,是棧)

                     線程私人;

                    每一個方法執行時都會建立一個棧幀,用來儲存和方法執行有關的資訊,包括局部變數表、運算元棧、方法出口等資訊。

                    那麼每一個方法的執行對應著幀入棧,方法結束對應著幀出棧。

本地方法棧:

                  該棧為虛擬機器使用Native方法服務(java調用非java代碼)

Java堆:(存放對象)

               線程共用;

              唯一目的存放對象執行個體;

             是java虛擬機器管理的運行時地區中最大的一塊。

方法區:

                   各個線程共用的地區;

                   用於儲存類資訊、常量、靜態變數等資訊;

                   運行時常量池:是方法區的一部分  ,儲存Class檔案中描述的符號引用以及 翻譯出來的直接引用。

直接記憶體:

                   使用native 方法引入對本地記憶體的使用,不會受到java堆大小的限制。

 

OutOfMemoryError

                     除了程式計數器外,其他堆或者地區在無法申請到所需記憶體時,均會拋出該異常、

Java記憶體地區與記憶體溢出異常

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.