日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

狂神说jvm笔记

發(fā)布時(shí)間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 狂神说jvm笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Native:凡是帶了native關(guān)鍵字的,說明java的作用范圍達(dá)不到了,會去調(diào)用底層c語言的庫!進(jìn)入本地方法棧,調(diào)用本地方法接口(JNI)
JNI:擴(kuò)展java的使用,融合不同的編程語言為java所用
Java在內(nèi)存區(qū)域中開辟了一塊u標(biāo)記區(qū)域,native method stack,登記native方法,在最終執(zhí)行的時(shí)候調(diào)用本地方法庫
Pc寄存器:
程序計(jì)數(shù)器:每個(gè)線程都有一個(gè)程序計(jì)數(shù)器,是線程私有的,就是一個(gè)指針,指向方法區(qū)中的方法字節(jié)碼(用來存儲下一條要執(zhí)行指令的地址),在執(zhí)行引擎讀取下一條執(zhí)行。主要在多線程切換下,cpu能根據(jù)計(jì)數(shù)器找到原來的位置

方法區(qū):被所有線程共享,所有定義的方法的信息都在此。靜態(tài)變量,常量,類信息(構(gòu)造方法,接口定義),運(yùn)行時(shí)常亮池存在方法區(qū),實(shí)例變量存在堆內(nèi)存中 static,final,Class,常量池.
方法存在方法區(qū)里,執(zhí)行方法的時(shí)候入棧,方法執(zhí)行完畢了出棧

棧:生命周期和線程同步,主管方法的執(zhí)行,線程結(jié)束,棧內(nèi)存也就釋放了 。
棧里面存八大基本數(shù)據(jù)類型,對象的引用,實(shí)例的方法。
棧幀就是一個(gè)函數(shù)調(diào)用過程中為其開辟棧空間來在此次調(diào)用中來存儲參數(shù),變量的,返回地址我們稱這塊空間叫做棧幀。

Jdk1.8以前堆分為新生區(qū),老年區(qū),永久區(qū)(當(dāng)gc回收達(dá)到一定次數(shù),就會往下走)
Jdk1.8后把永久區(qū)換成了元空間,從堆中移到了內(nèi)存中
新對象,類實(shí)例首先創(chuàng)建都是在eden區(qū)

養(yǎng)老區(qū)滿了觸發(fā)重gc,重gc(full gc)還活下來了就進(jìn)入永久區(qū)(元空間)
Jdk 1.6 永久代,常量池在方法區(qū)中
Jdk1.7 永久代,但是滿滿的退化了,去永久代,字符常量池在堆中,運(yùn)行時(shí)常量池在方法區(qū)
Jdk1.8 無永久代,常量池在元空間
元空間不回收,關(guān)閉jvm時(shí)回收
方法區(qū)只是一個(gè)概念上的定義,實(shí)際實(shí)現(xiàn)還是元空間

Jvm分配的最大使用內(nèi)存是電腦容量的1/4
初始化內(nèi)存為電腦1/64
Cg算法:
引用計(jì)數(shù)法


Cg之復(fù)制算法

保證to區(qū)永遠(yuǎn)是空的來接收eden區(qū)來的對象,接收后把from的對象cp到to區(qū),to區(qū)變?yōu)閒rom區(qū),from區(qū)變?yōu)閠o區(qū)
Cg之標(biāo)記清除壓縮算法:

總結(jié)

以上是生活随笔為你收集整理的狂神说jvm笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。