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

資訊專欄INFORMATION COLUMN

JVM架構哪些事

ghnor / 3301人閱讀

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

JAVA虛擬機

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

1 JVM線程

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

用戶線程:即main方法執行的線程

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

2 JVM結構

-類裝載子系統

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

執行引擎

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

運行時數據區

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

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

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

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

3 類加載器

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

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

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

(3)初始化

4 啟動類裝載器

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

5 用戶自定義類裝載器

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69660.html

相關文章

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

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

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

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

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

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

    Carl 評論0 收藏0

發表評論

0條評論

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