快速业务通道

从虚拟机视角谈Java应用性能优化 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-13
Factory {    /** A counter for counting the number of objects in use. */    private static int objInUse = 0;    /** A counter for counting the number of objects in pool. */    private static int objInPool = 0;    /** The object pool. */    private static HashMap objectPool = new HashMap();    /** The corresponding object pool for a specific class. */    private static LinkedHashSet subObjPool;    /** Generate object for use */    public synchronized static Object generate(String className) {      Object retObj = null;      subObjPool = (LinkedHashSet) objectPool.get(className);      if (subObjPool != null && subObjPool.size() < 0) {        retObj = subObjPool.iterator().next();        subObjPool.remove(retObj);        objInPool--;      } else {        try {          retObj = newObj(className);        } catch (InstantiationException ie) {          return null;        } catch (IllegalAccessException iae) {          return null;        } catch (ClassNotFoundException cnfe) {          return null;        }      }      objInUse++;      return retObj;   }    public synchronized static void drop(Object freeObject) {      if (freeObject != null) {        subObjPool = (LinkedHashSet) objectPool.get(className);        if (subObjPool == null) {          subObjPool = new LinkedHashSet();          objectPool.put(className, subObjPool);        }        if (!subObjPool.contains(freeObject)) {          subObjPool.add(freeObject);          objInPool++;          objInUse--;        }      }    }    /** Counts the number of objects which are in use now. */    public static int countObjectInUse() {      return objInUse;    }    /** Checks the current size of the object pool. */    public static int checkPoolSize() {      return objInPool;    }    /** New object for class name. */    private static Object newObj(String className)     throws InstantiationException, IllegalAccessException,        ClassNotFoundException {      Object obj = Class.forName(className).newInstance();      return obj;    }   }

从虚拟机视角谈Java应用性能优化(6)

时间:2012-02-26 IBM 周祥

Java Profiler 工具

Java Profiler 是采用 JMX(Java Management Extensions,Java 资源管理框架)或 JVMPI(Java Virtual Machine Profiler Interface,Java 虚拟机监视程序接口)实现的对 Java 虚拟机中的资源、应用程序对象等进行监试的一类工具。Profiler 工具主要可以监视对象分配和回收、堆空间、线程运行、线程死锁、网络状态等。这为 Java 程序员进行性能分析提供了入手点,通过对程序运行时的状态分析,可以快速的定位问题,从而着手优化。Java Profiler 工具是

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号