自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

系統(tǒng)“滅霸”——Java虛擬機(jī)

云計(jì)算 虛擬化
虛擬機(jī):指以軟件的方式模擬具有完整硬件系統(tǒng)功能、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng) ,是物理機(jī)的軟件實(shí)現(xiàn)。常用的虛擬機(jī)有VMWare,Visual Box,Java Virtual Machine(Java虛擬機(jī),簡(jiǎn)稱(chēng)JVM)。

 [[328776]]

概念

 

虛擬機(jī):指以軟件的方式模擬具有完整硬件系統(tǒng)功能、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng) ,是物理機(jī)的軟件實(shí)現(xiàn)。常用的虛擬機(jī)有VMWare,Visual Box,Java Virtual Machine(Java虛擬機(jī),簡(jiǎn)稱(chēng)JVM)。

Java虛擬機(jī)陣營(yíng):Sun HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Google Dalvik VM、Microsoft JVM…

啟動(dòng)流程

 

基本架構(gòu)

 

Java運(yùn)行時(shí)編譯源碼(.java)成字節(jié)碼,由jre運(yùn)行。jre由java虛擬機(jī)(jvm)實(shí)現(xiàn)。Jvm分析字節(jié)碼,后解釋并執(zhí)行。

 

JVM由三個(gè)主要的子系統(tǒng)構(gòu)成:

1.類(lèi)加載器子系統(tǒng)

2.運(yùn)行時(shí)數(shù)據(jù)區(qū)(內(nèi)存)

3.執(zhí)行引擎

類(lèi)加載器子系統(tǒng)

 

類(lèi)裝載包括了加載,連接(驗(yàn)證、準(zhǔn)備、解析(可選)),初始化。其中類(lèi)加載工作由ClassLoader及其子類(lèi)負(fù)責(zé)。

加載:在硬盤(pán)上查找并通過(guò)IO讀入字節(jié)碼文件

連接:執(zhí)行校驗(yàn)、準(zhǔn)備、解析(可選)步驟

校驗(yàn),校驗(yàn)字節(jié)碼文件的正確性

準(zhǔn)備,給類(lèi)的靜態(tài)變量分配內(nèi)存,并賦予默認(rèn)值

解析,將符號(hào)引用轉(zhuǎn)為直接引用,類(lèi)裝載器裝入類(lèi)所引用的其他所有類(lèi)

 

初始化:對(duì)類(lèi)的靜態(tài)變量初始化為指定的值,執(zhí)行靜態(tài)代碼塊

類(lèi)加載器體系結(jié)構(gòu)

 

1.啟動(dòng)類(lèi)加載器:負(fù)責(zé)加載JRE的核心類(lèi)庫(kù),如jre目標(biāo)下的rt.jar,charsets.jar等.

2.擴(kuò)展類(lèi)加載器:負(fù)責(zé)加載JRE擴(kuò)展目錄ext中JAR類(lèi)包

3.系統(tǒng)類(lèi)加載器:負(fù)責(zé)加載ClassPath路徑下的類(lèi)包

4.用戶(hù)自定義加載器:負(fù)責(zé)加載用戶(hù)自定義路徑下的類(lèi)包

類(lèi)加載機(jī)制(雙親委派)

 

全盤(pán)負(fù)責(zé)委托機(jī)制。全盤(pán)負(fù)責(zé),當(dāng)一個(gè)ClassLoader加載一個(gè)類(lèi)時(shí),除非顯示的使用另一個(gè)ClassLoader,該類(lèi)所依賴(lài)和引用的類(lèi)也由這個(gè)ClassLoader載入。委托機(jī)制:指先委托父類(lèi)加載器尋找目標(biāo)類(lèi),在找不到的情況下采用自己的路徑中查找并載入目標(biāo)類(lèi)

運(yùn)行時(shí)數(shù)據(jù)區(qū)

 

堆(Java堆)

 

虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建,用于存放對(duì)象實(shí)例,幾乎所有的對(duì)象(包含常量池)都在堆上分配內(nèi)存,當(dāng)對(duì)象無(wú)法再該空間申請(qǐng)到內(nèi)存時(shí)將拋出OutOfMemoryError異常。同時(shí)也是垃圾收集器管理的主要區(qū)域??赏ㄟ^(guò) -Xmx –Xms 參數(shù)來(lái)分別指定最大堆和最小堆。線(xiàn)程共享。

 

棧(Java棧)

 

