实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业

400-650-7353
您所在的位置:首頁 > IT干貨資料 > java > 【Java基礎知識】什么是JVM?JVM內存模型由什么組成?(上)

【Java基礎知識】什么是JVM?JVM內存模型由什么組成?(上)

  • 發布: java培訓
  • 來源:
  • 2022-12-08 16:28:12
  • 閱讀()
  • 分享
  • 手機端入口

本篇介紹JVM虛擬機中運行時數據區的五個內存區域:堆、方法區、虛擬機棧、本地方法棧、程序計數器。這些地方也是我們平時開發中最常接觸到的地方,所以對其有所掌握了解還是很有必要的,也有助于JVM問題排查。

JVM是Java Virtual Machine(Java虛擬機)的縮寫,JVM是一個虛構出來的計算機,有著自己完善的硬件架構,如處理器、堆棧等。

為什么需要JVM?

Java語言使用Java虛擬機屏蔽了與具體平臺相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼( 字節碼 ),就可以在多種平臺上不加修改地運行。

Java文件必須先通過一個叫javac的編譯器,將代碼編譯成class文件,然后通過JVM把class文件解釋成各個平臺可以識別的機器碼,最終實現跨平臺運行代碼。

JVM內存模型

JVM內存模型可以分為兩個部分,如下圖所示,堆和方法區是所有線程共有的,而虛擬機棧,本地方法棧和程序計數器則是線程私有的。

在JVM1.8中,圖中的 方法區為元數據區 ,下面展開談一談這五個區域的作用。

堆(Heap):

在 Java 中,堆被劃分成兩個不同的區域:新生代 ( Young )、老年代 ( Old ),新生代 ( Young ) 又被劃分為三個區域:Eden、From Survivor、To Survivor。

下圖中的Perm代表的是永久代,但是注意永久代并不屬于堆內存中的一部分,同時jdk1.8之后永久代也將被移除。

堆是java虛擬機所管理的內存中最大的一塊內存區域,也是被各個線程共享的內存區域,該內存區域存放了對象實例及數組(但不是所有的對象實例都在堆中)。

其大小通過-Xms(最小值)和-Xmx(最大值)參數設置(最大最小值都要小于1G),前者為啟動時申請的最小內存,默認為操作系統物理內存的1/64,后者為JVM可申請的最大內存,默認為物理內存的1/4,默認當空余堆內存小于40%時,JVM會增大堆內存到-Xmx指定的大小,可通過-XX:MinHeapFreeRation=來指定這個比列。

當空余堆內存大于70%時,JVM會減小堆內存的大小到-Xms指定的大小,可通過XX:MaxHeapFreeRation=來指定這個比列,當然為了避免在運行時頻繁調整Heap的大小,通常-Xms與-Xmx的值設成一樣。堆內存 = 新生代+老生代+持久代。

在我們垃圾回收的時候,我們往往將堆內存分成新生代和老生代(大小比例1:2),新生代中由Eden和Survivor0,Survivor1組成,三者的比例是8:1:1,新生代的回收機制采用復制算法,在Minor GC的時候,我們都留一個存活區用來存放存活的對象,真正進行的區域是Eden+其中一個存活區,當我們的對象時長超過一定年齡時(默認15,可以通過參數設置),將會把對象放入老生代,當然大的對象會直接進入老生代,老生代采用的回收算法是標記整理算法。

方法區(Method Area)

其實方法區是在JDK1.8以前的版本里存在的一塊內存區域,主要就是存放從class文件里加載進來的類的,而且常量池也是在這塊區域內的。

但是在JDK1.8之后,這塊區域搖身一變,換了名字,叫做“Metaspace”,翻譯過來就是“元數據空間”的意思,當然它只是改了個名,實現的功能是沒變的。

方法區(Method Area)與Java堆一樣,是各個線程共享的內存區域,它用于存儲已被虛擬機加載的類型信息、常量、靜態變量、即時編譯器編譯后的代碼緩存等數據。

1.類型信息

對每個加載的類型(類class、接口interface、枚舉enum、注解annotation),JVM必須在方法區中存儲以下類型信息:

①這個類型的完整有效名稱(全名=包名.類名)

②這個類型直接父類的完整有效名(對于interface或是java.lang.0bject,都沒有父類)

③這個類型的修飾符(public, abstract,final的某個子集)

④這個類型直接接口的一個有序列表

2.域信息(Field)成員變量

JVM必須在方法區中保存類型的所有域的相關信息以及域的聲明順序。

域的相關信息包括:域名稱、域類型、域修飾符(public, private,protected,static,final, volatile, transient的某個子集)

3.方法(Method)信息

JVM必須保存所有方法的以下信息,同域信息一樣包括聲明順序:

方法名稱

方法的返回類型(或void)·方法參數的數量和類型(按順序)

方法的修飾符(public, private,protected,static, final,synchronized,native,abstract的一個子集)

方法的字節碼(bytecodes)、操作數棧、局部變量表及大小(abstract和native方法除外)

文章“【Java基礎知識】什么是JVM?JVM內存模型由什么組成?(上)”已幫助

更多內容

>>本文地址:http://www.jecan.cn/zhuanye/2022/72418.html

THE END  

聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
  • 大前端大前端
  • 大數據大數據
  • 互聯網營銷互聯網營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯網嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內設計室內設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網頁設計網頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發VR/AR
  • 網絡安全網絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 真空上料机(一种真空输送机)-百科| GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 康明斯发电机,上柴柴油发电机,玉柴柴油发电机组_海南重康电力官网 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 打造全球沸石生态圈 - 国投盛世 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 新能源汽车教学设备厂家报价[汽车教学设备运营18年]-恒信教具 | 工业硝酸钠,硝酸钠厂家-淄博「文海工贸」 | 24位ADC|8位MCU-芯易德科技有限公司| 网站优化公司_北京网站优化_抖音短视频代运营_抖音关键词seo优化排名-通则达网络 | 运动木地板_体育木地板_篮球馆木地板_舞台木地板-实木运动地板厂家 | 香港新时代国际美容美发化妆美甲培训学校-26年培训经验,值得信赖! | 蜗轮丝杆升降机-螺旋升降机-丝杠升降机厂家-润驰传动 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 暴风影音| 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 金属管浮子流量计_金属转子流量计厂家-淮安润中仪表科技有限公司 | 地图标注-手机导航电子地图如何标注-房地产商场地图标记【DiTuBiaoZhu.net】 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 云南成人高考网| 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 | 高温高压釜(氢化反应釜)百科 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 进口试验机价格-进口生物材料试验机-西安卡夫曼测控技术有限公司 | 南京精锋制刀有限公司-纵剪机刀片_滚剪机刀片_合金刀片厂家 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 东亚液氮罐-液氮生物容器-乐山市东亚机电工贸有限公司 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 火锅底料批发-串串香技术培训[川禾川调官网]|