国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

哪些網(wǎng)站做ip向小說神秘網(wǎng)站

哪些網(wǎng)站做ip向小說,神秘網(wǎng)站,專業(yè)網(wǎng)站建設(shè)代理,做presentation的網(wǎng)站2.2 運行時數(shù)據(jù)區(qū)域 Java虛擬機在執(zhí)行Java程序的過程中會把它所管理的內(nèi)存劃分為若干個不同的數(shù)據(jù)區(qū)域。這些區(qū)域有各自的用途,以及創(chuàng)建和銷毀的時間,有的區(qū)域隨著虛擬機進程的啟動而一直存在,有些區(qū)域則是依賴用戶線程的啟動和結(jié)束而建立和銷…

2.2 運行時數(shù)據(jù)區(qū)域
Java虛擬機在執(zhí)行Java程序的過程中會把它所管理的內(nèi)存劃分為若干個不同的數(shù)據(jù)區(qū)域。這些區(qū)域有各自的用途,以及創(chuàng)建和銷毀的時間,有的區(qū)域隨著虛擬機進程的啟動而一直存在,有些區(qū)域則是依賴用戶線程的啟動和結(jié)束而建立和銷毀。根據(jù)《Java虛擬機規(guī)范》的規(guī)定,Java虛擬機所管理的內(nèi)存將會包括以下幾個運行時數(shù)據(jù)區(qū)域,如圖2-1所示。

2.2.1 程序計數(shù)器
程序計數(shù)器(Program Counter Register)是一塊較小的內(nèi)存空間,它可以看作是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號指示器。在Java虛擬機的概念模型里[1],字節(jié)碼解釋器工作時就是通過改變這個計數(shù)器的值來選取下一條需要執(zhí)行的字節(jié)碼指令,它是程序控制流的指示器,分支、循環(huán)、跳轉(zhuǎn)、異常處
理、線程恢復(fù)等基礎(chǔ)功能都需要依賴這個計數(shù)器來完成。
由于Java虛擬機的多線程是通過線程輪流切換、分配處理器執(zhí)行時間的方式來實現(xiàn)的,在任何一個確定的時刻,一個處理器(對于多核處理器來說是一個內(nèi)核)都只會執(zhí)行一條線程中的指令。因此,為了線程切換后能恢復(fù)到正確的執(zhí)行位置,每條線程都需要有一個獨立的程序計數(shù)器,各條線程之間計數(shù)器互不影響,獨立存儲,我們稱這類內(nèi)存區(qū)域為“線程私有”的內(nèi)存。
如果線程正在執(zhí)行的是一個Java方法,這個計數(shù)器記錄的是正在執(zhí)行的虛擬機字節(jié)碼指令的地址;如果正在執(zhí)行的是本地(Native)方法,這個計數(shù)器值則應(yīng)為空(Undefined)。此內(nèi)存區(qū)域是唯一一個在《Java虛擬機規(guī)范》中沒有規(guī)定任何OutOfMemoryError情況的區(qū)域。

2.2.2 Java虛擬機棧
與程序計數(shù)器一樣,Java虛擬機棧(Java Virtual Machine Stack)也是線程私有的,它的生命周期與線程相同。虛擬機棧描述的是Java方法執(zhí)行的線程內(nèi)存模型:每個方法被執(zhí)行的時候,Java虛擬機都會同步創(chuàng)建一個棧幀[1](Stack Frame)用于存儲局部變量表、操作數(shù)棧、動態(tài)連接、方法出口等信
息。每一個方法被調(diào)用直至執(zhí)行完畢的過程,就對應(yīng)著一個棧幀在虛擬機棧中從入棧到出棧的過程。
經(jīng)常有人把Java內(nèi)存區(qū)域籠統(tǒng)地劃分為堆內(nèi)存(Heap)和棧內(nèi)存(Stack),這種劃分方式直接繼承自傳統(tǒng)的C、C++程序的內(nèi)存布局結(jié)構(gòu),在Java語言里就顯得有些粗糙了,實際的內(nèi)存區(qū)域劃分要比這更復(fù)雜。不過這種劃分方式的流行也間接說明了程序員最關(guān)注的、與對象內(nèi)存分配關(guān)系最密切的區(qū)域是“堆”和“棧”兩塊。其中,“堆”在稍后筆者會專門講述,而“棧”通常就是指這里講的虛擬機棧,或者更多的情況下只是指虛擬機棧中局部變量表部分。
局部變量表存放了編譯期可知的各種Java虛擬機基本數(shù)據(jù)類型(boolean、byte、char、short、int、float、long、double)、對象引用(reference類型,它并不等同于對象本身,可能是一個指向?qū)ο笃鹗嫉刂返囊弥羔?#xff0c;也可能是指向一個代表對象的句柄或者其他與此對象相關(guān)的位置)和returnAddress類型(指向了一條字節(jié)碼指令的地址)。
這些數(shù)據(jù)類型在局部變量表中的存儲空間以局部變量槽(Slot)來表示,其中64位長度的long和double類型的數(shù)據(jù)會占用兩個變量槽,其余的數(shù)據(jù)類型只占用一個。局部變量表所需的內(nèi)存空間在編譯期間完成分配,當(dāng)進入一個方法時,這個方法需要在棧幀中分配多大的局部變量空間是完全確定的,在方法運行期間不會改變局部變量表的大小。請讀者注意,這里說的“大小”是指變量槽的數(shù)量,虛擬機真正使用多大的內(nèi)存空間(譬如按照1個變量槽占用32個比特、64個比特,或者更多)來實現(xiàn)一個變量槽,這是完全由具體的虛擬機實現(xiàn)自行決定的事情。
在《Java虛擬機規(guī)范》中,對這個內(nèi)存區(qū)域規(guī)定了兩類異常狀況:如果線程請求的棧深度大于虛擬機所允許的深度,將拋出StackOverflowError異常;如果Java虛擬機棧容量可以動態(tài)擴展[2],當(dāng)棧擴展時無法申請到足夠的內(nèi)存會拋出OutOfMemoryError異常。

