14.VisualVM使用详解、15.VisualVM堆查看器使用的内存不足、19.class文件--文件结构--魔数、20.文件结构--常量池、21.文件结构访问标志(2个字节)、22.类加载机制概
14.VisualVM使用詳解
15.VisualVM堆查看器使用的內存不足
16.性能調優概述
17.性能調優–案例1
18.性能調優—案例三
19.class文件–文件結構–魔數
20.文件結構–常量池
21.文件結構訪問標志(2個字節)
22.類加載機制概述
23.類加載過程
14.VisualVM使用詳解
15.VisualVM堆查看器使用的內存不足
在使用visualvm分析大的dump文件時,常會遇到堆查看器使用的內存不足。
解決辦法:
修改:JAVA_HOME/lib/visualvm/etc/visualvm.conf文件中visualvm_default_options="-J-client -J-Xms24 -J-Xmx256m",把256改為1024,然后重啟jvisualVM即可
16.性能調優概述
17.性能調優–案例1
經常發現Full GC,并且每次發生Full GC的時間相當長
為什么會發生這么長的Full GC呢?
思路:
對象優先放到Eden
大對象和長時間存活的會到老年到
當老年代不夠用的時候會觸發Full GC
當對內存很大的時候,老年代很大,所以需要長時間Full GC
經驗:使用單集的tomcat集群。對內存減少。
18.性能調優—案例三
智能家居項目:
問題:jvm崩潰
原因:Connect Reset問題。
原因:大量任務來了之后,處理不好。
解決辦法:
總結:在處理不對等數據的時候,加上一個消息隊列。
19.class文件–文件結構–魔數
比如上面的34表示52,即下面的JDK1.8
20.文件結構–常量池
tag : 常量池類型,18種
21.文件結構訪問標志(2個字節)
javap的用途百度查一下
22.類加載機制概述
懶加載機制。(即:用的時候才加載。第一次用的時候要等待一下才可以加載)
Java中的加載其實就是懶加載策略。
Hotspot就是懶加載方式。
23.類加載過程
Java類的聲明周期
連接:當類在加載過程
案例(通過子類引用父類的靜態字段):
這是可以看到只會加載父類。子類并沒有被初始化。
案例2(通過數組類引用類不會被加載)
案例3(調用類的常量):
結果只有20
總結
以上是生活随笔為你收集整理的14.VisualVM使用详解、15.VisualVM堆查看器使用的内存不足、19.class文件--文件结构--魔数、20.文件结构--常量池、21.文件结构访问标志(2个字节)、22.类加载机制概的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 校园安全的日常监督和视察需要做到哪些方面
- 下一篇: 部队骗子用薪起程吗