是java方法執(zhí)行的內(nèi)存模型,為虛擬機(jī)執(zhí)行java方法,每個(gè)方法在執(zhí)行的同時(shí)都會(huì)創(chuàng)建一個(gè)棧幀(用于存儲(chǔ)局部變量表,操作數(shù)棧,動(dòng)態(tài)鏈接,方法出口等信息)。線(xiàn)程獨(dú)占。

 

Jvm對(duì)該區(qū)域規(guī)范了兩種異常:

1,線(xiàn)程請(qǐng)求的棧深度大于虛擬機(jī)棧所允許的深度,將拋出StackOverFlowError異常。

2,若虛擬機(jī)棧可動(dòng)態(tài)擴(kuò)展,當(dāng)無(wú)法申請(qǐng)到足夠內(nèi)存空間時(shí)將拋出OutOfMemoryError。通過(guò)jvm參數(shù)–Xss指定??臻g,空間大小決定函數(shù)調(diào)用的深度。

本地方法棧

 

為虛擬機(jī)執(zhí)行native方法,其他規(guī)范與java棧類(lèi)似。不同類(lèi)型的虛擬機(jī)對(duì)該區(qū)域可自由實(shí)現(xiàn)。線(xiàn)程獨(dú)占。

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

 

用來(lái)存儲(chǔ)待執(zhí)行指令的地址。分支,循環(huán),跳轉(zhuǎn),異常處理,線(xiàn)程恢復(fù)等功能都需要依賴(lài)pc寄存器。線(xiàn)程獨(dú)占。

若線(xiàn)程執(zhí)行的是一個(gè)java方法,則pc寄存器中保存的是待執(zhí)行指令的地址。若執(zhí)行的是一個(gè)native方法,則pc寄存器中為空。

元數(shù)據(jù)區(qū)

 

元數(shù)據(jù)區(qū)取代了永久代,本質(zhì)和永久代類(lèi)似,都是對(duì)JVM規(guī)范中方法區(qū)的實(shí)現(xiàn),區(qū)別在于元數(shù)據(jù)區(qū)并不在虛擬機(jī)中,而是使用本地內(nèi)存。元數(shù)據(jù)區(qū)在頻繁使用,也會(huì)發(fā)生OutOfMemory異常。

元數(shù)據(jù)區(qū)的動(dòng)態(tài)擴(kuò)展,默認(rèn)–XX:MetaspaceSize值為21MB的高水位線(xiàn)。一旦觸及則Full GC將被觸發(fā)并卸載沒(méi)有用的類(lèi)(類(lèi)對(duì)應(yīng)的類(lèi)加載器不再存活),然后高水位線(xiàn)將會(huì)重置。新的高水位線(xiàn)的值取決于GC后釋放的元空間。如果釋放的空間少,這個(gè)高水位線(xiàn)則上升。如果釋放空間過(guò)多,則高水位線(xiàn)下降。

 

執(zhí)行引擎

 

執(zhí)行引擎讀取運(yùn)行時(shí)數(shù)據(jù)區(qū)的字節(jié)碼并逐個(gè)執(zhí)行

(1) 解釋器:解釋器更快地解釋字節(jié)碼,但執(zhí)行緩慢,解釋一句執(zhí)行一句。

(2) JIT編譯器:JIT編譯器消除了解釋器的缺點(diǎn)。執(zhí)行引擎通過(guò)解釋器轉(zhuǎn)換字節(jié)碼,當(dāng)它發(fā)現(xiàn)重復(fù)的代碼時(shí),將使用JIT編譯器,它編譯整個(gè)字節(jié)碼并將其更改為本地代碼。這個(gè)本地代碼將直接用于重復(fù)的方法調(diào)用,這提高了系統(tǒng)的性能。

JIT的構(gòu)成組件為:

中間代碼生成器(Intermediate Code Generator):生成中間代碼 。

代碼優(yōu)化器(Code Optimizer):負(fù)責(zé)優(yōu)化上面生成的中間代碼 。

目標(biāo)代碼生成器(Target Code Generator):負(fù)責(zé)生成機(jī)器代碼或本地代碼 。

分析器(Profiler):一個(gè)特殊組件,負(fù)責(zé)查找熱點(diǎn)(被多次調(diào)用的方法)

(3) 垃圾收集器:收集和刪除未引用的對(duì)象。程序可調(diào)用System.gc()觸發(fā)垃圾收集,但不能保證執(zhí)行。

本地方法接口(JNI):JNI將與本機(jī)方法庫(kù)進(jìn)行交互,并提供執(zhí)行引擎所需的本機(jī)庫(kù)。

