黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

面試題首頁 > JVM面試題

JVM調(diào)優(yōu)面試題

001JVM性能調(diào)優(yōu)的原則有哪些?

1)多數(shù)的Java應(yīng)用不需要在服務(wù)器上進(jìn)行GC優(yōu)化;
2)多數(shù)導(dǎo)致GC問題的Java應(yīng)用,都不是因?yàn)槲覀儏?shù)設(shè)置錯(cuò)誤,而是代碼問題;
3)在應(yīng)用上線前,先考慮將JVM參數(shù)設(shè)置到最優(yōu);
4)減少對(duì)象創(chuàng)建的數(shù)量;
5)減少全局變量和大對(duì)象;
6)GC優(yōu)化是最后不得已才使用的手段,在實(shí)際應(yīng)用中,分析GC情況優(yōu)化代碼比優(yōu)化GC參數(shù)要多得多;

002什么情況下需要JVM調(diào)優(yōu)?

通過看監(jiān)控中的jvm是否有fgc,頻繁fgc才需要優(yōu)化(頻繁fgc需要抓緊改配置)

003JVM常用性能調(diào)優(yōu)工具有哪些?

1)JDK的命令行工具
Sun JDK監(jiān)控和故障處理命令有jps、jstat、jmap、jhat、jstack、jinfo
jps(虛擬機(jī)進(jìn)程狀況工具):顯示指定系統(tǒng)內(nèi)所有的HotSpot虛擬機(jī)進(jìn)程。    jstat(虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具):用于監(jiān)視虛擬機(jī)運(yùn)行時(shí)狀態(tài)信息的命令,它可以顯示出虛擬機(jī)進(jìn)程中的類裝載、內(nèi)存、垃圾收集、JIT編譯等運(yùn)行數(shù)據(jù)。    jinfo(Java配置信息工具):jinfo的作用是實(shí)時(shí)地查看和調(diào)整虛擬機(jī)各項(xiàng)參數(shù)。
jmap(Java內(nèi)存映像工具):dump堆到文件,可用于對(duì)文件的分析。    
jhat(虛擬機(jī)堆轉(zhuǎn)儲(chǔ)快照分析工具):jhat命令與jmap搭配使用,來分析jmap生成的堆 轉(zhuǎn)儲(chǔ)快照。jhat內(nèi)置了一個(gè)微型的HTTP/HTML服務(wù)器,生成dump文件的分析結(jié)果后,可以在瀏覽器中查看。
jstack(Java堆棧跟蹤工具):jstack命令用于生成虛擬機(jī)當(dāng)前時(shí)刻的線程快照。線程快照就是當(dāng)前虛擬機(jī)內(nèi)每一條線程正在執(zhí)行的方法堆棧 的集合,生成線程快照的主要目的是定位線程出現(xiàn)長時(shí)間停頓的原因,如線程間死鎖、死循 環(huán)、請(qǐng)求外部資源導(dǎo)致的長時(shí)間等待等都是導(dǎo)致線程長時(shí)間停頓的常見原因。線程出現(xiàn)停頓 的時(shí)候通過jstack來查看各個(gè)線程的調(diào)用堆棧,就可以知道沒有響應(yīng)的線程到底在后臺(tái)做些 什么事情,或者等待著什么資源。
2)JConsole
Jconsole(Java Monitoring and Management Console)是從java5開始,在JDK中自帶的java監(jiān)控和管理控制臺(tái),用于對(duì)JVM中內(nèi)存,線程和類等的監(jiān)控,是一個(gè)基于JMX(java management extensions)的GUI性能監(jiān)測(cè)工具。jconsole使用jvm的擴(kuò)展機(jī)制獲取并展示虛擬機(jī)中運(yùn)行的應(yīng)用程序的性能和資源消耗等信息。
概覽:包括堆內(nèi)存使用情況、線程、類、CPU使用情況四項(xiàng)信息的曲線圖。
3)VisualVM
VisualVM(All-in-One Java Troubleshooting Tool)是功能最強(qiáng)大的運(yùn)行監(jiān)視和故障處理程序之一,曾經(jīng)在很長一段時(shí)間內(nèi)是Oracle官方主力發(fā)展的虛擬機(jī)故障處理工具。
相比一些第三方工具,VisualVM有一個(gè)很大的優(yōu)點(diǎn):不需要被監(jiān)視的程序基于特殊Agent去運(yùn)行,因此它的通用性很強(qiáng),對(duì)應(yīng)用程序?qū)嶋H性能的影響也較小,使得它可以直接應(yīng)用在生產(chǎn)環(huán)境中。
Visual GC 是常常使用的一個(gè)功能,需要通過插件按照,可以明顯的看到年輕代、老年代的內(nèi)存變化,以及gc頻率、gc的時(shí)間等!

