最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)劃分原理詳解

 更新時(shí)間:2020年05月11日 10:54:34   作者:噠噠Da  
這篇文章主要介紹了JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)劃分原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Java內(nèi)存空間

內(nèi)存是非常重要的系統(tǒng)資源,是硬盤和cpu的中間倉庫及橋梁,承載著操作系統(tǒng)和應(yīng)用程序的實(shí)時(shí)運(yùn)行。JVM內(nèi)存布局規(guī)定了JAVA在運(yùn)行過程中內(nèi)存申請(qǐng)、分配、管理的策略,保證了JVM的高效穩(wěn)定運(yùn)行。不同的jvm對(duì)于內(nèi)存的劃分方式和管理機(jī)制存在著部分差異(對(duì)于Hotspot主要指方法區(qū))

(圖源阿里)JDK8的元數(shù)據(jù)區(qū)+JIT編譯產(chǎn)物 就是JDK8以前的方法區(qū)

JavaAPI中的Runtime

public class Runtime
extends Object

Every Java application has a single instance of class Runtime that allows the application to interface with theenvironment in which the application is running. The current runtime can be obtained from the getRuntime method.

每個(gè)Java應(yīng)用程序都有一個(gè)Runtime類的實(shí)例,該實(shí)例允許該應(yīng)用程序與運(yùn)行該應(yīng)用程序的環(huán)境進(jìn)行交互。 當(dāng)前運(yùn)行時(shí)可以從getRuntime方法獲得。Java內(nèi)存分區(qū)介紹

java虛擬機(jī)定了了若干種程序運(yùn)行期間會(huì)使用到的運(yùn)行時(shí)數(shù)據(jù)區(qū),其中有一些會(huì)隨著虛擬機(jī)啟動(dòng)而創(chuàng)建,隨著虛擬機(jī)退出而銷毀。另外一些則是與縣城一一對(duì)應(yīng)的,這些與線程對(duì)應(yīng)的數(shù)據(jù)區(qū)域會(huì)隨著線程開始和結(jié)束而創(chuàng)建和銷毀。

如圖,灰色的區(qū)域?yàn)閱为?dú)線程私有的,紅色的為多個(gè)線程共享的,即

Java

中的線程與進(jìn)程

1.每個(gè)線程:獨(dú)立包括程序計(jì)數(shù)器、棧、本地棧

2.線程間共享:堆、堆外內(nèi)存(方法區(qū)、永久代或元空間、代碼緩存)

圖片說明:嚴(yán)格對(duì)照J(rèn)ava內(nèi)存分區(qū)

PC即程序計(jì)數(shù)器

VMS即虛擬機(jī)棧

NMS即本地方法棧

一般來說,jvm優(yōu)化95%是優(yōu)化堆區(qū),5%優(yōu)化的是方法區(qū),至于棧區(qū)無非出入棧操作優(yōu)化較少Java線程

1.線程是一個(gè)程序里的運(yùn)行單元,JVM允許一個(gè)程序有多個(gè)線程并行的執(zhí)行;

2.在HotSpot JVM,每個(gè)線程都與操作系統(tǒng)的本地線程直接映射。

  當(dāng)一個(gè)java線程準(zhǔn)備好執(zhí)行以后,此時(shí)一個(gè)操作系統(tǒng)的本地線程也同時(shí)創(chuàng)建。java線程執(zhí)行終止后。本地線程也會(huì)回收。

3.操作系統(tǒng)負(fù)責(zé)所有線程的安排調(diào)度到任何一個(gè)可用的CPU上。一旦本地線程初始化成功,它就會(huì)調(diào)用java線程中的run()方法.

JVM系統(tǒng)線程分類

如果你使用jconsole或者任何一個(gè)調(diào)試工具,都能看到在后臺(tái)有許多線程在運(yùn)行。這些后臺(tái)線程不包括調(diào)用main方法的main線程以及所有這個(gè)main線程自己創(chuàng)建的線程;

這些主要的后臺(tái)系統(tǒng)線程在HotSpot JVM里主要是以下幾個(gè):

1.虛擬機(jī)線程:這種線程的操作時(shí)需要JVM達(dá)到安全點(diǎn)才會(huì)出現(xiàn)。這些操作必須在不同的線程中發(fā)生的原因是他們都需要JVM達(dá)到安全點(diǎn),這樣堆才不會(huì)變化。這種線程的執(zhí)行包括“stop-the-world”的垃圾收集,線程棧收集,線程掛起以及偏向鎖撤銷

2.周期任務(wù)線程:這種線程是時(shí)間周期事件的提現(xiàn)(比如中斷),他們一般用于周期性操作的調(diào)度執(zhí)行。

3.GC線程:這種線程對(duì)于JVM里不同種類的垃圾收集行為提供了支持