本地方法庫(kù):執(zhí)行引擎所需的本機(jī)庫(kù)的集合。

垃圾收集(GC:Garbage Collection)

 

1,如何識(shí)別垃圾,判定對(duì)象是否可被回收?

引用計(jì)數(shù)法:給每個(gè)對(duì)象添加一個(gè)計(jì)數(shù)器,當(dāng)有地方引用該對(duì)象時(shí)計(jì)數(shù)器加1,當(dāng)引用失效時(shí)計(jì)數(shù)器減1。用對(duì)象計(jì)數(shù)器是否為0來(lái)判斷對(duì)象是否可被回收。缺點(diǎn):無(wú)法解決循環(huán)引用的問(wèn)題

根搜索算法:也稱(chēng)可達(dá)性分析法,通過(guò)“GC ROOTs”的對(duì)象作為搜索起始點(diǎn),通過(guò)引用向下搜索,所走過(guò)的路徑稱(chēng)為引用鏈。通過(guò)對(duì)象是否有到達(dá)引用鏈的路徑來(lái)判斷對(duì)象是否可被回收(可作為GC ROOTs的對(duì)象:虛擬機(jī)棧中引用的對(duì)象,方法區(qū)中類(lèi)靜態(tài)屬性引用的對(duì)象,方法區(qū)中常量引用的對(duì)象,本地方法棧中JNI引用的對(duì)象)

2,Java 中的堆是 GC 收集垃圾的主要區(qū)域,GC 分為兩種:Minor GC、Full GC ( 或稱(chēng)為 Major GC )。

Minor GC:新生代(Young Gen)空間不足時(shí)觸發(fā)收集,由于Java 中的大部分對(duì)象通常不需長(zhǎng)久存活,新生代是GC收集頻繁區(qū)域,所以采用復(fù)制算法。

Full GC:老年代(Old Gen )空間不足或元空間達(dá)到高水位線(xiàn)執(zhí)行收集動(dòng)作,由于存放大對(duì)象及長(zhǎng)久存活下的對(duì)象,占用內(nèi)存空間大,回收效率低,所以采用標(biāo)記-清除算法。

GC算法

 

按照回收策略劃分為:標(biāo)記-清除算法,標(biāo)記-整理算法,復(fù)制算法。

1.標(biāo)記-清除算法:分為兩階段“標(biāo)記”和“清除”。首先標(biāo)記出哪些對(duì)象可被回收,在標(biāo)記完成之后統(tǒng)一回收所有被標(biāo)記的對(duì)象所占用的內(nèi)存空間。不足之處:1.無(wú)法處理循環(huán)引用的問(wèn)題2.效率不高3.產(chǎn)生大量?jī)?nèi)存碎片(ps:空間碎片太多可能會(huì)導(dǎo)致以后在分配大對(duì)象的時(shí)候而無(wú)法申請(qǐng)到足夠的連續(xù)內(nèi)存空間,導(dǎo)致提前觸發(fā)新一輪gc)

 

2.標(biāo)記-整理算法:分為兩階段“標(biāo)記”和“整理”。首先標(biāo)記出哪些對(duì)象可被回收,在標(biāo)記完成后,將對(duì)象向一端移動(dòng),然后直接清理掉邊界以外的內(nèi)存。

 

3.復(fù)制算法:把內(nèi)存空間劃為兩個(gè)相等的區(qū)域,每次只使用其中一個(gè)區(qū)域。gc時(shí)遍歷當(dāng)前使用區(qū)域,把正在使用中的對(duì)象復(fù)制到另外一個(gè)區(qū)域中。算法每次只處理正在使用中的對(duì)象,因此復(fù)制成本比較小,同時(shí)復(fù)制過(guò)去以后還能進(jìn)行相應(yīng)的內(nèi)存整理,不會(huì)出現(xiàn)“碎片”問(wèn)題。不足之處:1.內(nèi)存利用率問(wèn)題2.在對(duì)象存活率較高時(shí),其效率會(huì)變低。

 

按分區(qū)對(duì)待可分為:增量收集算法,分代收集算法

1.增量收集:實(shí)時(shí)垃圾回收算法,即:在應(yīng)用進(jìn)行的同時(shí)進(jìn)行垃圾回收,理論上可以解決傳統(tǒng)分代方式帶來(lái)的問(wèn)題。增量收集把對(duì)堆空間劃分成一系列內(nèi)存塊,使用時(shí)先使用其中一部分,垃圾收集時(shí)把之前用掉的部分中的存活對(duì)象再放到后面沒(méi)有用的空間中,這樣可以實(shí)現(xiàn)一直邊使用邊收集的效果,避免了傳統(tǒng)分代方式整個(gè)使用完了再暫停的回收的情況。

