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

河北网站建设电话无为网站建设

河北网站建设电话,无为网站建设,品牌规划,酷炫的网站Visual VM对OQL的支持 上面我们学会了如何查看堆内存快照#xff0c;但是#xff0c;堆内存快照十分庞大#xff0c;快照中的类数量也很多。Visual VM提供了对OQL#xff08;对象查询语言#xff09;的支持#xff0c;以便于开发人员在庞大的堆内存数据中#xff0c;快…Visual VM对OQL的支持 上面我们学会了如何查看堆内存快照但是堆内存快照十分庞大快照中的类数量也很多。Visual VM提供了对OQL对象查询语言的支持以便于开发人员在庞大的堆内存数据中快速定位所需的资源。 2.1 Visual VM的OQL基本语法 OQL 语言是一种类似SQL的查询语言。基本语法如下 select JavaScript expression to select [ from [instanceof] class name identifier [ where JavaScript boolean expression to filter ] ] OQL由3个部分组成select 子句、from 子句和where 子句。select 子句指定查询结果要显示的内容from 子句指定查询范围可指定类名如java.lang.String、char[]、[Ljava.io.FileFile数组;where 子句用于指定查询条件。 select 子句和where 子句支持使用Javascript 语法处理较为复杂的查询逻辑select 子句可以使用类似json的语法输出多个列from子句中可以使用instanceof关键字将给定类的子类也包括到输出列表中。 在Visual VM的OQL中可以直接访问对象的属性和部分方法。如下例中直接使用了String对象的count属性筛选出长度大于等于100的字符串 select s from java.lang.String s where s.count 100 选取长度大于等于256的 int 数组 select a from int[] a where a.length 256 筛选出表示两位数整数的字符串 select {instance: s, content: s.toString()} from java.lang.String s where /^\d{2}$/(s.toString()) 上例中select 子句使用了json语法指定输出两列为String对象以及String.toString() 的输出。where 子句使用正则表达式指定了符合/^\d{2}$/条件的字符串。 下例使用 instance 关键字选取所有的ClassLoader包括子类 select cl from instanceof java.lang.ClassLoader cl; 由于在Java程序中一个类可能会被多个ClassLoader同时载入因此这种情况下可能需要使用Class的ID来指定Class。如下例选出了所有ID为0x37A014D8的Class对象实例。 select s from 0x37A014D8 s; 解决内存泄露的一个方法是分许heap dump文件可以参考 http://visualvm.java.net/oqlhelp.html 我自己总结了一下以后可能用到的一些OQL如下 查找所有包含指定类的list heap.objects(heap.findClass(java.util.ArrayList),true, function(it){ if(it.size0){ return false ; } var i0; var data it.elementData[0]; var className classof(data).name; if(isClass(className)){ return true }else{ return false; } } ) function isClass(name){ var pattern /com.netease/ ; var result pattern.exec(name); return result!null; } 查找业务类直接或者间接引用的list select filter(heap.livepaths(s),function(it){ var array it ; var i 0; var size array.length; for(;isize;i){ var className classof(array[i]).name; if(isClass(className)){ return true }else{ return false; } } return true ; })  from java.util.ArrayList s 查找包含内容最多的List这个应该是查找内存泄露的好语句 map(top(heap.objects(java.util.ArrayList), rhs.size - lhs.size, 5),toHtml(it)it.size) 查找当前系统属性 map(heap.objects(heap.findClass(com.netease.Main)),it.size) 查找同样内容最多的string var counts{}; var alreadyReturned{}; filter( sort( map(heap.objects(java.lang.String), function(heapString){ if( ! counts[heapString.toString()]){ counts[heapString.toString()] 1; } else { counts[heapString.toString()] counts[heapString.toString()] 1; } return { string:heapString.toString(), count:counts[heapString.toString()]}; }),  lhs.count rhs.count), function(countObject) { if( ! alreadyReturned[countObject.string]){ alreadyReturned[countObject.string] true; return true; } else { return false; } } );
http://wiki.neutronadmin.com/news/309873/

相关文章:

  • 重庆新闻经典论坛seo如何优化排名
  • 网站代理备案价格北京网站建设付款方式
  • 速效成交型网站中国建设银行官方网站纪念钞预约
  • 网站开发验收流程图云主机和云服务器有什么区别
  • 宁波网站制作优化服务wordpress 时间代码
  • 网站开发要求有哪些鹰潭北京网站建设
  • 机票最便宜网站建设进一步加强网站建设
  • 网站维护项目兰州商城网站建
  • 邯郸建设局公开网站做cpa用什么类型的网站好
  • 佛山优化网站公司荣耀手机官网查询正品
  • 国家重点建设网站公司建设网站的优缺点
  • 网站嵌入百度地图成都网站关键词推广优化
  • 我自己做的网站一直没有效果怎么办快速搭建网站框架
  • asp服装网站源码做采集的网站有流量吗
  • 网站备案的是域名还是空间手机网站设计费用
  • 设置网站字体网站营销网站优化
  • 网站响应式好吗中山发布最新通知
  • 做展示网站要恋用什么程序wordpress the7打开速度慢
  • 关于班组建设管理的网站wordpress .net 比较
  • 盐山县招聘网站建设网站seo检测工具
  • 招商网站建设简介呼市网站开发
  • 怎么用html做图片展示网站wordpress如何安装主题
  • 中天建设第四网站资源网站不好找了
  • flash翻页效果网站模板网上网站怎么做
  • 云南省建设厅官方网站安阳百度
  • html5网站开发视频教程免费行情软件app
  • 如何提高网站开发效率外贸网站定制
  • 一个可以做网站网站制作公司网站源码
  • 外贸建站哪个最便宜在线crm系统是啥
  • 网站开发者 地图wordpress联系表单 数据库