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

钢材销售网站建设东莞网络推广运营平台

钢材销售网站建设,东莞网络推广运营平台,淮安新港建设有限公司网站,公司网站怎么做备案信息stringbuffer当我处理旧代码并在StringBuffer实例上运行时#xff0c;通常将它们替换为StringBuilder实例。 尽管可以从此更改中获得性能优势#xff0c;但我经常在我所知不会对性能产生明显影响的地方进行更改。 我认为#xff0c;除了可能带来性能收益外#xff0c;还应出… stringbuffer 当我处理旧代码并在StringBuffer实例上运行时通常将它们替换为StringBuilder实例。 尽管可以从此更改中获得性能优势但我经常在我所知不会对性能产生明显影响的地方进行更改。 我认为除了可能带来性能收益外还应出于各种原因进行更改。 几乎没有理由不选择StringBuilder不是StringBuffer API期望是最常见的例外并且代码中存在StringBuffer误导读者并为Java新手提供了一个不好的例子。 Andy Hunt和David Thomas 在 《 实用编程器从旅居者到大师 》一书中讨论了 “修复代码中的小问题“破窗”的重要性”。 杰夫·阿特伍德Jeff Atwood在“破窗理论”一文中谈到了这个主题最近在“ 软件腐烂熵和破窗理论 ”一文中对此进行了介绍并且不要留下破窗 。 StringBuffer的存在意味着代码中的陈旧性。 实际上使用StringBuffer可能不是一个“破损的窗口”但它是一个真正古老的泄漏的单窗格窗口 应将其替换为现代节能的双窗格窗口 。 我发现了Peter Lawrey的最新博客文章StringBuffer而摆脱遗留代码有多么困难这是对代码中仍然存在的StringBuffer其他含义的有趣理解。 Lawrey引用了StringBuffer类Javadoc文档的最后一段“从JDK 5版本开始该类已经添加了一个等效类供单线程StringBuilder使用。 通常StringBuilder类优先于该类使用因为它支持所有相同的操作但是它更快因为它不执行同步。” 然后Lawrey使用简单的Java方法和jmap来证明StringBuffer实例仍在JDK附带的类和库中使用直到Java 8为止。 Lawrey指出在引入“直接替换” StringBuilder十多年之后 StringBuffer在频繁使用的Java代码中的存在证明了“清理遗留代码”有多么困难。 Lawrey的完整结论指出“在启动时使用StringBuffer并没有多大区别但是考虑到它具有众所周知的替代替换功能并且即使在十多年后的新功能中仍可以使用这表明了它的难易程度。清理遗留代码或改变思路以使人们使用最佳实践库。” 我决定在用Java 8 Update 121进行编译以及在使用最新版本的OpenJDK 9进行编译时尝试使用Lawrey最简单的示例之一。我略将Lawrey的示例调整为下面显示的简单“ Main”类清单。 Main.java import java.io.IOException;/*** (Slightly) adapted class from blog post* StringBuffer, and how hard it is to get rid of legacy code at* https://vanilla-java.github.io/2017/04/13/String-Buffer-and-how-hard-it-is-to-get-rid-of-legacy-code.html*/ public class Main {/*** Main function that instantiates this Java application and does nothing* else until ENTER is pressed.*/public static void main(final String[] args) throws IOException{System.out.println(Waiting [press ENTER to exit] ..);System.in.read();} } 以下屏幕快照显示了使用jcmd及其-all选项检查中包括无法访问的对象的输出以显示在简单Java应用程序中编译并针对三种不同版本的Java Java运行StringBuffer和StringBuilder的实例数8更新102 Java 8更新121和OpenJDK 9.0 ea 164 。 jcmd的执行在PowerShell中执行因此Select-String的用法与Linux中grep的用法类似。 尽管使用Java 8版本编译和执行的类的版本具有StringBuffer实例但是使用Java 9编译并针对Java 9执行的版本仅具有StringBuilder实例。 看起来JDK-8041679 “在核心库类中用StringBuilder替换StringBuffer的使用”和JDK-8043342 “在密码子中用StringBuilder替换StringBuffer的使用” 的解析已达到预期的效果。 翻译自: https://www.javacodegeeks.com/2017/04/implications-presence-stringbuffer.htmlstringbuffer
http://www.sadfv.cn/news/344338/

相关文章:

  • 网站前瞻性 新流量机会内容建设分析外贸公司用的采购储运财务软件
  • 网站开发的计划书wordpress 框架选择
  • 台州建设监理协会网站营销型网站大全
  • 高仿卡地亚手表网站手机网站技术方案
  • 网站建设必须要做404wordpress 关闭rss
  • 提供东莞网站建设价格易托管建站工具
  • 微信网站开发平台广西网站建设渠道
  • 湖州企业网站制作php做网站需要的软件
  • 南充哪里做网站物流网站素材
  • 西安网站建设的费用网络新闻专题做的最好的网站
  • 电子商务网站开发意义wordpress 返回主页
  • 朝阳市网站公司模板小程序
  • 河北省建设资格执业中心网站jsp网站开发期末大作业
  • 家电网站首页制作网站空间 虚拟主机
  • 广州市研发网站建设平台院校网站建设对比分析实训报总结
  • 帝国cms怎么做电影网站aws服务器搭建wordpress
  • 网页制作基础教程第2版电子教材嘉兴百度seo
  • 哪个网站加强政务网站建设
  • 网站管理后台模板公司网站怎么建
  • 沈阳企业做网站关于微网站策划ppt怎么做
  • 建个网站找贵阳网站建设方案咨询
  • 网上手机商城网站建设大学生网站建设策划书
  • 如何设置网站的关键词淘宝客优惠券网站建设教程
  • 深圳网站设计我选刻软件开发人天报价标准
  • 佛山大型网站设计公司有免费的云服务器吗
  • 网站建设课程网页游戏传奇开服表
  • html个人网站设计模板北京著名网站建设公司
  • 网站关键词设定成都市网站制作
  • 团队氛围建设 网站单位网站建设的重要性
  • 广东建设银行网站首页w3school网站建设教程