中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JVM基礎知識都有什么

發布時間:2021-10-23 16:13:16 來源:億速云 閱讀:155 作者:柒染 欄目:大數據

JVM基礎知識都有什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

一、什么是JVM?

        

JVM是可運行Java代碼的假想計算機 ,包括一套字節碼指令集、一組寄存器、一個棧、一個垃圾回收,堆和一個存儲方法域。JVM 是運行在操作系統之上的,它與硬件沒有直接的交互。

二、運行過程

         ① Java 源文件—->編譯器—->字節碼文件

         ② 字節碼文件—->JVM—->機器碼

JVM基礎知識都有什么

三、JVM 內存區域

主要分為線程私有區域【程序計數器、虛擬機棧、本地方法區】、線程共享區

域【JAVA 堆、方法區】、直接內存。


JVM基礎知識都有什么

四、jvm內加載機制

       Java源代碼被編譯成class字節碼,JVM把描述類數據的字節碼.Class文件加載到內存,并對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的java類型,這就是虛擬機的類加載機制。

        類從被加載到虛擬機內存中開始,到卸載出內存為止,它的生命周期包括了:加載(Loading)、驗證(Verification)、準備(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸載(Unloading)七個階段,其中驗證、準備、解析三個部分統稱鏈接。

JVM基礎知識都有什么

五、JVM 運行時內存

    新生代:gc回收主要用復制算法

    老年代:gc回收主要用標記清除算法

    永久代:jdk8移除,被元數據區取代

堆內存結構

JVM基礎知識都有什么

棧和堆的區別?

棧的優勢:存取速度比堆要快,僅次于直接位于 CPU 中的寄存器。但缺點是,棧中的數據大小與生存周期必須是確定的。

堆的優勢:可以動態地分配內存大小,生存周期也不必事先告訴編譯器,Java 的垃圾回收器會自動收走那些不再使用的數據。但由于要在運行時動態分配內存,存取速度較慢。

六、GC垃圾回收

    (1)如何確定垃圾

            引用計數法

            可達性分析 

    (2)回收對象

            超出作用域的對象/引用計數為空的對象。

            從gc root開始搜索,搜索不到的對象。

            回收新生代區。

    (3)回收算法

            引用計數法

            標記清除法

            標記壓縮法

            復制算法

            分代算法

七、JAVA 引用類型       

強引用:把一個對象賦給一個引用變量,這個引用變量就是一個強引

用。當一個對象被強引用變量引用時,它處于可達狀態,它是不可能被垃圾回收機制回收的,即使該對象以后永遠都不會被用到 JVM 也不會回收。因此強引用是造成 Java 內存泄漏的主要原因之一。

軟引用:需要用 SoftReference 類來實現,對于只有軟引用的對象來說,當系統內存足夠時它不會被回收,當系統內存空間不足時它會被回收。軟引用通常用在對內存敏感的程序中

引用:需要用 WeakReference 類來實現,它比軟引用的生存期更短,對于只有弱引用的對象來說,只要垃圾回收機制一運行,不管 JVM 的內存空間是否足夠,總會回收該對象占用的內存。

引用:需要 PhantomReference 類來實現,它不能單獨使用,必須和引用隊列聯合使用。虛引用的主要作用是跟蹤對象被垃圾回收的狀態。

八、常用JVM參數調優 

Xss:每個線程的Stack大小

-verbose:gc 現實垃圾收集信息

-Xloggc:gc.log 指定垃圾收集日志文件

-Xmn:young generation的heap大小,一般設置為Xmx的3、4分之一

-XX:+UseParNewGC :縮短minor收集的時間

-XX:+UseConcMarkSweepGC :縮短major收集的時間

重要參數:

-Xms 堆初始值

-Xmx 堆最大可用值

-Xmn 新生代堆最大可用值

-Xmn 新生代大小,一般設為整個堆的1/3到1/4左右

注意:堆初始值=堆最大值,減少垃圾回收次數,提升效率。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

jvm
AI

巍山| 湖州市| 浦江县| 东方市| 西平县| 商都县| 大化| 从化市| 额济纳旗| 镇安县| 灯塔市| 富顺县| 葵青区| 绍兴市| 永定县| 鱼台县| 榆林市| 武山县| 恭城| 上思县| 麻城市| 平果县| 桑植县| 扶风县| 儋州市| 嵊州市| 新疆| 铜山县| 正宁县| 通城县| 赤城县| 潮安县| 潍坊市| 青海省| 南乐县| 家居| 泸溪县| 大荔县| 安泽县| 柳江县| 凉山|