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

渝北网站制作专题网站搭建

渝北网站制作,专题网站搭建,不同性质网站,营销案例分析网站我从Heinz Kabutz撰写的Java专家通讯中获得了这个技巧。 #xff08;对于所有想要了解JDK内容的Java开发人员来说#xff0c;这是绝对必要的#xff01;#xff09; 特别是对于编写低延迟代码但对于普通Java代码的开发人员来说#xff0c;分配是您真正要避免的事情。 有关… 我从Heinz Kabutz撰写的Java专家通讯中获得了这个技巧。 对于所有想要了解JDK内容的Java开发人员来说这是绝对必要的 特别是对于编写低延迟代码但对于普通Java代码的开发人员来说分配是您真正要避免的事情。 有关更多详细信息请参见我以前的文章“ 优化的第一条规则 ”和“ 重新访问性能优化的第一条规则逃逸分析的效果 ”。 在本技巧之前我一直使用分析器来计算分配或者我想您可以使用对Runtime的调用来查看JVM已分配了多少堆内存。 使用MBean我们能够查询单个线程的分配情况。 这为我们提供了一种非常精确的方法来测量特定线程是否已分配以及是否分配了多少。 在为零分配进行编码的情况下可以在测试中包括对该代码的调用断言没有分配。 下面是一个简单的类您可以根据时事通讯的提示使用它。 您会注意到构造函数进行了校准以调整由bean本身创建的分配量。 还有一些防御性代码可确保仅从单个线程调用该类。 您可以调用方法markAllocations来查找自上一个标记以来已分配的字节数。 printAllocations是一种方便的方法用于打印从最后一个标记到标准输出的分配。 构造类后将reset分配分配调用reset或调用markAllocations或printAllocations 。 在测试中您可能具有以下代码 Allocations measure new AllocationsMeasure(); ... //critical code ... assertEquals(0, measure.markAllocations()); 以下是AllocationsMeasure完整代码 package util;import javax.management.*; import java.lang.management.ManagementFactory; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong;/*** Created by daniel on 06/07/2015.*/ public class AllocationMeasure {private final String GET_THREAD_ALLOCATED_BYTES getThreadAllocatedBytes;private final String[] SIGNATURE new String[]{long.class.getName()};private final String threadName Thread.currentThread().getName();private final Object[] PARAMS new Object[]{Thread.currentThread().getId()};private MBeanServer mBeanServer;private ObjectName name null;private AtomicLong allocated new AtomicLong();private long BYTES_USED_TO_MEASURE 336;private long tid;public AllocationMeasure(){tid Thread.currentThread().getId();try {name new ObjectName(ManagementFactory.THREAD_MXBEAN_NAME);mBeanServer ManagementFactory.getPlatformMBeanServer();} catch (MalformedObjectNameException e) {e.printStackTrace();}//calibratefor (int i 0; i 100; i) {//run a few loops to allow for startup anomaliesmarkAllocations();}long callibrate threadAllocatedBytes();BYTES_USED_TO_MEASURE threadAllocatedBytes()-callibrate;reset();}public void reset(){if(tid ! Thread.currentThread().getId())throw new AssertionError(AllocationMeasure must not be used over more than 1 thread.);allocated.set(threadAllocatedBytes());}private long threadAllocatedBytes() {try {return (long)mBeanServer.invoke(name,GET_THREAD_ALLOCATED_BYTES,PARAMS,SIGNATURE);} catch (Exception e) {throw new IllegalArgumentException(e);}}public long markAllocations() {if(tid ! Thread.currentThread().getId())throw new AssertionError(AllocationMeasure must not be used over more than 1 thread.);long mark1 ((threadAllocatedBytes()-BYTES_USED_TO_MEASURE) - allocated.get());allocated.set(threadAllocatedBytes());return mark1;}public void printAllocations(CharSequence marker) {if(tid ! Thread.currentThread().getId())throw new AssertionError(AllocationMeasure must not be used over more than 1 thread.);long mark1 ((threadAllocatedBytes()-BYTES_USED_TO_MEASURE) - allocated.get());System.out.println(threadName allocated marker : mark1);allocated.set(threadAllocatedBytes());}public static void main(String[] args) {String TEST Test;AllocationMeasure allocationMeasure new AllocationMeasure();for (int i 0; i 1000; i) {allocationMeasure.reset();//allocationMeasure new AllocationMeasure();long mark1 allocationMeasure.markAllocations();if(mark1 0 )System.out.println(m1: mark1);}allocationMeasure.printAllocations(TEST);} }翻译自: https://www.javacodegeeks.com/2015/07/measuring-allocations-programmatically.html
http://www.sadfv.cn/news/328410/

相关文章:

  • 广东建设银行网站首页电子商务做网站骗钱怎么办
  • 微网站开发方案广东莞建建设工程有限公司
  • 无锡网站建设专家php能干嘛 wordpress
  • 网站不备案违法吗ps做图哪个网站好
  • 网站皮肤样板快速建设企业门户网站
  • 天津建设厅官方网站东莞市公司网站建设品牌
  • 网站开发策划创建地址怎么弄
  • 郑州网站建设公司哪家专业网络营销是什么含义
  • 网站开发后端待遇wordpress 删除自豪
  • 建设网站哪些好网站建设补贴是经信局的政策吗
  • 注册网站流程及费用护肤品网站建设分析
  • 网站设计就业压力展示网站系统架构设计
  • 网站商城建设6潮品服饰网站建设规划书
  • 辽阳建设网站WordPress链接加前缀
  • 百度微建站群辉nas 做网站
  • wordpress站内搜索次数成都租车公司网站
  • 网站怎么做百度优化高端网站建设公司名字
  • 怎样免费注册自己网站的域名网店的运营模式有哪些
  • 杭州大的做网站的公司公司网络搭建
  • 比较有名的个人网站关于建设门户网站的请示
  • 上海建筑 公司网站哈尔滨的互联网公司
  • 海外留学网站建设方案网站建设业务客户来源
  • excel如何做超链接网站权威发布的含义
  • 室内设计的网站盘锦网站建设价格
  • 自己做电视视频网站吗企业形象设计论文
  • 西安有哪些网站建设公司wordpress证优客
  • 有没有通信专业业余做兼职的网站给网站权限
  • 简要描述网站建设的基本步骤wordpress 百万数据
  • 建设银行证券转银行网站乐山建网站
  • h5建站系统源码如何选择徐州网站开发