生产环境下的Java排错调优 (JUG).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
生产环境下的Java排错调优(JUG)ppt整理

示例 1、jmap –heap的输出解释 2、jmap –histo的输出解释 3、jmap –permstat的输出解释 第*页 JDK内存工具使用介绍 - JHat jHat可以分析一个二进制的hprof日志文件,提供一个web界面用来查询和分析java的内存使用情况,其提供了一种类似SQL的OQL查询语句使得这个查询变得很简单。 可以用它来找出一些垃圾对象的意外引用 – 从而导致垃圾无法回收,也就引发了内存泄露。 OQL的语法是: Select 选择用的Javascript表达式 from [instanceof] 类名 对象名 where Javascript语法的布尔表达式。 示例 1、使用jmap和jhat等工具分析Java程序内存泄露问题。 第*页 THANK YOU 生产环境下的Java排错调优 @施懿民 WE ARE HIRING! 远程调试 远程调试架构 Java平台调试器架构 第*页 组件 调试器接口 / |--------------| / | VM | 被调程序 -----( |--------------| ---- JVMTI – Java虚拟机工具接口 \ | 后台 | \ |--------------| / | 通信渠道 --( | ------------ JDWP – Java调试传输协议 \ | / |--------------| / | 前台 | 调试器 -----( |--------------| ---- JDI – Java调试接口 \ | UI | \ |--------------| 远程调试原理 通过客户机-服务器架构,可以在本地调试 Java 程序,也可以通过网络进行远程调试,JPDA 规范中的两个术语:连接器和传输。连接器是一个 JDI 抽象,用来在调试器应用程序和目标 VM 之间建立连接。传输定义应用程序如何进行访问,以及数据如何在前端和后端之间传输。连接器 “映射” 到可用的传输类型和连接模式。在 Sun 的 JPDA 参考实现中,为 Microsoft? Windows? 提供了两个传输机制:套接字传输和共享内存传输。可用的连接器: 连接套接字连接器 连接共享内存连接器 监听套接字连接器 监听共享内存连接器 启动命令行连接器 第*页 远程调试命令参数 -Xdebug: 启用调试特性。 -Xrunjdwp:sub-options :在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。 从 Java V5 开始,您可以使用 -agentlib:jdwp 选项,而不是 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug 和 -Xrunjdwp。 -Xrunjdwp 子选项。 transport:这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。 Server:如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。 address:这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。 suspend:如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。 第*页 演示 – 设置远程调试 1、被调试程序当作调试服务器。 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8765 2、被调程序当作调试客户端。 -Xdebug -Xrunjdwp:transport=dt_socket,address=:8000 第*页 断点的实现原理 断点(Break Point)可以说是调试器的关键技术,需要软件和硬件的协作才能实现。一般断点的实现方式有下面几种: 通过特定的指令通知

文档评论(0)

zyzsaa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档