小編給大家分享一下Java如何實(shí)現(xiàn)雙緩存,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)主營(yíng)黃梅網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開(kāi)發(fā),黃梅h5微信小程序定制開(kāi)發(fā)搭建,黃梅網(wǎng)站營(yíng)銷(xiāo)推廣歡迎黃梅等地區(qū)企業(yè)咨詢(xú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)一幅圖像顯示完需要花下一幅時(shí),首先將屏幕用背景色清除,然后再畫(huà)下一幅,因此人們能看到背景色因此出現(xiàn)閃爍.
當(dāng)一幅圖像在顯示的時(shí)候,下一幅要顯示的圖像已經(jīng)在內(nèi)存中寫(xiě)好,因此,當(dāng)需要下一幅時(shí)可以直接通過(guò)函數(shù)從內(nèi)存中一次性獨(dú)到顯示區(qū),由于從內(nèi)存中讀出速度很快,所以看不到閃爍.
以上是“Java如何實(shí)現(xiàn)雙緩存”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!