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

Posted 函数

篇首语:人无常识,百事难成。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java程序性能优化-缓冲(Buffer)(2)[1]相关的知识,希望对你有一定的参考价值。

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

     缓冲(Buffer)( )

  其中 第 个构造函数允许在应用层指定缓冲区的大小 第 个构造函数将构造大小为 K的缓冲区 一般来说 缓冲区不宜过小 过小的缓冲区无法起到真正的缓冲作用 缓冲区也不宜过大 过大的缓存区会浪费系统内存 增加GC负担 在本例中 设置循环次数CIRCLE为 万 若不使用缓冲区操作 则相对耗时 ms;而使用缓冲区的FileWriter仅相对耗时 ms 性能提升一倍

  另一个有用的缓冲组件是BufferedOutputStream 在前文 装饰者模式 一节中 已经提到 使用BufferedOutputStream可以包装所有的OutputStream 为其提供缓冲功能 提高输出流的效率 和BufferedWriter类似 它也提供了两个构造函数

  public BufferedOutputStream(OutputStream out)

  public BufferedOutputStream(OutputStream out int size)

  第 个构造函数可以指定缓冲区大小 默认情况下 和BufferedWriter一样 缓冲区大小为 K

  此外 在本书第 章中还将详细介绍JDK的NIO缓存 NIO的Buffer类族 提供了更为强大和专业的缓冲区控制功能 有兴趣的读者可以仔细阅读第 章中的相关内容

  除了能够改善I/O性能 缓冲区对任何一种上下层组件存在性能差异的场合都可以起到很好的效果 另一个典型的例子是使用缓冲区提升动画显示效果 下例 实现了一个左右平移的圆球

  public class NoBufferMovingCircle extends JApplet implements Runnable

  Image screenImage = null;

  Thread thread;

  int x = ;

  int move = ;

  public void init()

  screenImage = createImage( )

  

  public void start()

  if (thread == null)

  thread = new Thread(this)

  thread start()

  

  

  public void run()

  try

  while (true)

  

  x += move;

  if ((x > ) || (x < ))

  move *= ;

  repaint()

  Thread sleep( )

  

   catch (Exception e)

  

  

  public void drawCircle(Graphics gc)

  Graphics D g = (Graphics D) gc;

  g setColor(Color GREEN)

  g fillRect( )

  g setColor(Color red)

  g fillOval(x )

  

  public void paint(Graphics g)              //画一个圆

  g setColor(Color white)                     //这里没有缓冲

  g fillRect( )

  drawCircle(g)

  

  

  以上代码没有main()函数 但在Eclipse中 可以通过右键菜单中 Run As下的Java Applet运行 结果显示 虽然程序可以完成红球的左右平移 但是效果较差 因为每次的界面刷新都涉及图片的重新绘制 而这是较为费时的操作 因此 画面的抖动和白光效果明显 为了能得到更优质的显示效果 可以为它加上缓冲区

cha138/Article/program/Java/gj/201311/27805

相关参考

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

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

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

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

知识大全 Java程序性能优化-负载均衡(2)

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

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

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

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

Java程序性能优化-对象复用“池”(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

知识大全 Java程序性能优化-缓存(Cache)(2)

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

知识大全 Java程序性能优化-空间换时间[2]

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

知识大全 Java程序性能优化-单例模式(2)

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