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即可

visualvm_default_options="-J-client -J-Xms24m -J-Xmx1024m -J-Dsun.jvmstat.perdata.syncWaitMs=10000 -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.d3d=false -J-Dnetbeans.keyring.no.master=true -J-Dplugin.manager.install.global=false -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-exports=jdk.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED -J--add-exports=jdk.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED -J--add-modules=java.activation -J-XX:+IgnoreUnrecognizedVMOptions"

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.类加载机制概相关推荐

  1. mysql5.7.14安装版_MySql5.7.14安装教程详解(解压版)_MySQL

    下面进入正式的教程: 第一步:下载最近的MySQL文件并且解压: 下载最新版的MySQL–mysql-5.7.12下载地址 将下载到的文件解压缩到自己喜欢的位置,例如我自己的位置是D:\MySQL\m ...

  2. 作曲理论与计算机音乐,专业详解 ‖ 15作曲与作曲技术理论(电子音乐方向)...

    原标题:专业详解 | 15作曲与作曲技术理论(电子音乐方向) 曾经我喜欢钢琴吉他 但在传统乐器自身的局限下 却很少能找到自由的表达方法 直到,遇到了TA 提到 电子音乐 你会想到什么? 是电吉他.电钢 ...

  3. java 死锁 内存消耗_详解Java中synchronized关键字的死锁和内存占用问题

    先看一段synchronized 的详解: synchronized 是 java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并 ...

  4. 前端页面预览word_详解html实现在线预览word、excel、pdf等文件的功能(附代码)_WEB前端开发...

    JavaScript判断"字典"为空的方法_WEB前端开发 字典是一种存储键值对的数据结构,Javascript中的Object类内部即实现为一个字典,本文就来为大家介绍一下判断字 ...

  5. 【Lucene】分词器详解,常用的分词器,IKANalyzer

    [Lucene]分词器详解,常用的分词器,IKANalyzer 1. 分词器详解 1.1 分词器的作用 1.2 分词器API 1.2.1 示例 1.2.2 Analyzer 1.2.3 createC ...

  6. CentOS下Redis 2.2.14安装配置详解

    一. 下载redis最新版本2.2.14 cd /usr/local/src wget –c http://redis.googlecode.com/files/redis-2.2.14.tar.gz ...

  7. 2022.12六级真题第1套答案及详解(15页)

    Hey大家好!今天我来给大家分享一份超棒的资料--2022年12月六级真题第1套答案及详解!包含答案,还有详细的解析哦! 对于每一道题目,都有对应的答案解析,不仅能够帮助大家检验答案的正确性,还能够帮 ...

  8. Google官方 详解 Android 性能优化【史诗巨著之内存篇】

    尊重博主原创,如需转载,请附上本文链接http://blog.csdn.net/chivalrousman/article/details/51553114#t16 为什么关注性能 对于一款APP,用 ...

  9. 详解为什么32位系统只能用4G内存.

              既然是详解, 就从最基础的讲起了. 1. Bit(位)               Bit计算机是计算机最小的存储单位,  大家都知道计算机实质上都是用二进制数0或者1来存储数据的 ...

最新文章

  1. yaourt -S mysql_arch中yaourt的安装和使用
  2. node.js:fs.open 和 fs.write 读取文件和改写文件
  3. python打开摄像头获取图片_Python基于opencv调用摄像头获取个人图片的实现方法
  4. java 流程控制_《Java基础知识》Java流程控制
  5. 【Python】挑战SQL:图解Pandas的数据合并merge
  6. 07-机器学习(Hog+SVM实现小狮子识别)
  7. php获取推特feed twitter timeline feed
  8. 构建之法首周阅读体会
  9. 服务器内容推送技术(转)
  10. TeaVM辛辛苦苦编译出的wasm,浏览器中不能跑
  11. matlab掷色子游戏,掷骰子游戏四种玩法_聚会游戏必备
  12. String常用方法汇总
  13. android service设置persistent,Persistent service
  14. 阿里云对象存储OSS上传照片(附源码)
  15. 如何系统学习计算机编程?自学还是培训?怎么选?
  16. 哪个软件能代替斐讯路由_斐讯路由器最新版本|好用的路由器管理软件_最火手机站...
  17. 使用Java制作一个简易的远控终端
  18. python 学生管理系统 增,删,改,查
  19. (笔记)andro studio ——ProgressDialog
  20. python类的使用的生物学应用_python类的使用的生物学应用_Python 类的使用

热门文章

  1. python不支持字符类型、单个字符也作为字符串使用_Python 字符串
  2. hive 集成oracle,hive集成kerberos问题1
  3. 前端基础之JavaScript_1(二)
  4. VTK:演示在多边形数据上使用裁剪用法实战
  5. OpenCASCADE:使用 扩展数据交换XDE之入门
  6. wxWidgets:wxFloatingPointValidator<T> 类模板用法
  7. boost::mpl::aux::largest_int相关用法的测试程序
  8. boost::mpi::wait_all相关用法的测试程序
  9. boost::graph模块演示 GGCL Edge 接口
  10. boost::geometry::promote_integral用法的测试程序