溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java如何實(shí)現(xiàn)雙緩存

發(fā)布時間:2022-01-13 14:53:02 來源:億速云 閱讀:215 作者:小新 欄目:編程語言

小編給大家分享一下Java如何實(shí)現(xiàn)雙緩存,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

import java.awt.*;
import java.applet.*;
public class HelloWorld extends Applet
{
private Image imgBuf;
private Graphics gBuf;
Thread lithread=null;
 private int i=0;
public void init()
{
imgBuf=createImage(getSize().width,getSize().height);
gBuf=imgBuf.getGraphics();
gBuf.setColor(Color.black);
gBuf.fillRect(0,0,getSize().width,getSize().height);
gBuf.setColor(Color.white);
gBuf.drawLine(0,10,getSize().width-1,10);
gBuf.drawLine(0,30,getSize().width-1,30);
gBuf.drawLine(0,50,getSize().width-1,50);
gBuf.drawLine(0,70,getSize().width-1,70);
gBuf.drawLine(0,90,getSize().width-1,90);
gBuf.drawLine(0,110,getSize().width-1,110);
gBuf.drawLine(0,130,getSize().width-1,130);
gBuf.setColor(Color.red);
gBuf.drawRect(0,0,getSize().width-1,getSize().height-1);
}
public void start()
{
if(lithread==null)
{
lithread=new Thread();
 lithread.start();
}
}
public void stop()
{
lithread=null; 
}
public void paint(Graphics g)
{
g.drawImage(imgBuf,0,0,this);
gBuf.setColor(Color.black);
gBuf.fillRect(0,0,getSize().width,getSize().height);
gBuf.setColor(Color.white);
gBuf.drawLine(0,10,getSize().width-1,10);
gBuf.drawLine(0,30,getSize().width-1,30);
gBuf.drawLine(0,50,getSize().width-1,50);
gBuf.drawLine(0,70,getSize().width-1,70);
gBuf.drawLine(0,90,getSize().width-1,90);
gBuf.drawLine(0,110,getSize().width-1,110);
gBuf.drawLine(0,130,getSize().width-1,130);
gBuf.setColor(Color.green);
gBuf.drawRect(50-i,50-i,200-i,100-i);
  try
  {
  lithread.sleep(1000);
  }
  catch(InterruptedException e)
  {
  }
  i++;
  repaint();
}
public void update(Graphics g)
{
paint(g);
}
}

雙緩存技術(shù):

圖像閃爍的根本原因是當(dāng)一幅圖像顯示完需要花下一幅時,首先將屏幕用背景色清除,然后再畫下一幅,因此人們能看到背景色因此出現(xiàn)閃爍.

當(dāng)一幅圖像在顯示的時候,下一幅要顯示的圖像已經(jīng)在內(nèi)存中寫好,因此,當(dāng)需要下一幅時可以直接通過函數(shù)從內(nèi)存中一次性獨(dú)到顯示區(qū),由于從內(nèi)存中讀出速度很快,所以看不到閃爍.

以上是“Java如何實(shí)現(xiàn)雙緩存”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI