杭州下沙网站建设帝国cms建网站
杭州下沙网站建设,帝国cms建网站,外贸通过哪些渠道找客户,百度seo竞价推广是什么从3.1版开始#xff0c; Spring框架提供了对几种不同来源的抽象#xff0c;通过它们您可以轻松地配置应用程序#xff1a; Environment 。 在这篇文章中#xff0c;我描述了一个微基准测试#xff0c;我可以证明该基准测试是一个方便的API#xff08;如果您在应用程序中… 从3.1版开始 Spring框架提供了对几种不同来源的抽象通过它们您可以轻松地配置应用程序 Environment 。 在这篇文章中我描述了一个微基准测试我可以证明该基准测试是一个方便的API如果您在应用程序中使用Spring的话但它可能会导致性能下降因此您不应在初始化代码之外使用它。 怎么运行的 在获取数字之前请先快速浏览一下对本帖子很重要的Environment内部。 从文档中 属性在几乎所有应用程序中都起着重要作用并且可能源自各种来源属性文件JVM系统属性系统环境变量JNDIServlet上下文参数临时属性对象映射等。 环境对象与属性的关系是为用户提供方便的服务界面以配置属性源并从中解析属性。 因此您可以使用Environment通过简单的getProperty调用访问所需值从而为不同策略提供的属性提供通用接口。 看下面的Groovy代码 Componentpublic class Greeter {private Environment environmentAutowiredpublic Greeter greeter(Environment environment){this.environment environment}def nickName(user) {environment.getProperty(user) // here be magic}def greet(user) {def nick nickName(user)if (name null) println Hi, ${user}!else println Hi, ${nick}!}} 现在我可以在属性文件中指定昵称以便我可以用更熟悉的昵称向用户打招呼同时仍然可以向没有昵称的用户致敬。 整洁但是性能如何 现在我可以在属性文件中指定昵称以便我可以用更熟悉的昵称向用户打招呼同时仍然可以向没有昵称的用户致敬。 整洁但是性能如何 隐藏的异常 我在调试正在处理的网站中的几个慢页面时进行了此练习KLM主站点的目标页面 。 尽管性能总体上令人满意但有两页不断给出高于第二的响应时间。 绝对太多了 。 在我们的代码中我们将一些国家/地区名称转换为可查询的外部服务密钥。 我们还需要覆盖该规则的非常特殊的例外情况即本来简单的翻译算法。 实际的代码非常类似于上面的Greeter.greet(user) 并且Flight Recorder会话最终为我们提供了性能瓶颈单击以打开 对于12页的刷新我们无声地抛出140k 异常。 例外是sloooooow 即使您只是创建它们。 查看引发的异常实际上很容易理解发生的情况 Environment检查所请求的属性是否在当前JNDI上下文中定义。 但是如果找不到该名称则会引发NameNotFoundException 。 在我们的特定情况下我们对异常情况使用属性查找这意味着绝大多数情况下都会引发异常。 微型基准 我汇总了一个微型基准测试以评估原始属性查找策略与在类构建时加载相关属性的简单方法相比的潜在性能提升。 我使用了Java Microbenchmark Harness 它在使JVM上的微基准测试变得容易方面做得了不可思议的工作JIT热身类加载所有这些都交给您了您可以继续进行代码测试。 结果如下数字越大越好 [每次调用的属性查询] 结果28917.87699.9183.630 ops / s [平均]统计数据最小平均最大25688.06728917.87630976.876stdev 777.500 置信区间99.9[28734.24629101.505] [班级建设中的财产装载] 结果159062.90099.91013.309 ops / s [平均值]统计信息最小值平均值最大值138707.926159062.900177183.549stdev 4290.413 置信区间99.9[158049.591160076.209] 不出所料速度快了五倍。 结论 我不是Spring的忠实拥护者但是如果您使用Spring则Environment类是您的应用程序配置的简单接口。 但是除非您将JNDI用作配置属性的主要存储否则只有当您在初始化代码中使用它而不是在在线处理请求时它的性能特性才能使其成为一个很好的工具。 翻译自: https://www.javacodegeeks.com/2016/12/spring-environment-initialization-code.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86757.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!