雨课堂知识点总结(十七)
8.4 動態性能分析方法與工具
1. 以下關于Dynamic Program
Analysis的說法,不正確的是__
A 根據程序執行的過程與結果,分析代碼在時空性能方面所展現出的性質
B 對程序執行的性能沒有影響
C 可用來發現程序中的“熱點”語句,即哪些語句被頻繁執行
D 只需執行次,即可比測試更容易發現程序中的性能弱點和bug
E 能夠發現程序中各種不同類型的object分別占用了多少內存空間
正確答案:BD
2.關于profiling的三種策略,說法不正確的是
A 采用代碼注入的策略,對程序性能的度量最為準確
B 采用Instrumented VM的策略,需針對不同的VM分別使用不同的profiling工具
C 采用Sampling的策略,對程序執行性能的影響最大
D 采用Instrumented VM和Sampling的策略,均不需對程序代碼進行修改
E 采用代碼注入的策略,不可能對目標代碼進行動態注入
正確答案:ACE
3. 關于Java提供的若Fprofiling工具,說法不正確的是_
A 有工具可以獲取Java程序運行時JVM管理的各heap區域的動態占用情況
B 有工具可以得知指定的Java程序所采用的GC策略
C 有工具可以對正在運行的Java程序的JVM內存配置進行參數的動態設置
D 即使不使用這些工具,當Java程序拋出0utOfMemoryError時,JVM也能夠自動導出內存溢出時刻的heap dump
E 有工具可以獲取當前時刻Java程序主線程的call stack的狀態
正確答案:CD
4.
從該結果看,在第一次GC前后,survivor space的占用比例增加了_ old generation的占用比例增加了_
A 91.03%,1. 98%
B -5.99%,1.39%
C -94.55%,-97 .02%
D 91.03%,0.37%
正確答案:B
5.不能導出某個Java迸程的heap dump文件的是_
A jmap
B jcmd
C jconsole
D jstack
E jhat
F Eclipse Memory Analyzer
正確答案: DEF
6.使用profiling工具來監控你的Lab3程序時,發現heap中出現了大量的PhysicalObject對象實例,占用了大量內存。可能的原因是___
A: 你的Lab3將Physicalobject設計A 為mutable,并對其采取了防御式拷貝策略以避免表示泄漏
B: 本次運行讀入了一個大文件,故B 構造Circularorbi t對象時不得不構造大量Physicalobject對象
C: 導出heap的時刻之前較長時間沒有進行GC,故大量無活性的Physica lobject仍處于內存中
D:你的Lab3對Physicalobject的生成(new)采用了"靜態工廠”模式,導致JVM無法獲取各
Physicalobject對象的活性而無法及時GC
正確答案:ABC
?
7.對代碼進行dynamic profiling,不需要在__時候進行
A: ADT的初始版本完成后(包括完成了Rep、方法、AF、RI、Spec、各方法的代碼)
B:ADT測試完成后(根據spec設計測試用例,用JUnit執行測試用例并獲得結果后)
每次向Git進行一次commit之前
C: ADT迭代開發結束,除性能之外的其他外部和內部質量指標的優化均已經達到期望
D: 交付用戶之前,發現程序運行緩慢,與期望不符
正確答案:ABC
?
轉載于:https://www.cnblogs.com/HIT-ryp/p/10905638.html
總結
以上是生活随笔為你收集整理的雨课堂知识点总结(十七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bugly符号化iOS 崩溃,快速定位c
- 下一篇: NFS网络文件共享系统-综合架构NO.2