004出現(xiàn)OutOfMemoryError(OOM)原因?

觸發(fā) java.lang.OutOfMemoryError:最常見的原因就是應(yīng)用程序需要的堆空間需要的是大的,但是 JVM 提供的卻是小的,從而導(dǎo)致內(nèi)存溢出。這個(gè)解決方法就是提供大的堆空間即可。
除此之外還有復(fù)雜的原因:內(nèi)存泄露。特定的編程錯(cuò)誤會(huì)導(dǎo)致你的應(yīng)用程序不停的消耗更多的內(nèi)存,每次使用有內(nèi)存泄漏風(fēng)險(xiǎn)的功能就會(huì)留下一些不能被回收的對(duì)象到堆空間中,隨著時(shí)間的推移,泄漏的對(duì)象會(huì)消耗所有的堆空間,最終觸發(fā)java.lang.OutOfMemoryError: Java heap space 錯(cuò)誤。

005OutOfMemoryError(OOM)的解決方案?

1.確保有足夠的堆空間來正常運(yùn)行你的應(yīng)用程序,在 JVM 的啟動(dòng)配置中增加如下配置:-Xmx1024m。
2.流量/數(shù)據(jù)量峰值:應(yīng)用程序在設(shè)計(jì)之初均有用戶量和數(shù)據(jù)量的限制,某一時(shí)刻,當(dāng)用戶數(shù)量或數(shù)據(jù)量突然達(dá)到一個(gè) 峰 值 , 并 且 這 個(gè) 峰 值 已 經(jīng) 超 過 了 設(shè) 計(jì) 之 初 預(yù) 期 的 閾 值 , 那 么 以 前 正 常 的 功 能 將 會(huì) 停 止 , 并 觸 發(fā)java.lang.OutOfMemoryError
3.Java heap space 異常解決方案,如果你的應(yīng)用程序確實(shí)內(nèi)存不足,增加堆內(nèi)存會(huì)解決 GC overhead limit 問題,就如下面這樣,給你的應(yīng)用程序 1G 的堆內(nèi)存:java -Xmx1024m com.yourcompany.YourClass。

目錄

返回頂部
主站蜘蛛池模板: 国内精品视频在线播放 | 国产 日韩 欧美 高清 | 亚洲色图 第一页 | 国产精品日韩欧美一区二区三区 | free性欧美极度另类性性欧美 | 国产啪视频免费视频观看视频 | 国产1区2区3区在线观看 | 最近中文字幕完整视频高清1 | 五月婷婷在线播放 | 爱呦视频在线播放网址 | 日本欧美大码aⅴ在线播放 日本欧美成人免费观看 | 不卡一区在线观看 | 欧美中文一区 | 国产成人精品.一二区 | 天天做天天添天天谢 | 久久亚洲国产欧洲精品一 | 国产成人精品免费视频大全办公室 | 亚洲天堂久久久 | 欧类av怡春院 | 国产亚洲精品拍拍拍拍拍 | 婷婷精品在线 | 国产精品久久久久久久专区 | 欧美人体一区二区三区 | 国产欧美精品 | 99精品国产成人一区二区 | 日本欧美一区二区三区高清 | 日韩成人午夜 | 多人伦交性欧美在线观看 | 日韩插插插 | 亚洲国产午夜 | 日韩欧美亚洲综合久久99e | 久久综合久久综合久久 | 欧美在线免费播放 | 狠狠插网站 | 国产成人精品视频频 | 日本免费专区 | 亚洲人成网站色7799在线观看 | 日本三级欧美三级香港黄 | 国产一国产一有一级毛片 | 美女鲜嫩bbbb | 翁熄系列乱老扒小雪小说 |