当前位置: 首页 > news >正文

四川省的住房和城乡建设厅网站首页网上银行建设银行

四川省的住房和城乡建设厅网站首页,网上银行建设银行,北京网站搭建设计,南通网站建设有限公司一、jvm的运行参数 标准参数 -help、-version、-D参数 jvm的标准参数#xff0c;一般都是很稳定的#xff0c;在未来的JVM版本中不会改变#xff0c;可以使用java -help 检索出所有的标准参数。 通过以下命令查看#xff1a; 命令#xff1a;java -help 可以看到我们经常…一、jvm的运行参数 标准参数 -help、-version、-D参数 jvm的标准参数一般都是很稳定的在未来的JVM版本中不会改变可以使用java -help 检索出所有的标准参数。 通过以下命令查看 命令java -help 可以看到我们经常会用到的 -sever-version等参数。 实战1查看JVM版本 命令java -version jvm版本是1.8.0_202而且是64位server混合模式。 实战2通过-D设置系统属性参数 先写一段代码 public class TestVM { public static void main(String[] args) { String name System.getProperty(name); if(name!null){ System.out.println(name); } else{ System.out.println(ling); } } } 运行上面这段代码通过-D带入一个参数name根据name的值进行判断如果name不为null则打印如果为null则打印 ling。 # 在root下创建一个文件夹下创建这个文件 vi TestJVM.java#把上面的java代码复制进去#执行代码 [rootlocalhost test]# javac TestJVM.java [rootlocalhost test]# java TestJVM ling#设置参数进行设置系统属性‐D名称值 [rootlocalhost test]# java -Dnamesmart哥 smart哥 -server、-client参数 -X参数非标准参数 jvm的-X参数是非标准参数在不同版本的jvm中参数可能会有所不同可以通过java -X查看非标准参数。 -XX参数使用率较高 -Xms与-Xmx参数 查看jvm的运行参数 jinfo是JDK自带的一种命令行工具用于查看和修改Java应用程序的运行参数。它可以帮助开发人员在运行时调整JVM参数例如堆大小、GC收集器、线程栈大小等 查Java进程25834的JVM参数 命令jinfo -flags 25834 Non-default VM flags:非标准参数 Command line: 通过命令行设置的参数 查Java进程25834的单个JVM参数 命令jinfo -flag ConcGCThreads 25834 jvm内存模型详解 jvm的内存模型在1.7和1.8有较大的区别虽然本套课程是以1.8为例进行讲解但是我们也是需要对1.7的内存模型有所了解所以接下里我们将先学习1.7再学习1.8的内存模型。目前线上常用版本组合是jdk8tomcat8.5。 jdk1.7的堆内存模型 fullGC - 回收整个堆内存(年轻代、老年代) jdk1.8的堆内存模型 JVM1.7和1.8的最大差异1.7的永久区在堆内存(虚拟机)中1.8永久区被废弃加入了MetaData位于机器直接内存内存条中不在虚拟机中 为什么要废弃1.7中的永久区 可能理由永久区管理字节码文件一般情况下增加字节码文件都会重启虚拟机运行中垃圾回收期基本不用管理字节码文件只有热部署的时候永久区才会断追加字节码文件这也就是为什么热部署容易报java.lang.OutOfMemoryError:PermGen space,也可能是导致永久区不再需要被虚拟机管理在1.8被移除的一个重要原因将字节码文件直接放入机器本地内存空间中(MetaData)。 通过jstat命令进行查看堆内存使用情况 jstat命令可以查看堆内存各部分的使用量以及加载类的数量。 命令的格式如下 jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数] 查看class加载数统计 命令jstat -class 3694 查看编译统计 命令jstat -compiler 3694 垃圾回收统计 命令jstat -gc 3694 查看进程11005的GC信息 间隔1秒1次打印5次 命令jstat -gc 11005 1000 5 jmap使用以及内存溢出分析jmap命令用的比较多 前面通过jstat可以对jvm堆的内存进行统计分析而jmap可以获取到更加详细的内容。如内存使用情况的汇总、对内存溢出的定位与分析。 查看内存使用情况 命令jmap -heap 3694 解释 Java命令学习系列三——Jmap -腾讯云开发者社区-腾讯云 查询内存中对象数量及大小 命令jmap -histo 3331 查询内存中活跃的对象数量及大小 命令jmap -histo:live 25834| more 将内存使用情况dump到文件中 通过浏览器访问解析后的文件 http://localhost:8888 如果有防火墙开放8889端口 jhat还提供了查询功能在页面的最后面 MAT工具使用详解 MAT工具介绍 MAT(Memory Analyzer Tool)一个基于Eclipse的内存分析工具是一个快速、功能丰富的JAVA heap分析工具它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析快速的计算出在内存中对象的占用大小看看是谁阻止了垃圾收集器的回收工作并可以通过报表直观的查看到可能造成这种结果的对象。 下载安装 旧版本下载地址Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation 使用 内存溢出定位与分析实战 内存溢出在实际的生产环境中经常会遇到比如不断的将数据写入到一个集合中出 现了死循环读取超大的文件等等都可能会造成内存溢出。 如果出现了内存溢出首先我们需要定位到发生内存溢出的环节并且进行分析是正 常还是非正常情况如果是正常的需求就应该考虑加大内存的设置如果是非正常需求那么就要对代码进行修改修复这个bug我们需要借助于jmap与MAT工具进行定位分析。 接下来我们模拟内存溢出的场景。 1、模拟内存溢出 编写代码向List集合中添加100万个字符串每个字符串由1000个UUID组成。如果程序能够正常执行最后打印okidea编辑器中需要设置内存溢出相关参数 #参数如下 ‐Xms8m ‐Xmx8m ‐XX:HeapDumpOnOutOfMemoryError package com.zte.oom; import java.util.ArrayList;import java.util.UUID; /************************************************** * * title qq184480602 * desc ling * author smart哥 * **************************************************/ public class TestOOM { public static void main(String[] args) { ArrayListString stringArrayList new ArrayList(); for (int i 0; i 1000000 ; i) { String str; for (int j 0; j 1000 ; j) { strstrUUID.randomUUID().toString(); } stringArrayList.add(str); } System.out.println(it is over!!); } } #设置VM options: -Xms8m -Xmx8m -XX:HeapDumpOnOutOfMemoryError 大白话 在VMOptions中设置-XX:HeapDumpOnOutOfMemoryError,当出现堆栈溢出的时候dumpJVM堆栈信息到java_pid32216.hprof文件32216为程序在系统中的进程号。 2、运行测试 运行一段时间后会抛出java.lang.OutOfMemoryError: Java heap space 异常。 可以看到发生了内存溢出此时会dump文件到java_pid13320.hprof文件中。 3、导入到MAT工具中进行分析 查看Leak Suspects视图 可以看到有89.07%的内存由Object[]数组占有所以比较可疑。 分析这个可疑是正确的因为已经有超过89%的内存都被它占有这是非常有可能出现内存溢出的,一般达到60%-70%就可以确实是这引起的内存溢出了。 查看Object Details视图详情如下 查看Object Details视图 可以看到集合中存储了大量的uuid字符串。 继续查看dominator视图进一步验证。 查看dominator视图 jstack使用详解及定位死锁问题 jstack的使用 回顾线程的状态 实战死锁问题 jvisualvm使用详解及定位死锁问题 jvisualvm使用详解 启动 查看本地进程 查看CPU、内存、类、线程运行信息 查看线程详情 抽样器 监控远程的jvm
http://www.hkea.cn/news/14545982/