2.分代收集:(商用默認(rèn))基于對(duì)象生命周期劃分為新生代、老年代、元空間,對(duì)不同生命周期的對(duì)象使用不同的算法進(jìn)行回收。

 

按系統(tǒng)線(xiàn)程可分為:串行收集算法,并行收集算法,并發(fā)收集算法

1.串行收集:使用單線(xiàn)程處理垃圾回收工作,實(shí)現(xiàn)容易,效率較高。不足之處:1.無(wú)法發(fā)揮多處理器的優(yōu)勢(shì) 2.需要暫停用戶(hù)線(xiàn)程

2.并行收集:使用多線(xiàn)程處理垃圾回收工作,速度快,效率高。理論上CPU數(shù)目越多,越能體現(xiàn)出并行收集器的優(yōu)勢(shì)。不足之處:需要暫停用戶(hù)線(xiàn)程

3.并發(fā)收集:垃圾線(xiàn)程與用戶(hù)線(xiàn)程同時(shí)工作。系統(tǒng)在垃圾回收時(shí)不需要暫停用戶(hù)線(xiàn)程

GC收集器

 

垃圾收集算法是內(nèi)存回收的理論基礎(chǔ),而垃圾收集器就是內(nèi)存回收的具體實(shí)現(xiàn)。

1.Serial 收集器主要針對(duì)新生代的收集,是最基本最古老的收集器,它是單線(xiàn)程收集器,工作時(shí)必須暫停所有用戶(hù)線(xiàn)程。該收集器采用復(fù)制算法。

Serial Old收集器主要針對(duì)老年代收集,采用標(biāo)記-整理算法,實(shí)現(xiàn)簡(jiǎn)單高效,但會(huì)停頓。

 

2.ParNew收集器是Serial的多線(xiàn)程版本,針對(duì)新生代采用復(fù)制算法使用多線(xiàn)程進(jìn)行垃圾收集(并行收集器,響應(yīng)優(yōu)先)。

3.Parallel Scavenge采用復(fù)制算法針對(duì)新生代的多線(xiàn)程收集器(并行收集器,吞吐優(yōu)先)??煽刂仆掏铝亢屯nD時(shí)間,即吞吐量 = 運(yùn)行用戶(hù)代碼時(shí)間 / (運(yùn)行用戶(hù)代碼時(shí)間+垃圾收集時(shí)間)。

Parallel Old收集器是Parallel Scavenge收集器的老年代版本(并行收集器),使用多線(xiàn)程和標(biāo)記-整理算法。

 

4.CMS(Current MarkSweep)收集器針對(duì)老年代,是一種以獲取最短回收停頓時(shí)間為目標(biāo)的收集器,它是一種并發(fā)收集器,采用的是標(biāo)記-清除算法。

 

5.G1的新生代類(lèi)似于ParNew,采用復(fù)制算法算法,當(dāng)新生代占用達(dá)到一定比例的時(shí)候,開(kāi)始收集。老年代類(lèi)似于CMS,不同點(diǎn)是采用標(biāo)記-整理算法。

G1因此它是一款并行與并發(fā)收集器,能充分利用多CPU、多核環(huán)境。并且它能建立可預(yù)測(cè)的停頓時(shí)間模型。

 

與CMS收集器相比G1收集器有以下特點(diǎn):

1. 空間整合,G1收集器采用標(biāo)記-整理算法,不會(huì)產(chǎn)生內(nèi)存空間碎片。分配大對(duì)象(直接進(jìn)Humongous區(qū),專(zhuān)門(mén)存放短期巨型對(duì)象,不用直接進(jìn)老年代,避免Full GC的大量開(kāi)銷(xiāo))不會(huì)因?yàn)闊o(wú)法找到連續(xù)空間而提前觸發(fā)下一次GC。(年青代拷貝、老年代轉(zhuǎn)移對(duì)象無(wú)空閑分區(qū)、巨型對(duì)象無(wú)連續(xù)分區(qū)時(shí)觸發(fā)Full GC,開(kāi)銷(xiāo)極大應(yīng)該避免)