2.2.3 本地方法棧
本地方法棧(Native Method Stacks)與虛擬機棧所發(fā)揮的作用是非常相似的,其區(qū)別只是虛擬機棧為虛擬機執(zhí)行Java方法(也就是字節(jié)碼)服務(wù),而本地方法棧則是為虛擬機使用到的本地(Native)方法服務(wù)。
《Java虛擬機規(guī)范》對本地方法棧中方法使用的語言、使用方式與數(shù)據(jù)結(jié)構(gòu)并沒有任何強制規(guī)定,因此具體的虛擬機可以根據(jù)需要自由實現(xiàn)它,甚至有的Java虛擬機(譬如Hot-Spot虛擬機)直接就把本地方法棧和虛擬機棧合二為一。與虛擬機棧一樣,本地方法棧也會在棧深度溢出或者棧擴展失敗時分別拋出StackOverflowError和OutOfMemoryError異常。

http://aloenet.com.cn/news/44610.html

相關(guān)文章:

  • 央視新聞seo的五個步驟
  • 尋找徐州網(wǎng)站開發(fā)企業(yè)網(wǎng)絡(luò)營銷青島
  • 深圳廣告公司前十強seo簡單速排名軟件
  • 單頁網(wǎng)站在線制作公司搜索seo
  • 做網(wǎng)站上哪買空間鄭州seo顧問外包公司
  • 書畫網(wǎng)站模板下載跨境電商seo什么意思
  • 網(wǎng)絡(luò)營銷的方法包括哪些重慶seo是什么
  • wordpress 子主題路由seo沒什么作用了
  • 素材網(wǎng)站源碼成品視頻直播軟件推薦哪個好一點
  • 如何仿造一個網(wǎng)站做廣州網(wǎng)絡(luò)廣告推廣公司
  • 企業(yè)網(wǎng)站 手機網(wǎng)站 app 微網(wǎng)站廣州網(wǎng)站建設(shè)系統(tǒng)
  • wordpress is_mobile上海關(guān)鍵詞排名優(yōu)化公司
  • 制作類網(wǎng)站seo人才招聘
  • 建站abc做的網(wǎng)站穩(wěn)定營銷方案包括哪些內(nèi)容
  • 購物平臺排行榜2020淄博seo培訓(xùn)
  • 貴州網(wǎng)站建設(shè)公司網(wǎng)絡(luò)營銷專業(yè)的就業(yè)方向
  • java 做網(wǎng)站 模板在哪可以下新聞 最新消息
  • 高校網(wǎng)站建設(shè)研究意義楓林seo工具
  • 做網(wǎng)站 寫文章怎樣加視頻深圳網(wǎng)絡(luò)推廣
  • 個門戶網(wǎng)站站長之家ip查詢工具
  • 網(wǎng)站二次開發(fā)是什么意思谷歌在線瀏覽器入口
  • 天津網(wǎng)站制作費用競價防惡意點擊
  • 怎么注冊英文網(wǎng)站域名a5站長網(wǎng)網(wǎng)站交易
  • 武漢網(wǎng)上商城網(wǎng)站建設(shè)南通做網(wǎng)站推廣的公司
  • 鹽城網(wǎng)站開發(fā)英文谷歌優(yōu)化
  • 鄭州做網(wǎng)站優(yōu)化電話seo基礎(chǔ)入門
  • 百度怎么開戶做網(wǎng)站百度推廣平臺首頁
  • 湖南高端網(wǎng)站建設(shè)什么是搜索引擎優(yōu)化?
  • 陜西省經(jīng)營性網(wǎng)站備案青島網(wǎng)站推廣關(guān)鍵詞
  • 北大青鳥學(xué)費一覽表浙江seo推廣