相关文章:

  • 主流做网站程序代码wordpress应用镜像
  • 焦作网站建设哪家权威如何自学网站后台
  • 教育考试类网站建设wordpress注册的用户不是vip
  • 中国设计师个人网站在线制作电子公章生成器
  • 正定网站建设制作公司网站建设ppt方案结语
  • 做网站应该考虑哪些问题网站开发毕业设计任务书怎么写
  • 品牌网站建设 蝌4蚪小东莞seo建站广告
  • 营销型网站的目标旅游网站开发与设计论文
  • 网站建设建议书夫妻做网站
  • 简单的静态网页代码搜索引擎优化工作原理的先后顺序
  • 虚拟空间的网站赚钱吗wordpress通知发帖
  • 多伦网站建设一流的高密网站建设
  • 潍坊网站制作熊掌号投稿平台
  • 张家港网站建设培训学校要怎么做网站推广
  • 郑州市多商家网站制作公司网站怎么制作成软件
  • 宿迁沭阳网站建设雄安建设集团有限公司网站
  • 网站前后端全部做需要多少钱a96中华室内设计网
  • 开通企业网站需要多少钱商丘网红打卡地
  • 如何建设网站教程网站色彩搭配技巧
  • 网站推广的作用大连在哪儿地图
  • 学网站建设有什么用中国建筑网站平台有哪些
  • 自己做商业网站深圳正规网站制作哪里好
  • 企业建站公司流程带后台的html网站源码
  • 网上接网站开发不给钱怎么办长安网站优化
  • 小门户网站模板wordpress仿凡客商城主题
  • 温州在线制作网站精品课程网站建设设计方案
  • 安徽建设厅网站证件查询广州购物必去的地方
  • 天津公司网站制作公司wordpress删除页面
  • 网站加关键词代码二级建造师注册查询
  • 网站初期推广怎么做网站收款二维码