亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁 | 考試用書 | 培訓課程 | 模擬考場 | 考試論壇  
      全國  |             |          |          |          |          |         
        當前位置:計算機等級 > 二級考試 > Java語言程序設計 > 考試輔導 > 文章內(nèi)容
        

      全國計算機二級考試Java語言程序設計知識點(24)

      中華IT學院   【 】  [ 2016年5月5日 ]

      直接內(nèi)存(Direct Memory)

        直接內(nèi)存(Direct Memory)并不是虛擬機運行時數(shù)據(jù)區(qū)的一部分,也不是Java虛擬機規(guī)范中定義的內(nèi)存區(qū)域,但是這部分內(nèi)存也被頻繁地使用,而且也可能導致OutOfMemoryError異常出現(xiàn)。

        JDK1.4加的NIO中,ByteBuffer有個方法是allocateDirect(int capacity) ,這是一種基于通道(Channel)與緩沖區(qū)(Buffer)的I/O方式,它可以使用Native函數(shù)庫直接分配堆外內(nèi)存,然后通過一個存儲在 Java堆里面的DirectByteBuffer對象作為這塊內(nèi)存的引用進行操作。這樣能在一些場景中顯著提高性能,因為避免了在Java堆和 Native堆中來回復制數(shù)據(jù)。

        顯然,本機直接內(nèi)存的分配不會受到Java堆大小的限制,但是,既然是內(nèi)存,則肯定還是會受到本機總內(nèi)存(包括RAM及SWAP區(qū)或者分頁文件)的大小及處理器尋址空間的限制。服務器管理員配置虛擬機參數(shù)時,一般會根據(jù)實際內(nèi)存設置-Xmx等參數(shù)信息,但經(jīng)常會忽略掉直接內(nèi)存,使得各個內(nèi)存區(qū)域的總和大于物理內(nèi)存限制(包括物理上的和操作系統(tǒng)級的限制),從而導致動態(tài)擴展時出現(xiàn)OutOfMemoryError異常。

      分享到:
      本文糾錯】【告訴好友】【打印此文】【返回頂部
      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
      關(guān)于本站  網(wǎng)站聲明  廣告服務  聯(lián)系方式  站內(nèi)導航  考試論壇
      Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved