您好,登錄后才能下訂單哦!
小編給大家分享一下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è)資訊頻道!
免責(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)容。