2. 可預(yù)測(cè)停頓,降低停頓時(shí)間是G1和CMS的共同關(guān)注點(diǎn),但G1除了追求低停頓外,還能建立可預(yù)測(cè)的停頓時(shí)間模型,能讓使用者明確指定在一個(gè)長(zhǎng)度為N毫秒的時(shí)間內(nèi),消耗在垃圾收集上的時(shí)間不得超過(guò)N毫秒,幾乎達(dá)到Java實(shí)時(shí)系統(tǒng)(RTSJ)級(jí)的垃圾收集器。

3.G1將Java堆劃分為多個(gè)大小相等的獨(dú)立區(qū)域(Region),雖保留新生代和老年代的概念,但不再是物理隔閡了,它們都是(可以不連續(xù))Region的集合。

收集器常用組合

 

JVM性能調(diào)優(yōu)思路

 

理解GC日志

 

  • [GC [PSYoungGen: 8192K->1000K(9216K)] 16004K->14604K(29696K), 0.0317424 secs] [Times: user=0.06 sys=0.00, real=0.03 secs]
  • [GC [PSYoungGen: 9192K->1016K(9216K)] 22796K->20780K(29696K), 0.0314567 secs] [Times: user=0.06 sys=0.00, real=0.03 secs]
  • [Full GC [PSYoungGen: 8192K->8192K(9216K)] [ParOldGen: 20435K->20435K(20480K)] 28627K->28627K(29696K), [Metaspace: 8469K->8469K(1056768K)], 0.1307495 secs] [Times: user=0.50 sys=0.00, real=0.13 secs]
  • [Full GC [PSYoungGen: 8192K->8192K(9216K)] [ParOldGen: 20437K->20437K(20480K)] 28629K->28629K(29696K), [Metaspace: 8469K->8469K(1056768K)], 0.1240311 secs] [Times: user=0.42 sys=0.00, real=0.12 secs]

常見(jiàn)異常

 

  • StackOverflowError:(棧溢出)
  • OutOfMemoryError: Java heap space(堆空間不足)
  • OutOfMemoryError: GC overhead limit exceeded (GC花費(fèi)的時(shí)間超過(guò) 98%, 并且GC回收的內(nèi)存少于 2%)

GC參數(shù)

 

堆棧設(shè)置

  • -Xss:每個(gè)線(xiàn)程的棧大小
  • -Xms:初始堆大小,默認(rèn)物理內(nèi)存的1/64
  • -Xmx:最大堆大小,默認(rèn)物理內(nèi)存的1/4
  • -Xmn:新生代大小
  • -XX:NewSize:設(shè)置新生代初始大小
  • -XX:NewRatio:默認(rèn)2表示新生代占年老代的1/2,占整個(gè)堆內(nèi)存的1/3。
  • -XX:SurvivorRatio:默認(rèn)8表示一個(gè)survivor區(qū)占用1/8的Eden內(nèi)存,即1/10的新生代內(nèi)存。
  • -XX:MaxMetaspaceSize:設(shè)置元空間最大允許大小,默認(rèn)不受限制,JVM Metaspace會(huì)進(jìn)行動(dòng)態(tài)擴(kuò)展。

垃圾回收統(tǒng)計(jì)信息

  • -XX:+PrintGC
  • -XX:+PrintGCDetails
  • -XX:+PrintGCTimeStamps
  • -Xloggc:filename

收集器設(shè)置

  • -XX:+UseSerialGC:設(shè)置串行收集器
  • -XX:+UseParallelGC:設(shè)置并行收集器
  • -XX:+UseParallelOldGC:老年代使用并行回收收集器
  • -XX:+UseParNewGC:在新生代使用并行收集器
  • -XX:+UseParalledlOldGC:設(shè)置并行老年代收集器
  • -XX:+UseConcMarkSweepGC:設(shè)置CMS并發(fā)收集器
  • -XX:+UseG1GC:設(shè)置G1收集器
  • -XX:ParallelGCThreads:設(shè)置用于垃圾回收的線(xiàn)程數(shù)

并行收集器設(shè)置

  • -XX:ParallelGCThreads:設(shè)置并行收集器收集時(shí)使用的CPU數(shù)。并行收集線(xiàn)程數(shù)。
  • -XX:MaxGCPauseMillis:設(shè)置并行收集最大暫停時(shí)間
  • -XX:GCTimeRatio:設(shè)置垃圾回收時(shí)間占程序運(yùn)行時(shí)間的百分比。公式為1/(1+n)

