大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 JVM是什么?初學者對JVM了解多少

JVM是什么?初學者對JVM了解多少

更新時間:2020-10-22 17:14:00 來源:動力節(jié)點 瀏覽1382次

說到java,大家都知道這是一種十分流行且應用廣泛的計算機語言,接觸過java語言的人大多也都知道面向?qū)ο笮浴⒕€程安全性和跨平臺性等都是它的特點。那么是什么使java語言具備了這些優(yōu)秀的特性呢,JVM就是實現(xiàn)了眾多特性中一個的工具,這篇文章帶大家學習JVM是什么,希望java初學者可以通過下面的內(nèi)容對JVM有一個總體的認識和了解。


JVM是什么,就是java虛擬機,是英文Java Virtual Machine的縮寫,是由軟件技術(shù)模擬出計算機運行的一個虛擬的計算機 ,同時JVM是構(gòu)成java技術(shù)的重要一部分,先來看看java技術(shù)的結(jié)構(gòu)圖:

image.png


運行期環(huán)境代表著Java平臺,開發(fā)人員編寫Java代碼(.java文件),然后將之編譯成字節(jié)碼(.class文件),JVM才能識別并運行它,JVM針對每個操作系統(tǒng)開發(fā)其對應的解釋器,所以只要其操作系統(tǒng)有對應版本的JVM,那么這份Java編譯后的代碼就能夠運行起來,這就是Java能一次編譯,到處運行的原因。


要全面的理解JVM是什么,要知道如下的內(nèi)容:


1、JVM堆

Java堆是和Java應用程序最密切的內(nèi)存空間,幾乎所有的對象都放到堆中。并且堆完全由JVM管理,通過垃圾回收機制,垃圾對象會被自動清理,而不需顯式的釋放。根據(jù)垃圾回收機制的不同,Java堆通常被分為以下的集中不同的結(jié)構(gòu):New Generation:由 Eden + Survivor (From Space + To Space)組成;Eden:所有的new出來的新對象都存放到Eden區(qū);Survivor Space:Eden每次垃圾清理過后,任然沒又被清理的對象,會轉(zhuǎn)移到交換區(qū)中;Old Generation:在交換區(qū)中未被清理的對象(默認清理18次標記),將轉(zhuǎn)移到老年代。


2、JVM棧

Java棧是一塊線程私有的內(nèi)存空間,Java棧和線程執(zhí)行密切相關。線程的執(zhí)行基本單位就是函數(shù)調(diào)用,每次函數(shù)調(diào)用的數(shù)據(jù)就會通過Java棧傳遞。Java棧與數(shù)據(jù)結(jié)構(gòu)上的棧有著類似的含義,它是一塊先進后出的數(shù)據(jù)結(jié)構(gòu),只支持出棧和入棧的兩種操作。在Java棧中保存的主要內(nèi)容為棧幀。每次調(diào)用一個函數(shù),都會有一個對應的棧幀被壓入Java棧。每一個函數(shù)調(diào)用結(jié)束,都會有一個棧幀被彈出Java棧。例如:

image.png


如圖所示,每次調(diào)用一個函數(shù)都會被當做棧幀壓入到棧中。其中每一個棧幀對應一個函數(shù)。由于每次調(diào)用函數(shù)都會生成一個棧幀,從而占用一定的棧空間。如果線程中存在大量的遞歸操作,會頻繁的壓棧,導致棧的深入過于深入,當棧的空間被消耗殆盡的時候,會拋出StackOverflowError棧溢出錯誤。


3、JVM方法區(qū)

它主要存放一些虛擬機加載的類信息,常量,靜態(tài)變量,即使編譯器后的代碼等數(shù)據(jù)。根據(jù)Java虛擬機規(guī)范的規(guī)定,當方法區(qū)無法滿足內(nèi)存分配需求時,將拋出OutOfMemoryError異常。運行時常量池:運行時常量區(qū)是方法區(qū)的一部分。用于存放編譯期生成的各種字面量和符號引用,這部分內(nèi)容將在類加載后進入方法區(qū)的運行時常量池中存放。還會有一些符號引用轉(zhuǎn)換的直接引用一保存在運行時常量池中。運行時常量池具備動態(tài)性,也就是運行期間也可以將新的常量放入池中,例如String.intern()方法。當常量池無法再申請到內(nèi)存時,會拋出OutOfMemoryError異常。


關于JVM是什么的問題,一句話總結(jié)下來就是:Java虛擬機是一種跨平臺的軟件,是一種新的網(wǎng)絡計算平臺。該平臺包括許多相關的技術(shù),使得同一種應用可以運行在不同的平臺上。使用Java虛擬機是實現(xiàn)java語言與平臺無關性的關鍵,所以在學習了JVM是什么后,要通過java教程來學習更多的JVM其他知識。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产福利午夜 | 亚洲精品久久一区二区无卡 | 日日干夜夜欢 | a级免费网站 | 99精品视频在线播放2 | 欧美在线观看高清一二三区 | 国内久久久久久久久久 | 免费观看成人久久网免费观看 | 久草视频在线看 | 2021国产精品系列一区二区 | 中文字幕在线播 | 久久精品爱国产免费久久 | 四虎国产精品永久地址99新强 | 一区二区在线免费观看 | 日韩中文字幕a | 国产精品一区二区久久精品涩爱 | 中文字幕精品一区 | 四色婷婷| 国产国产人免费观看在线视频 | 一级片a级片 | 成人免费午间影院在线观看 | 不一样的天空在线高清观看 | 久久精品国语 | 欧美另类videosbestv | 日韩中文视频 | 成人激情在线视频 | 日本一级毛片a免费播放 | 欧美一区二区在线 | 亚洲欧美激情综合第一区 | 国产精品每日更新 | 久久福利一区二区三区 | 国产精品成人在线 | 99热热99| 毛片视 | 欧美激情精品久久久久 | 久久影院国产 | 欧美成人性色大片在线观看 | 久久久久久全国免费观看 | 国内精品福利在线视频 | 四虎黄色影视 | 国产一级一国产一级毛片 |