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

网站建设正规公司素材下载

网站建设正规公司,素材下载,景观设计公司资质,广告联盟排行spark减少内存消耗这将是另一个故事#xff0c;与我们分享有关内存相关问题的最新经验。 该案例是从最近的客户支持案例中提取的#xff0c;在该案例中#xff0c;我们遇到了一个行为异常严重的应用程序#xff0c;该应用程序因生产中的OutOfMemoryError消息而死。 在连接了… spark减少内存消耗 这将是另一个故事与我们分享有关内存相关问题的最新经验。 该案例是从最近的客户支持案例中提取的在该案例中我们遇到了一个行为异常严重的应用程序该应用程序因生产中的OutOfMemoryError消息而死。 在连接了Plumbr的情况下运行应用程序后我们确定这次不会遇到内存泄漏。 但是有些事情还是非常错误的。 这些症状是通过监控某些数据结构的开销的一项实验功能发现的。 它给了我们一个信号指出了源代码中的一个特定位置。 为了保护客户的隐私我们使用合成样本重新制作了案件同时在技术上使其与原始问题相同。 随时下载源代码 。 我们发现自己盯着从外部源加载的一组对象。 与外部系统的通信是通过XML接口实现的。 这本身还不错。 但是集成实现细节分散在整个系统中将收到的文档转换为XMLBean实例然后在整个系统中使用的事实可能并不是最明智的选择。 本质上我们正在处理延迟加载的缓存解决方案。 缓存的对象是人物 // Imports and methods removed to improve readability public class Person { private String id; private Date dateOfBirth; private String forename; private String surname; } 不太可能消耗内存。 但是当我们打开一些更多的细节时情况看起来会变得有些酸。 也就是说该数据的实现类似于上面的简单类声明。 相反该实现使用了模型生成的数据结构。 使用的模型类似于以下简化的XSD代码段 xs:schema targetNamespacehttp://plumbr.eu xmlns:xshttp://www.w3.org/2001/XMLSchema elementFormDefaultqualified xs:element nameperson xs:complexType xs:sequence xs:element nameid typexs:string/ xs:element namedateOfBirth typexs:dateTime/ xs:element nameforename typexs:string/ xs:element namesurname typexs:string/ /xs:sequence /xs:complexType /xs:element /xs:schema 开发人员使用XMLBeans生成了在后台使用的模型。 现在让我们添加一个事实即缓存应该容纳多达130万个Persons实例并且我们为失败创建了坚实的基础。 运行捆绑的测试用例表明基于XMLBean的解决方案的130万个实例将消耗大约1.5 GB的堆。 我们认为我们可以做得更好。 第一个解决方案是显而易见的。 集成细节不应跨越系统边界。 因此我们将缓存解决方案更改为简单的java.util.HashMap LongPerson解决方案。 ID为键Person对象为值。 立刻我们发现内存消耗减少到214MB 。 但是我们还不满意。 由于Map中的键本质上是数字因此我们有所有理由使用Trove Collections来进一步减少开销。 实现中的快速更改我们已经用TLongObjectHashMap Person替换了HashMap 。 堆消耗降至143MB 。 我们当然可以在这里停下来但是出于工程方面的好奇心我们不允许这样做。 我们不禁注意到所使用的数据包含冗余信息。 出生日期实际上是在ID中编码的因此我们可以轻松地从给定的ID计算生日而不是将其复制到其他字段中。 因此我们更改了Person对象的布局现在它仅包含以下字段 // Imports and methods removed to improve readability public class Person { private long id; private String forename; private String surname; } 重新运行测试证实了我们的期望。 堆消耗降至93MB 。 但是我们仍然不满意。 该应用程序在具有旧JDK6版本的64位计算机上运行。 默认情况下不压缩普通对象指针。 切换到-XX UseCompressedOops给了我们额外的胜利-现在我们的内存已减少到73MB 。 我们可以走得更远开始实习字符串或基于键构建b树但这已经开始影响代码的可读性因此我们决定在这里停止。 21.5倍的堆减少应该已经足够好了。 得到教训 不要让集成细节跨越系统边界 冗余数据将耗资巨大。 尽可能删除冗余。 原始人是您的朋友。 了解您的工具并学习Trove如果您还没有的话 注意JVM提供的优化技术 如果您对进行的实验感到好奇请随时从此处下载使用的代码 。 描述了用于测量的实用程序该实用程序在此博客文章中可用。 参考 Plumbr博客博客上的JCG合作伙伴 Nikita Salnikov Tarnovski 减少了20倍的内存消耗 。 翻译自: https://www.javacodegeeks.com/2013/06/reducing-memory-consumption-by-20x.htmlspark减少内存消耗
http://www.pierceye.com/news/638524/

相关文章:

  • wordpress开发中介网站我要进入手机建设银行网站
  • 电商网站大全wordpress弹幕主题
  • 钱站网站如何拉美贸易网
  • 网页无法访问如何解决h5云南seo公司
  • 杭州手机建设网站做宣传的网站有哪些
  • 密云青岛网站建设手机网站页面设计
  • 网站开发学习步骤网站开发合同要注意哪些
  • 制作网站要花多少钱如何装饰设计公司哪个好
  • vue做网站的优缺点番禺最新发布
  • 免费模板素材网站有哪些免费中文网站模板html
  • 本地建设多个网站链接平安保险网站
  • wordpress安装主题后无法查看媒体seo内容优化
  • 广告在线制作图片外贸推广建站蓝颜seo牛
  • 成都网站创建wordpress 未找到
  • 网站seo链接购买长宁广州网站建设
  • 网站分类导航代码wordpress笔记主题
  • 网站常用代码阿里云 全国网站建设
  • 盗取dede系统做的网站模板深圳建设工程信息网站
  • 百度SEO网站江门网站建设公司哪家好
  • 成都网站建设 四川冠辰科技php响应式网站
  • 大连网站建设辽icp备阿里云 网站
  • 网站开发前期准备做网站渠道
  • 网站根目录是哪里没有面板的服务器怎么建设网站
  • 济南市住房城乡建设网无锡优化网站公司
  • 公司网站设计好河南比较出名的外贸公司
  • 清除网站黑链湖州市住房和城乡建设局官方网站
  • 凡科网的网站建设好用吗网站开发过程的数据交互
  • 郑州做商城网站公司开发微信小程序流程
  • 宝安电子厂做网站外包app开发多少钱
  • 箱包 东莞网站建设公司网站建设与设计制作