亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lru.java

?? 頁面置換算法模擬 包括先來先服務 以及最近最久未使用
?? JAVA
字號:
import javax.swing.*;

import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class Lru extends JFrame implements ActionListener{
         JFrame frame1,frame2,frame3;
         JTextField lengthTextfield,physicalTextField,rangTextfield,handTextField;
         JTextField lackCount,lackPercent;
         int length=0,physical,rang;
         JButton sure1,sure2,show,sure3;
         JTextField dataJTextField;
         JRadioButton FifoButton,LruButton,RandomButton,HandButton;
         int pageLength[],queue[];
         int dataWay=0;
         int send[];
         int way=1;
         Vector vector;
         String randomString=" ";
         File dataFile;
         JFileChooser chooser;
         Vector fifoVector,lruVector;
         float lackTime=0;
         float lackTime1=0;
         JScrollPane  showPanelRight;
         public Lru()
         {
        	 //frame1
        	 new WelcomeWindow("E:/myjava/3.JPG",10000000);
        	 fifoVector=new Vector();
        	 lruVector=new Vector();
        	 frame1=new JFrame("物理塊/頁面長度");
        	 Container c=frame1.getContentPane();
        	 JPanel panel2=new JPanel();
    		 RandomButton=new JRadioButton("Random",false);
    		 RandomButton.addActionListener(this);
    		 HandButton=new JRadioButton("File",false);
    		 HandButton.addActionListener(this);
    		 ButtonGroup RH=new ButtonGroup();
    		 RH.add(RandomButton);
    		 RH.add(HandButton);
    		 panel2.add(RandomButton);
    		 panel2.add(HandButton);
    		 JLabel l1=new JLabel("隨機范圍:",SwingConstants.RIGHT);
    		 panel2.add(l1);
    		 rangTextfield=new JTextField(5);
    		 rangTextfield.setForeground(Color.red);
    		 panel2.add(rangTextfield);
        	 panel2.add(new JLabel("物理塊數   "));
        	 physicalTextField=new JTextField(5);
        	 physicalTextField.setForeground(Color.red);
        	 panel2.add(physicalTextField);
        	 panel2.add(new JLabel("頁面長度   "));
        	 lengthTextfield=new JTextField(5);
        	 lengthTextfield.setForeground(Color.red);
        	 panel2.add(lengthTextfield);
        	 sure1=new JButton("確定");
        	 sure1.addActionListener(this);
        	 panel2.add(sure1);
        	 c.add(panel2);
    		 Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize(); 
    		frame1.setSize(200,180);
    		 frame1.setLocation( screenSize.width/2-(100),screenSize.height/2-(90));
    		 
    		 //creat farme2
    		 frame2=new JFrame("main frame");
    		 Container b=frame2.getContentPane();
    		 b.setLayout(new GridLayout(3,1));
    		 JPanel topPanel1=new JPanel(new FlowLayout());
    		 FifoButton=new JRadioButton("F I F O",false);
    		 FifoButton.setFont(new Font("TimeRoman",Font.ITALIC,25));
    		 FifoButton.setForeground(Color.gray);
    		 FifoButton.addActionListener(this);
    		 LruButton=new JRadioButton("L R U",false);
    		 LruButton.setForeground(Color.gray);
    		 LruButton.setFont(new Font("TimeRoman",Font.ITALIC,25));
    		 LruButton.addActionListener(this);
    		 Icon icon = new ImageIcon("E:/myjava/logo.JPG");
        	 JLabel logoLabel=new JLabel(icon);
        	 logoLabel.setForeground(Color.RED);
        	 logoLabel.setFont(new Font("TimeRoman",Font.ITALIC,30));
        	 topPanel1.add(logoLabel);
    		 ButtonGroup FL=new ButtonGroup();
    		 FL.add(FifoButton);
    		 FL.add(LruButton);
    		 topPanel1.add(FifoButton);
    		 topPanel1.add(new JLabel("        "));
    		 topPanel1.add(LruButton);
    		 JPanel topPanel2=new JPanel(new FlowLayout());
    		 JLabel dataLabel=new JLabel("D A T A:  ",SwingConstants.CENTER);
    		 dataLabel.setFont(new Font("TimeRoman",Font.ITALIC,20));
    		 dataLabel.setForeground(Color.gray);
    		 topPanel2.add(dataLabel);
    		 dataJTextField=new JTextField(25);
    		 dataJTextField.setFont(new Font("TimeRoman",Font.ITALIC,17));
    		 dataJTextField.setForeground(Color.red);
    		 topPanel2.add(dataJTextField);
    		 topPanel2.add(new JLabel("缺 頁 次 數:"));
    		 lackCount=new JTextField(5);
    		 lackCount.setForeground(Color.red);
    		 topPanel2.add(lackCount);
    		 topPanel2.add(new JLabel("缺 頁 率 :"));
    		 lackPercent=new JTextField(5);
    		 lackPercent.setForeground(Color.red);
    		 topPanel2.add(lackPercent);
    		 b.add(topPanel1);
    		 b.add(topPanel2);
    		 //creat centerpanel
    		 JPanel centerPanel1=new JPanel(new FlowLayout());
    		 sure2=new JButton("確定");
    		 sure2.addActionListener(this);
    		 centerPanel1.add(sure2);
    		 show=new JButton("顯示");
    		 show.addActionListener(this);
    		 centerPanel1.add(show);
    		 b.add(centerPanel1);
    		 frame2.setSize(300,400);
    		 frame2.setLocation(screenSize.width/2-(150),screenSize.height/2-(160));
    		 //frame3
    		 sure3=new JButton("確定");
    		 sure3.addActionListener(this);
    		 frame3=new JFrame("內存塊:");
    		 frame3.setSize(200,240);
    		 frame3.setLocation(screenSize.width/2-(100),screenSize.height/2-(120));
         }
         /*****************************************/
         class WelcomeWindow extends JWindow{//welcome window.
        	 public WelcomeWindow(String filename,int waitTime){
        	  //super(f);
        	  JLabel l = new JLabel(new ImageIcon(filename));//image add to label l
        	  getContentPane().add(l, BorderLayout.CENTER);
        	  pack();
        	  Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize();
        	  Dimension labelSize = l.getPreferredSize();
        	  setLocation(screenSize.width/2 - (labelSize.width/2),screenSize.height/2 - (labelSize.height/2));



        	//press the welcome window,it will be closed. 
        	  addMouseListener(new MouseAdapter(){
        	   public void mousePressed(MouseEvent e){
        	    setVisible(false);
        	    dispose();
        	    frame1.setVisible(true);
        	   }
        	  });


        	  final int pause = waitTime;
        	  final Runnable closerRunner = new Runnable(){
        	   public void run(){
        	    setVisible(false);
        	    dispose();
        	   }
        	  };


        	  Runnable waitRunner = new Runnable(){
        	   public void run(){
        	    try{
        	     Thread.sleep(pause);
        	     //invoke closerRunner and wait for waitRunner run.
        	     SwingUtilities.invokeAndWait(closerRunner);
        	    }catch(Exception e){
        	     e.printStackTrace();
        	     // Catch InvocationTargetException
        	     // Catch InterruptedException
        	    }
        	   }
        	  };


        	  setVisible(true);
        	  Thread waitThread = new Thread(waitRunner, "SplashThread");
        	  waitThread.start();
        	 }
        	 }
	public static void main(String[] args) 
	{
		new Lru();
	}
	public void Random(int k)
	{
		Random r=new Random();
		for(int j=0;j<length;j++)
		{
			pageLength[j]=r.nextInt(k+1);
		}
	}
	public void getDataString()
	{
		for(int j=0;j<length;j++)
		{
			randomString=randomString+pageLength[j]+" ";
			System.out.println(randomString);
		}
	}
	public int Compare(int a[],int b)
	{
		int amount=0;
		for(int i=0;i<a.length;i++)
		{
			if(b==a[i])
			{
				amount=1;
				break;
			}
		}
		return amount;
	}
	public String getString(int a[])
	{
		String string=" ";
		for(int i=0;i<a.length;i++)
		{
			string=string+a[i]+" ";
		}
		return string;
	}
	public void nizhi(int a[])
	{
		int temp;
		for(int i=0,j=a.length-1;i<j;i++,j--)
		{
			temp=a[i];
			a[i]=a[j];
			a[j]=temp;
		}
	}
	public void doLru()
	{
		
		for(int i=0;i<physical;i++)
		{
			queue[i]=pageLength[i];
		}
		nizhi(queue);
		
		for(int i=0;i<physical;i++)
		{
			System.out.println(queue[i]);
		}
		/***********************************/
		for(int j=physical;j<length;j++)
		{
			if(Compare(queue, pageLength[j])==0)
			{
				deal(queue,pageLength[j]);
				lackTime1++;
				lruVector.addElement(getString(queue));
			}
			if(Compare(queue, pageLength[j])==1)
			{
				int position=position(queue,pageLength[j]);
				if(position>0)
				{
				for(int i=position;i>0;i--)
				{
					queue[i]=queue[i-1];
				}
				queue[0]=pageLength[j];
				//lruVector.addElement(queue);
				}
			 }
		}
		/***********************************/
		lackCount.setText(lackTime1+"");
		lackPercent.setText((lackTime1)/length+"");
	}
	public int position(int a[],int b)
	{
		int amount=0;
		for(int i=0;i<a.length;i++)
		{
			if(a[i]==b)
				amount=i;
		}
		return amount;
	}
	public void deal(int a[],int b)
	{
		for(int i=a.length-1;i>=1;i--)
		{
			a[i]=a[i-1];
		}
		a[0]=b;
	}
	public void doFifo()
	{
		int a=0;
		for(int i=0;i<physical;i++)
		{
			queue[i]=pageLength[i];
		}
		for(int j=physical;j<length;j++)
		{
			if(Compare(queue, pageLength[j])==0)
			{
				a=a%physical;
				queue[a]=pageLength[j];
				lackTime++;
				a++;
				fifoVector.add(getString(queue));
			}
		}
		lackCount.setText(lackTime+"");
		lackPercent.setText((lackTime)/length+"");
	}
	public void readFromFileGetlength()
	{
		String string;
		chooser=new JFileChooser("E:/eclips");
		chooser.showOpenDialog(frame2);
		dataFile=chooser.getSelectedFile();
		if(dataFile.length()!=0)
		{
		try
		{
		BufferedReader  in=new BufferedReader(new FileReader(dataFile));
		do
		{
			string=in.readLine();
		    length++;
		}while(string!=null);
		}
		catch(Exception e)
		{
			
		}
		}
		length--;
	}
	public void readData()
	{
	String string;
	int i=0;
		try
		{
		BufferedReader  in=new BufferedReader(new FileReader(dataFile));
         do
         {
        	 string=in.readLine();
        	 pageLength[i]=Integer.parseInt(string);
        	 i++;
         }while(string.equals("")==false);

		}
		catch(Exception e)
		{
			
		}
	}
     public void actionPerformed(ActionEvent e)
     {
    	  if(e.getSource()==sure1)
    	  {
    		  if(dataWay==1)
    		  {
    		  length=Integer.parseInt(lengthTextfield.getText());
    		  rang=Integer.parseInt(rangTextfield.getText());
    		  }
    		  if(dataWay==2)
    		  {
    			  //readFromFileGetlength();
    		  }
    		  physical=Integer.parseInt(physicalTextField.getText());
    		  pageLength=new int[length];
    		  System.out.println("length為:"+length);
    		  if(dataWay==1)
    		  {
    		  Random(rang);
    		  }
    		  if(dataWay==2)
    		  {
    			  readData();
    		  }
    		  getDataString();
    		  dataJTextField.setText(randomString);
    		  queue=new int[physical];
    		  frame1.setVisible(false);
    		  frame1.dispose();
    		  frame2.setVisible(true);
    	  }
    	  if(e.getSource()==FifoButton)
    	  {
    		  way=1;
    	  }
    	  if(e.getSource()==LruButton)
    	  {
    		  way=2;
    	  }
    	  if(e.getSource()==RandomButton)
    	  {
    		  dataWay=1;
    	  }
    	  if(e.getSource()==HandButton)
    	  {
    		  dataWay=2;
    		  readFromFileGetlength();
    		  lengthTextfield.setEditable(false);
    		  lengthTextfield.setText(length+"");
    		  rangTextfield.setEditable(false);
    	  }
    	  if(e.getSource()==sure2)
    	  {
    		  if(way==1)
    		  {
    			  doFifo();
    			  for(int i=0;i<fifoVector.size();i++)
    			  {
    				  System.out.print(fifoVector.elementAt(i));
    			  }
    		  }
    		  if(way==2)
    		  {
    			  doLru();
    		  }
    		  
    	  }
    	  if(e.getSource()==show)
		  {
    		  frame2.setVisible(false);
    		  frame2.dispose();
			  if(way==1)
			  {
				  JList list=new JList(fifoVector);
				  JLabel l=new JLabel("內存塊情況:",SwingConstants.CENTER);
				  showPanelRight=new JScrollPane(list);
				  list.setForeground(Color.red);
				  Container c=frame3.getContentPane();
				  c.setLayout(new FlowLayout());
				  c.add(l);
				  c.add(showPanelRight);
				  c.add(sure3);
				  frame3.setVisible(true);
				  show.removeActionListener(this);
			  }
			  if(way==2)
			  {
				  JList list=new JList(lruVector);
				  JLabel l=new JLabel("內存塊情況:",SwingConstants.CENTER);
				  showPanelRight=new JScrollPane(list);
				  list.setForeground(Color.red);
				  Container c=frame3.getContentPane();
				  c.setLayout(new FlowLayout());
				  c.add(l);
				  c.add(showPanelRight);
				  c.add(sure3);
				  frame3.setVisible(true);
				  show.removeActionListener(this);
			  }
		  }
    	  if(e.getSource()==sure3)
    	  {
    		  frame3.setVisible(false);
    		  frame3.dispose();
    		  System.exit(0);
    	  }
     }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91亚洲午夜精品久久久久久| 久久色.com| 日韩欧美一二三区| 青青草国产精品亚洲专区无| 欧美日韩精品一区二区三区蜜桃| 亚洲午夜久久久久久久久久久| 在线一区二区三区四区五区 | 精品国精品国产尤物美女| 色94色欧美sute亚洲线路一久| 国产揄拍国内精品对白| 国产精品小仙女| 亚洲综合另类小说| 亚洲视频免费在线观看| 国产精品免费丝袜| 一区二区三区在线观看欧美| 亚洲一级二级在线| 亚洲v日本v欧美v久久精品| 亚洲成人一区二区| 蜜桃传媒麻豆第一区在线观看| 国内精品免费在线观看| 色婷婷av久久久久久久| 欧美在线三级电影| 精品国产百合女同互慰| 1024精品合集| 免费人成在线不卡| 97se亚洲国产综合自在线不卡| 精品1区2区3区| 精品国一区二区三区| 亚洲第一成年网| 亚洲色图在线看| 亚洲综合无码一区二区| 麻豆视频观看网址久久| 国产精品国产三级国产a| 91 com成人网| 日韩理论在线观看| 蜜桃视频免费观看一区| 国产欧美日韩精品一区| 日韩精品中午字幕| 欧美亚洲综合久久| 亚洲欧洲制服丝袜| 国产91丝袜在线18| 视频一区二区不卡| 日韩理论在线观看| 久久夜色精品一区| 欧美日韩精品电影| 97aⅴ精品视频一二三区| 麻豆国产精品官网| 一卡二卡三卡日韩欧美| 国产成人av电影在线| 日韩一区二区电影在线| 亚洲视频狠狠干| 国产不卡视频在线观看| 久久蜜桃av一区精品变态类天堂| 久久丁香综合五月国产三级网站| 欧洲一区在线电影| 亚洲一区二区精品久久av| 波多野结衣亚洲| 亚洲国产精品ⅴa在线观看| 国产一区欧美一区| 久久一夜天堂av一区二区三区| 午夜精品123| 欧美精品亚洲一区二区在线播放| 亚洲成人av在线电影| 欧美三级电影在线观看| 首页亚洲欧美制服丝腿| 日韩精品一区二区三区在线| 国产精品一区二区你懂的| 欧美大片顶级少妇| 国产99久久久精品| 亚洲综合色区另类av| 欧美一区二区三区在| 91毛片在线观看| 亚洲精品在线观看网站| 成人av午夜电影| 亚洲精品美国一| 国产精品一区二区在线看| jvid福利写真一区二区三区| 国产欧美一区二区精品性色超碰| 99久久国产综合精品女不卡| 美女在线观看视频一区二区| 国产一区二区三区久久久| 欧美午夜电影在线播放| 亚洲免费av观看| 亚洲国产一二三| 麻豆精品精品国产自在97香蕉| 亚洲国产美女搞黄色| 亚洲国产一二三| 午夜av一区二区三区| 日日嗨av一区二区三区四区| 天天操天天色综合| 日韩在线一二三区| 裸体健美xxxx欧美裸体表演| 韩国一区二区三区| 国产精品一品二品| 99视频精品在线| 欧美色欧美亚洲另类二区| 久久91精品国产91久久小草| 亚洲v日本v欧美v久久精品| 国产日本欧美一区二区| 久久久激情视频| 精品久久久久久久久久久久包黑料| 欧美在线观看视频一区二区| 国产精品123| 九色综合狠狠综合久久| 蜜桃久久久久久| 免费不卡在线观看| 国产精品一区二区在线播放| 国产又黄又大久久| 国产成人精品免费看| 波多野结衣欧美| 色94色欧美sute亚洲线路一ni| 在线视频国内一区二区| 欧美日韩三级在线| 2020国产成人综合网| 国产午夜精品在线观看| 成人免费在线视频| 亚洲1区2区3区4区| 国产老妇另类xxxxx| 91在线视频官网| 日韩一区二区三区在线观看| 久久精品亚洲精品国产欧美| 亚洲福中文字幕伊人影院| 亚洲欧洲性图库| 国产真实精品久久二三区| 国产.精品.日韩.另类.中文.在线.播放| 欧美午夜一区二区| 欧美日韩在线播放三区四区| 色猫猫国产区一区二在线视频| 欧美曰成人黄网| 国产精品乱码人人做人人爱| 看国产成人h片视频| 一区二区三区精密机械公司| 欧美国产精品中文字幕| 亚洲va天堂va国产va久| 亚洲国产精品视频| 日韩欧美国产wwwww| 1区2区3区国产精品| 卡一卡二国产精品| 亚洲综合久久久| 一区二区三区在线播| 一二三四社区欧美黄| 国产福利一区在线观看| 国产日韩欧美综合在线| 亚洲一区在线观看免费观看电影高清 | 欧美一区二区不卡视频| 中文字幕乱码日本亚洲一区二区| 日韩精品久久理论片| 在线影视一区二区三区| 悠悠色在线精品| 一本久久a久久免费精品不卡| 国产精品夫妻自拍| 成人激情视频网站| 亚洲三级电影网站| 欧美一级在线观看| 日韩电影免费在线观看网站| 欧美综合天天夜夜久久| 亚洲一区二区3| 欧美三级中文字幕| 乱一区二区av| 国产欧美一区二区在线观看| 成人黄色免费短视频| 综合av第一页| 欧美日韩免费一区二区三区| 日日欢夜夜爽一区| 国产欧美日韩三级| 欧美色国产精品| 国模套图日韩精品一区二区| 久久久亚洲午夜电影| 色美美综合视频| 有码一区二区三区| 欧美久久一二区| 日韩理论电影院| 欧美日高清视频| 亚洲精品在线观看网站| 一区二区日韩av| 国产露脸91国语对白| 色网站国产精品| 亚洲婷婷在线视频| 91国模大尺度私拍在线视频| 夜色激情一区二区| 欧美天堂亚洲电影院在线播放| 夜夜嗨av一区二区三区四季av| 4hu四虎永久在线影院成人| 日韩avvvv在线播放| 精品国产乱码久久久久久牛牛| 韩国欧美国产1区| 国产精品久久久久婷婷二区次| 91丨porny丨蝌蚪视频| 亚洲美女精品一区| 欧美日本乱大交xxxxx| 日韩国产高清在线| 亚洲三级电影全部在线观看高清| 日韩欧美一区在线| 欧美日韩免费观看一区二区三区 | 欧美日韩国产在线播放网站| 蓝色福利精品导航| 亚洲成人动漫一区| 国产精品三级电影| 国产欧美一区二区三区鸳鸯浴 | **欧美大码日韩|