CMS收集器設(shè)置

  • -XX:+UseConcMarkSweepGC:設(shè)置CMS并發(fā)收集器
  • -XX:+CMSIncrementalMode:設(shè)置為增量模式。適用于單CPU情況。
  • -XX:ParallelGCThreads:設(shè)置并發(fā)收集器新生代收集方式為并行收集時(shí),使用的CPU數(shù)。并行收集線(xiàn)程數(shù)。
  • -XX:CMSFullGCsBeforeCompaction:設(shè)定進(jìn)行多少次CMS垃圾回收后,進(jìn)行一次內(nèi)存壓縮
  • -XX:+CMSClassUnloadingEnabled:允許對(duì)類(lèi)元數(shù)據(jù)進(jìn)行回收
  • -XX:UseCMSInitiatingOccupancyOnly:表示只在到達(dá)閥值的時(shí)候,才進(jìn)行CMS回收
  • -XX:+CMSIncrementalMode:設(shè)置為增量模式。適用于單CPU情況
  • -XX:ParallelCMSThreads:設(shè)定CMS的線(xiàn)程數(shù)量
  • -XX:CMSInitiatingOccupancyFraction:設(shè)置CMS收集器在老年代空間被使用多少后觸發(fā)
  • -XX:+
  • UseCMSCompactAtFullCollection:設(shè)置CMS收集器在完成垃圾收集后是否要進(jìn)行一次內(nèi)存碎片的整理

G1收集器設(shè)置

  • -XX:+UseG1GC:使用G1收集器
  • -XX:ParallelGCThreads:指定GC工作的線(xiàn)程數(shù)量
  • -XX:G1HeapRegionSize:指定分區(qū)大小(1MB~32MB,且必須是2的冪),默認(rèn)將整堆劃分為2048個(gè)分區(qū)
  • -XX:GCTimeRatio:吞吐量大小,0-100的整數(shù)(默認(rèn)9),值為n則系統(tǒng)將花費(fèi)不超過(guò)1/(1+n)的時(shí)間用于垃圾收集
  • -XX:MaxGCPauseMillis:目標(biāo)暫停時(shí)間(默認(rèn)200ms)
  • -XX:G1NewSizePercent:新生代內(nèi)存初始空間(默認(rèn)整堆5%)
  • -XX:G1MaxNewSizePercent:新生代內(nèi)存最大空間
  • -XX:TargetSurvivorRatio:Survivor填充容量(默認(rèn)50%)
  • -XX:MaxTenuringThreshold:最大任期閾值(默認(rèn)15)
  • -XX:InitiatingHeapOccupancyPercen:老年代占用空間超過(guò)整堆比IHOP閾值(默認(rèn)45%),超過(guò)則執(zhí)行混合收集
  • -XX:G1HeapWastePercent:堆廢物百分比(默認(rèn)5%)
  • -XX:G1MixedGCCountTarget:參數(shù)混合周期的最大總次數(shù)(默認(rèn)8)

性能分析和監(jiān)控工具

 

  • Jps:虛擬機(jī)進(jìn)程狀況工具
  • Jstat:虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具
  • Jinfo:虛擬機(jī)配置信息工具
  • Jmap:內(nèi)存映像工具
  • Jhat:虛擬機(jī)堆轉(zhuǎn)儲(chǔ)快照分析工具
  • Jstack:堆棧跟蹤工具
  • JConsole:java監(jiān)視與管理控制臺(tái)
  • VisualVM:故障處理工具

 

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2009-09-07 22:01:52

虛擬機(jī)安裝Linux系

2012-05-18 10:22:23

2009-08-07 11:06:07

虛擬機(jī)安裝Vista系統(tǒng)

2023-04-26 07:51:36

虛擬機(jī)操作系統(tǒng)進(jìn)程

2013-07-17 09:32:58

2020-06-03 19:07:49

Java虛擬機(jī)JVM

2019-10-08 14:40:53

Java線(xiàn)程

2009-09-09 08:05:51

優(yōu)化VMware Se

2010-09-17 15:12:57

JVMJava虛擬機(jī)

2010-07-26 09:02:38

2010-02-06 15:21:34

2009-06-12 15:41:01

Java虛擬機(jī)

2011-10-29 21:32:28

惠普微軟云計(jì)算

2011-12-28 13:24:47

JavaJVM

2020-05-08 16:55:48

Java虛擬機(jī)JVM

2018-06-19 15:39:21

HeapJava虛擬機(jī)

2011-06-22 13:35:55

JVM

2009-06-12 16:15:42

死鎖Java虛擬機(jī)

2010-12-23 14:05:12

虛擬機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)