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

网站被k的表现如何做一个虚拟网站

网站被k的表现,如何做一个虚拟网站,汨罗网站建设,简易网站制作软件关于作者#xff1a;CSDN内容合伙人、技术专家#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 #xff0c;擅长java后端、移动开发、人工智能等#xff0c;希望大家多多支持。 目录 一、导读二、概览三、 使用3.1 hprof 文件准备3.1.1 Android sutdi… 关于作者CSDN内容合伙人、技术专家 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 擅长java后端、移动开发、人工智能等希望大家多多支持。 目录 一、导读二、概览三、 使用3.1 hprof 文件准备3.1.1 Android sutdio Memory Profiler3.1.2 adb shell3.1.3 通过代码 3.2视图右键菜单功能3.2.1 List objects3.2.2 Show objects by class3.2.3 Path To GC Roots3.2.4 Merge Shortest Pahts to GC Roots3.2.5 Java Basics3.2.6 Java Collections3.2.7 Leak Identification3.2.8 Show Retained Set3.2.9 Copy3.2.10 Search Queries ...3.2.11 Calculate Minimum Retained Size(quick approx.)3.2.12 Calculate Precise Retained Size3.2.13 Columns...3.2.14 Immidiate Dominators 3.3 文件分析3.3.1 OQL3.3.2 Histogram直方图3.3.3 Dominator Tree(支配树)3.3.4 Top Consumers3.3.4 Leak Suspects3.3.5 Unreachable objects Histogram 四、 推荐阅读 一、导读 我们继续总结学习基础知识温故知新。 二、概览 MAT是Memory Analyzer tool的缩写是一款非常强大的内存分析工具只需要打开采集的hprof文件即可开始对内存开始分析对比一款“傻瓜式“的堆转储文件分析工具谁都能学会。 下载地址 三、 使用 3.1 hprof 文件准备 3.1.1 Android sutdio Memory Profiler 具体参考另一篇博文 Memory Profiler Memory Profiler 是 Android Profiler 中的一个组件可帮助您识别可能会导致应用卡顿、冻结甚至崩溃的内存泄露和内存抖动。 它显示一个应用内存使用量的实时图表让您可以捕获堆转储、强制执行垃圾回收以及跟踪内存分配。 Memory Profiler我们主要用于识别内存泄漏、抖动 提供捕获堆转储、强制GC、跟踪内存分配 通过Memory Profiler 保存的堆转储文件需要进行一次转换才能在MAT中打开。 hprof-conv heap-original.hprof heap-converted.hprofhprof-conv是 android sdk 工具目录\Sdk\platform-tools 3.1.2 adb shell adb shell am dumpheap [options] process file具体选项包括--user [user_id | current]提供进程名称时指定要转储的进程的用户。如果未指定则使用当前用户。 -n转储原生堆而非托管堆。官网 3.1.3 通过代码 使用快手的koom 开源库dump hprof文件这是一个线上内存监控方案 KOOM 当然还有其他方式大家可自行尝试。 3.2视图右键菜单功能 3.2.1 List objects 将所有的对象都展示出来 with incoming references 表示的是当前查看的对象被外部应用即所有引用该对象的对象就是被哪个类引用with outGoing references 表示的是当前对象引用了外部对象即该对象引用的其他对象 我引用了哪些类。 3.2.2 Show objects by class Show objects by class会将它们统一归类 by outgoing references查看这个对象类型持有的外部对象引用by incoming references查看这个对象类型被哪些外部对象引用 3.2.3 Path To GC Roots 过滤出该 对象 至 GC Roots 的一条最短引用链路。 常用来分析内存泄漏。 3.2.4 Merge Shortest Pahts to GC Roots 过滤出一条 GC Roots 到 该对象 的一条最短引用链。 with all referencesexclude weak referencesexclude soft referencesexclude phantom referencesexclude weak/soft references查看这个对象的GC Root不含弱引用和软引用所有的引用.exclude phantom/soft referencesexclude phantom/weak referencesexclude all phantom/weak/soft etc. references 查看这个对象的GC Root不包含虚、弱引用、软引用剩下的就是强引用。从GC上说除了强引用外其他的引用在JVM需要的情况下是都可以 被GC掉的如果一个对象始终无法被GC就是因为强引用的存在从而导致在GC的过程中一直得不到回收因此就内存溢出了。exclude custom field… 3.2.5 Java Basics ReferencesClass Loader Explorer 查看class loader相关的特性Customized Retained SetFind StringsGroup By ValueOpen In Dominator TreeShow As HistogramThread Details 展示该实例所在的线程一些属性内容Thread Overview and Stacks 3.2.6 Java Collections Array Fill RatioArrays Grouped By SizeCollection Fill RatioCollection Grouped By SizeHash EntriesMap Collision RatioPrimitive Arrays With a Constant Value 3.2.7 Leak Identification Component ReportTop Consumers 3.2.8 Show Retained Set 显示对象在Dominator Tree中的子节点集合 3.2.9 Copy 复制 3.2.10 Search Queries … 3.2.11 Calculate Minimum Retained Size(quick approx.) 3.2.12 Calculate Precise Retained Size 3.2.13 Columns… 3.2.14 Immidiate Dominators 找出对象在Dominator Tree中的父节点 3.3 文件分析 当我们获取到HPROF文件后之间选择打开即可打开后会呈现以下界面 小技巧 Shallow Size和Retained size 默认是以byte为单位的若要显示地让单位展示出来可以这样设置 window - preferences - memory analyzer - smart 3.3.1 OQL 查询工具常常用于定位内存泄漏 语法结构 SELECT * FROM [ INSTANCEOF ] class namename [ WHERE filter-expression ] /filter-expression/classeg:select * from instanceof android.app.ActivityOBJECTS 通过对象查询 后面可以是对象也可以是地址 SELECT * FROM OBJECTS xyz当然也可以进行复杂的查询 — 官网OQL语法 3.3.2 Histogram直方图 展示所有分配类实例个数以及占用内存的大小 常用于查看是否泄漏及否有异常分配。 列出内存中的对象对象的个数以及大小, Histogram是站在类的角度上去看展示的是每个class对象的个数大小等 Objects对象实例的个数。Regex 筛选过滤可以进行模糊匹配例如输入activityClasse Name类名。Shallow Heap对象自身占用的内存大小不包括它引用的对象。如果是数组类型的对象它的大小是数组元素的类型和数组长度决定。如果是非数组类型的对象它的大小由其成员变量的数量和类型决定。Retained Heap一个对象的Retained Set所包含对象所占内存的总大小。换句话说Retained Heap就是当前对象被GC后从Heap上总共能释放掉的内存。 3.3.3 Dominator Tree(支配树) 展示出每个实例对象的内存大小及在总内存中的占比以及其详细引用。 Dominator tree是站在对象(实例)的角度上去看可以更方便的看出其引用关系。 Regex 筛选过滤可以进行模糊匹配例如输入activityClasse Name类名。Shallow Heap对象自身占用的内存大小不包括它引用的对象。如果是数组类型的对象它的大小是数组元素的类型和数组长度决定。如果是非数组类型的对象它的大小由其成员变量的数量和类型决定。Retained Heap一个对象的Retained Set所包含对象所占内存的总大小。换句话说Retained Heap就是当前对象被GC后从Heap上总共能释放掉的内存。Percentage内存占比 会展示出每个实例对象的 Shallow Head 与 Retained Head 以及 Retained Head在总内存中的占比该页面方便我们观察各个对象在内存中大小与占比以及其详细引用评估该对象占用大小是否在合理范围内 这个视图的右边大区域可以看到对象的依赖关系选中某个对象以后可以在左边小窗口查看对象的一些属性。如果属性的值是一些内存地址你还可以点击工具栏的搜索按钮来搜索具体的对象信息。在进行具体分析的时候MAT只是起了帮助你进行分析的工具的功能OOM问题分析没有固定方法和准则。只能发挥你敏锐的洞察力结合源代码对内存中的对象进行分析从而找到代码中的BUG. 3.3.4 Top Consumers 以图形的形式展示内存根据类名和包名列出开销最大的对象 3.3.4 Leak Suspects 3.3.5 Unreachable objects Histogram 可被回收的对象但是仍然在内存中 四、 推荐阅读 Java 专栏 SQL 专栏 数据结构与算法 Android学习专栏
http://www.dnsts.com.cn/news/251762.html

