知识大全 Java程序性能优化-对象复用“池”(2)[2]

Posted

篇首语:常识是人类的守护神。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java程序性能优化-对象复用“池”(2)[2]相关的知识,希望对你有一定的参考价值。

Java程序性能优化-对象复用“池”(2)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  public static Object getInnter(Object con)

  Object re=null;

  Field f;

  try

  f = con getClass() getDeclaredField( inner )

  f setAccessible(true)

  re= f get(con)                  //取得内部包装的Connection

  f setAccessible(false)

   catch Exception e)

  

  return re;

  

  以上代码运行后 输出

  con Class Type is: mchange v c p impl NewProxyConnection

  Inner con Class Type is: mysql jdbc JDBC Connection

  Data from DB:

  o and o is same object

  Data from DB:

  上述代码中 首先从数据库连接池获得一个连接 发现连接类型并不是mysql的数据库连接 而是 mchange v c p impl NewProxyConnection 根据类名中可以推测 从数据库连接池中获得的连接只是一个代理 接着 通过反射 取得这个对象中名为inner的属性 并打印其Class类型 发现这才是真正的mysql连接 关闭NewProxyConnection连接 再向池中请求一个新的连接 同样获取该连接内部的实际数据库连接对象 发现 第一次使用的实际数据库连接对象o 和第二次使用的对象o 是完全相同的

  这说明 前后两次数据库连接的请求均返回了相同的数据库连接 关闭NewProxyConnection连接时 并没有真正关闭数据库连接 而只是将数据库连接放入连接池保存 使得数据库连接在连接池中得到了复用 而从连接池返回的NewProxyConnection对象 只是对真实数据库连接的包装

  除了线程池和数据库连接池 对于普通的Java对象 在必要的时候 也可以进行池化管理 对于那些经常使用 并且创建很费时的大型对象来说 使用对象池维护 不仅可以节省获得对象实例的成本 还可以减轻GC频繁回收这些对象产生的系统压力 但对于生成对象开销很小的对象进行池化 反而可能得不偿失 维护对象池的成本可能会大于对象池带来的好处

  注意 在JDK中 new操作的效率是相当高的 不需要担心频繁的new操作对系统有性能影响 但是new操作时所调用的类构造函数可能是非常费时的 对于这些对象 可以考虑池化

       返回目录 Java程序性能优化 让你的Java程序更快 更稳定

  编辑推荐

       Java程序设计培训视频教程

       J EE高级框架实战培训视频教程

       J ME移动开发实战教学视频

  Visual C++音频/视频技术开发与实战

  Oracle索引技术

  ORACLE G数据库开发优化指南

cha138/Article/program/Java/gj/201311/27800

相关参考

知识大全 Java程序性能优化-对象复用“池”(2)[1]

Java程序性能优化-对象复用“池”(2)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java程序性能优化-对象复用“池”(3)[2]

Java程序性能优化-对象复用“池”(3)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java程序性能优化-对象复用“池”(5)

Java程序性能优化-对象复用“池”(5)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &nb

知识大全 Java程序性能优化-对象复用“池”(1)

Java程序性能优化-对象复用“池”(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &nb

知识大全 Java程序性能优化-对象复用“池”(3)[1]

Java程序性能优化-对象复用“池”(3)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java程序性能优化-对象复用“池”(4)[1]

Java程序性能优化-对象复用“池”(4)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java程序性能优化(2)

Java程序性能优化(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  八如果只是查找单个字符

知识大全 Java程序性能优化-缓冲(Buffer)(2)[2]

Java程序性能优化-缓冲(Buffer)(2)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Java程序性能优化-享元模式(2)[2]

Java程序性能优化-享元模式(2)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  pub

知识大全 Java程序性能优化-业务代理模式(2)[2]

Java程序性能优化-业务代理模式(2)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  i