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

网站被取消备案南京培训网站建设

网站被取消备案,南京培训网站建设,建设工程消防网站进入程序,网站建设套餐价格这个小型系列的第一个博客介绍了如何创建一个非常泄漏的示例应用程序#xff0c;以便我们可以研究解决服务器应用程序上基于堆的问题的技术。 它展示了Producer-Consumer模式的一个大问题#xff0c;即消费者代码必须能够至少与生产者一样快#xff08;如果不是更快#xf… 这个小型系列的第一个博客介绍了如何创建一个非常泄漏的示例应用程序以便我们可以研究解决服务器应用程序上基于堆的问题的技术。 它展示了Producer-Consumer模式的一个大问题即消费者代码必须能够至少与生产者一样快如果不是更快从队列中删除项目。 博客的结尾是我开始示例代码然后坐下来同时它泄漏了足够的内存以进行调查。 现在该进行调查了。 如果您阅读本博客的第1部分 您将知道泄漏代码是应用程序1的一部分该应用程序使用Producer Consumer模式在虚拟数据库中记录了股票/股票定单。 编写的示例代码包含一个非常明显的缺陷即OrderRecord无法跟上OrderFeed 。 这意味着Order队列会越来越大直到最后应用程序用完堆空间并崩溃为止。 问题是看我的简单代码问题应该很明显但是如果您以前从未看过代码并且它是巨大的复杂的工业强度代码又没有简单的监视线程来监视队列大小该怎么办或其他内部零件 那你怎么办呢 他们是发现泄漏应用程序问题所需的三个步骤 转储泄漏的服务器堆。 使用堆转储生成报告。 分析报告。 您可以使用多种工具来创建堆转储文件。 这些包括 控制台 可视化 eclipse内存分析器工具MAT 使用jconsole进行堆转储 将jconsole连接到您的应用程序。 单击MBeans选项卡然后打开com.sun.management包。 然后单击HotSpotDiagnostic 。 打开“ Operations然后选择dumpHeap 。 现在您将看到dumpHeap操作该操作dumpHeap两个参数p0和p1 。 在p0编辑框中键入堆转储的文件名然后按dumpHeap按钮。 使用jvisualvm进行堆转储 连接到示例代码后在左侧“应用程序”窗格中右键单击您的应用程序然后选择“堆转储”。 请注意如果您与泄漏的服务器建立了远程连接则jvisualvm将转储文件存储在远程计算机的/tmp目录中假设它是Unix机器。 您将必须将该文件通过FTP传输到计算机上以进行进一步分析。 使用MAT进行堆转储 尽管jconsole和jvisualvm是JDKMAT或内存分析器工具的一部分但它是基于eclipse的工具您可以从eclipse org下载 当前版本的MAT需要在您的PC上安装1.6 jdk。 如果您使用的是Java 1.7请放心它将为您安装1.6并且不会破坏您计算机的其余部分和默认的1.7版本。 使用MAT时只需单击“获取堆转储”并按照说明进行操作即可。 远程连接 这里要注意的是如果您想弄清楚生产服务器为何倒塌那么您可能必须使用JMX进行远程连接为此您需要以下命令行选项我从我以前的博客重复过 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port9010 -Dcom.sun.management.jmxremote.local.onlyfalse -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.jmxremote.sslfalse何时进行堆转储 这需要一些思想和运气。 如果过早获得堆转储那么您将看不到问题因为它们被合法的非泄漏的类实例掩盖了 但是不要等待太久因为进行堆转储需要内存因此进行堆转储的行为可能会导致您的应用程序崩溃。 最好的主意是将jconsole附加到您的应用程序并监视其堆直到看起来即将崩溃为止。 这很容易发现因为三个堆区指示器都是绿色的 分析堆转储 这就是MAT自身的用途因为它旨在分析​​堆转储。 要打开并分析堆转储请选择“ File | Open Heap Dump File | Open Heap Dump 。 选择堆转储文件后现在将为您提供三个选择如下所示 选择 泄漏可疑报告 。 现在MAT将流失几秒钟然后生成如下所示的页面 饼图表明在这种情况下存在一个主要的泄漏嫌疑人。 您可能会认为这是一个修复程序毕竟这是示例代码您期望什么 好吧是的在这种情况下它很明显。 怀疑“ a”占用98.7MB而内存中的其余对象使用其他1.5MB。 在现实情况下您确实会得到可疑的泄漏饼图。 接下来要做的是更深入地挖掘…… 该报告的下一部分如上所示告诉我们有一个LinkedBlockingQueue正在使用98.46的内存。 要对此进行进一步调查请单击Details 。 这表明问题确实出在我们的orderQueue 可通过我以前的博客中的三个对象访问 OrderFeed OrderRecord和OrderMonitor并且正如我们从代码中知道的那样它包含一堆Order对象。 就是这样了; MAT告诉我们该示例代码具有一个LinkedBlockingQueue 它用尽了所有示例应用程序的堆空间从而导致了巨大的问题。 它并没有告诉我们为什么会这样您真的不能期望它会发生。 就像阿加莎·克里斯蒂 Agatha Christie 的赫尔克里·波洛 Hercule Poirot所说的那样使用“ ze little grey cell”…… 参考 调查内存泄漏第2部分– Captain Debug博客博客中来自JCG合作伙伴 Roger Hughes 的问题分析 。 翻译自: https://www.javacodegeeks.com/2013/12/investigating-memory-leaks-part-2-analysing-the-problem.html
http://www.zqtcl.cn/news/945471/

相关文章:

  • 免费建设网站入驻七牛云存储wordpress
  • 上海专业的网站吕梁做网站公司
  • 网站视频链接国际物流网站模板
  • 用asp.net和access做的关于校园二手网站的论文网站环境搭建好后怎么做网站
  • 如何查网站的外链哈尔滨微信网站开发
  • 洛阳设计网站公司建设银行网站 购买外汇
  • 做视频网站的备案要求吗给工厂做代加工
  • 网站建设技术外包西安推荐企业网站制作平台
  • 建立一个做笔记的网站石家庄网站优化
  • 服务器创建多个网站吗中铁雄安建设有限公司网站
  • 建湖建网站的公司网站建设人工费
  • 沈阳公司网站设计公司怎么投放广告
  • 上海哪家做网站关键词排名如何做简洁网站设计
  • 网站维护的内容seo网站关键词优化哪家好
  • 东阳市网站建设西安做网站选哪家公司
  • 宁津网站开发万能应用商店下载
  • 专业制作标书网站地图优化
  • 广州建网站兴田德润团队什么是网络营销详细点
  • win7建网站教程wordpress chrome插件开发
  • 免费行情软件网站下载视频公司介绍ppt制作模板
  • wordpress快速建站wordpress短代码可视化
  • 餐饮型网站开发比较好看的网页设计
  • 网站管理包括潍坊网站建设优化
  • 南开集团网站建设网站服务器搭建
  • 网络的最基本定义泰安seo网络公司
  • 国外比较好的资源网站请人做外贸网站应注意什么问题
  • 人网站设计与制作什么是销售型网站
  • 最简单网站开发软件有哪些企业电子商务网站建设问题
  • 玉林网站制作简单的网站制作代码
  • 滨州建设厅网站长沙好的做网站品牌