国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JVM架構(gòu)哪些事

ghnor / 3294人閱讀

摘要:線程守護線程通常是虛擬機自己使用,比如線程,但是程序可以將自己的線程設(shè)置為守護線程,但是必須在方法之前調(diào)用用戶線程即方法執(zhí)行的線程當(dāng)程序中所有的非守護線程即用戶線程都結(jié)束時,虛擬機實例將自動退出。

JAVA虛擬機

每一個java程序都是運行在某個具體的java虛擬機實現(xiàn)的實例上,一個java虛擬機負責(zé)運行一個java程序,當(dāng)啟動一個java程序的時候,一個虛擬機就誕生了,當(dāng)該程序關(guān)閉時,這個虛擬機實例也就隨之消亡。

1 JVM線程

守護線程;通常是虛擬機自己使用,比如GC線程,但是java程序可以將自己的線程設(shè)置為守護線程,但是必須在start()方法之前調(diào)用

用戶線程:即main方法執(zhí)行的線程

當(dāng)程序中所有的非守護線程(即用戶線程)都結(jié)束時,虛擬機實例將自動退出。因而,守護線程不適合做IO操作,因為守護線程是在所有的非守護線程推出后結(jié)束,這樣并不能代表守護線程是否完成了相應(yīng)的操作,如果非守護線程退出后,還有大量的數(shù)據(jù)沒有寫,將會引發(fā)數(shù)據(jù)丟失問題

2 JVM結(jié)構(gòu)

-類裝載子系統(tǒng)

每一個JVM都有一個類裝載系統(tǒng),它會跟著給定的全限定名來裝載類型、class文件等

執(zhí)行引擎

每一個JVM都有一個執(zhí)行引擎,他負責(zé)執(zhí)行哪些包含在裝載類中的指令

運行時數(shù)據(jù)區(qū)

當(dāng)JVM運行一個程序的時候,它需要內(nèi)存來進行存儲很多的東西,比如計算時的中間變量,程序創(chuàng)建的對象,返回值等等,運行時數(shù)據(jù)區(qū)就類似于內(nèi)存,存存這些東西,每個運行區(qū)包含方法區(qū),堆,JAVA棧,PC寄存器,本地方法棧等
(1)當(dāng)虛擬機裝載一個class文件時,它會從class文件包含的二進制數(shù)據(jù)中解析類型信息,然后將這些信息放在方法區(qū)中

(2)當(dāng)程序運行的時候,虛擬機就會把所有線程在運行時創(chuàng)建的對象都放在堆中

(3)如果線程正在執(zhí)行的是一個JAVA方法,那么寄存器的值(程序計數(shù)器)總是指向下一條將被執(zhí)行的指令

(4)JAVA棧則總是存儲該線程中JAVA方法調(diào)用的轉(zhuǎn)臺--包括它的局部變量、被調(diào)用時傳進來的參數(shù)、返回值、以及中間結(jié)果等等。JAVA棧是由很多的棧幀或這說是幀等組成,一個棧幀包含一個方法調(diào)用狀態(tài),當(dāng)現(xiàn)場調(diào)用一個JAVA方法的時候,虛擬機壓入一個方法到該線程的JAVA棧中,當(dāng)方法返回時,這個棧幀就會從JAVA棧中彈出并拋棄

3 類加載器

JAVA類加載器是JAVA運行時環(huán)境的一部分,負責(zé)動態(tài)的將JAVA類加載到JAVA虛擬機的內(nèi)存空間中,類通常是按需加載,即第一次使用該類時才加載,類裝載系統(tǒng)除了要定位和導(dǎo)入二進制class文件外,還必須驗證被導(dǎo)入類的數(shù)據(jù)的正確性,為變量分配初始化內(nèi)存,以及幫助解析符號引用等,這些動作按照以下循序執(zhí)行

(1)裝載-查找并裝載二進制數(shù)據(jù)

(2)鏈接-執(zhí)行驗證、準備等

(3)初始化

4 啟動類裝載器

由原生代碼c++編寫,它負責(zé)加載核心JAVA庫

5 用戶自定義類裝載器

繼承classloard類,用戶自定義的類裝載器

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/69660.html

相關(guān)文章

  • 三年百度,五年阿里,阿里p8架構(gòu)師淺談:我是如何順利進入BAT

    摘要:三年百度,五年阿里,阿里架構(gòu)師淺談我是如何順利進入前些天在我群里認識了以為挺有意思的老哥,他也是工作年多技術(shù)和面試都不差,最近也是在找工作,是從京城來魔都的,也和他撈了不少。 說來慚愧,也不怕你們笑話。做開發(fā)8年多,到目前還是一名不折不扣的掃地僧。年前的辭職,到現(xiàn)在還在家靜養(yǎng)中。其實也沒什么,就是回家總結(jié)一下自己這些年來在外工作與面試等做一個簡單的總結(jié)與反思。做一下自己后面一個人生規(guī)劃...

    seanlook 評論0 收藏0
  • 后端知識拓展 - 收藏集 - 掘金

    摘要:阻塞,非阻塞首先,阻塞這個詞來自操作系統(tǒng)的線程進程的狀態(tài)模型網(wǎng)絡(luò)爬蟲基本原理一后端掘金網(wǎng)絡(luò)爬蟲是捜索引擎抓取系統(tǒng)的重要組成部分。每門主要編程語言現(xiàn)未來已到后端掘金使用和在相同環(huán)境各加載多張小圖片,性能相差一倍。 2016 年度小結(jié)(服務(wù)器端方向)| 掘金技術(shù)征文 - 后端 - 掘金今年年初我花了三個月的業(yè)余時間用 Laravel 開發(fā)了一個項目,在此之前,除了去年換工作準備面試時,我并...

    CoderBear 評論0 收藏0
  • 后端知識拓展 - 收藏集 - 掘金

    摘要:阻塞,非阻塞首先,阻塞這個詞來自操作系統(tǒng)的線程進程的狀態(tài)模型網(wǎng)絡(luò)爬蟲基本原理一后端掘金網(wǎng)絡(luò)爬蟲是捜索引擎抓取系統(tǒng)的重要組成部分。每門主要編程語言現(xiàn)未來已到后端掘金使用和在相同環(huán)境各加載多張小圖片,性能相差一倍。 2016 年度小結(jié)(服務(wù)器端方向)| 掘金技術(shù)征文 - 后端 - 掘金今年年初我花了三個月的業(yè)余時間用 Laravel 開發(fā)了一個項目,在此之前,除了去年換工作準備面試時,我并...

    Carl 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<