4.編譯線程:這種線程在運(yùn)行時(shí)會(huì)降字節(jié)碼編譯成本地代碼

5.信號(hào)調(diào)度線程:這種線程接收信號(hào)并發(fā)送給JVM,在它內(nèi)部通過調(diào)用適當(dāng)?shù)姆椒ㄟM(jìn)行處理。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring將MultipartFile轉(zhuǎn)存到本地磁盤的三種方式

    Spring將MultipartFile轉(zhuǎn)存到本地磁盤的三種方式

    在Java中處理文件向來是一種不是很方便的操作,然后隨著Spring框架的崛起,使用Spring框架中的MultipartFile來處理文件也是件很方便的事了,今天就給大家介紹Spring將MultipartFile轉(zhuǎn)存到本地磁盤的方式,需要的朋友可以參考下
    2024-10-10
  • spring 自定義讓@Value被解析到

    spring 自定義讓@Value被解析到

    這篇文章主要介紹了spring 自定義讓@Value被解析到,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • MyBatis最常用的增刪改查操作詳解

    MyBatis最常用的增刪改查操作詳解

    這篇文章主要介紹了MyBatis中常見的增、刪、改、查(CRUD)操作,通過創(chuàng)建數(shù)據(jù)庫表、實(shí)體類、Mapper接口及映射文件,我們實(shí)現(xiàn)了對(duì)user表的增刪改查操作,MyBatis簡(jiǎn)化了數(shù)據(jù)庫操作,需要的朋友可以參考下
    2024-12-12
  • java中Arthas的作用和使用方式

    java中Arthas的作用和使用方式

    Arthas 是由阿里巴巴開源的 Java 診斷工具,主要用于在生產(chǎn)環(huán)境中診斷和解決 Java 應(yīng)用問題,它提供實(shí)時(shí)監(jiān)控、類信息查看、動(dòng)態(tài)追蹤、條件表達(dá)式斷點(diǎn)等功能,支持非侵入式設(shè)計(jì)和高擴(kuò)展性,通過 Arthas,開發(fā)者可以在不停止應(yīng)用的情況下,快速定位和解決問題
    2025-01-01
  • java字符串相似度算法

    java字符串相似度算法

    這篇文章主要介紹了java字符串相似度算法,是Java實(shí)現(xiàn)比較典型的算法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • 利用Java生成帶有文字的二維碼

    利用Java生成帶有文字的二維碼

    二維碼在我們現(xiàn)在的生活中可謂是隨處可見,這篇文章主要是介紹如何利用Java生成帶有文字的二維碼,對(duì)大家學(xué)習(xí)Java具有一定的參考借鑒價(jià)值。有需要的朋友們下面來一起看看吧。
    2016-09-09
  • 基于Java回顧之多線程詳解

    基于Java回顧之多線程詳解

    在這篇文章里,我們關(guān)注多線程。多線程是一個(gè)復(fù)雜的話題,包含了很多內(nèi)容,這篇文章主要關(guān)注線程的基本屬性、如何創(chuàng)建線程、線程的狀態(tài)切換以及線程通信,我們把線程同步的話題留到下一篇文章中
    2013-05-05
  • 重寫hashCode()和equals()方法詳細(xì)介紹

    重寫hashCode()和equals()方法詳細(xì)介紹

    這篇文章主要介紹了重寫hashCode()和equals()方法詳細(xì)介紹,涉及重寫equals()方法,重寫hashCode()方法,重寫equals()而不重寫hashCode()的風(fēng)險(xiǎn)等相關(guān)內(nèi)容的介紹,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • IDEA 去除 mybatis.xml 文件黃色警告的圖文教程

    IDEA 去除 mybatis.xml 文件黃色警告的圖文教程

    這篇文章主要介紹了IDEA 去除 mybatis.xml 文件黃色警告的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • IDEA下Servlet可能出現(xiàn)404的一些情況

    IDEA下Servlet可能出現(xiàn)404的一些情況

    相信有很多小伙伴遇到報(bào)錯(cuò)都不知道怎么處理,今天特地整理了這篇文章,文中對(duì)IDEA下Servlet可能出現(xiàn)404的一些情況作了詳細(xì)的介紹,需要的朋友可以參考下
    2021-06-06

最新評(píng)論

普兰店市| 延安市| 鞍山市| 任丘市| 偃师市| 连山| 万年县| 襄城县| 万年县| 永定县| 偏关县| 平乐县| 伊川县| 三亚市| 安阳市| 海南省| 治多县| 渑池县| 祁阳县| 建水县| 右玉县| 大连市| 垣曲县| 阜新市| 许昌县| 观塘区| 苏尼特左旗| 嵊泗县| 深圳市| 布拖县| 黑龙江省| 镇平县| 平遥县| 松潘县| 喜德县| 宝清县| 望谟县| 会泽县| 峡江县| 抚远县| 龙陵县|