相关文章:

  • 郑州十大网站建设公司做网站用什么配置的笔记本
  • 网站设计制作代码现在济南可以正常出入吗
  • 南充市建设局网站舟山网站建设公司
  • 网站空间域名申请网站安卓app定制开发
  • 全国最大的设计网站做料理网站关键词怎么设置
  • 网站管理助手4.0破解上海热门事件
  • 做阿里巴巴网站需要多少钱宁乡电商网站建设价格
  • 建设网站需要什么技术遂溪手机网站建设公司
  • 建设银行荆门招聘网站网站只有一个首页单页面怎么做排名
  • 新网站建设流程discuz做商城网站
  • 古典风格网站模板做外贸要自己建网站吗
  • 网站管理系统软件网站开发国内外研究动态
  • 国外做gif的网站wordpress怎么做信息分类
  • 网站建设 注意事项修改wordpress主页
  • 个人网站怎么做app高端网站建设wanghess
  • 网站原型设计流程在线友情链接
  • 房地产网站设计信息造价网
  • 一家专门做海报的网站wordpress小工具下载
  • 简述网站的制作步骤北京招聘网站建设
  • iis发布网站慢wordpress文件下载页面
  • 网站开发要服务器吗运营管理
  • 郑州做网站好的公司网站经营内容
  • 怎么创建网站域名济南新站seo外包
  • wordpress整站密码访问安徽建设厅网站地址
  • 福建省建设工程执业注册管理中心网站商城网站都有什么功能模块
  • 唐山网站从哪里找网站广东省备案系统
  • 做刷票的网站做的好的ppt下载网站有哪些
  • 建设一个asp网站百度地图收录提交入口
  • 阜新做网站营销策划与运营
  • 淘宝内部领优惠券的网站怎么建设frontpage怎么做网站