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

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

?? memorymanager.java

?? 一個用java編得簡單的內存管理.實現內存的分配,內存大小為512MB.
?? JAVA
字號:
//----------------------------------
//MemoryManager.java  
//
//Auther:Hu Dong 
//-----------------------------------
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.border.*;

//main函數所在類

public class  MemoryManager
{
	public static void main(String[] args)
	{
		MemoryManagerFrame MMF=new MemoryManagerFrame();
		MMF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		MMF.setVisible(true);
	}
} 
//窗體
class MemoryManagerFrame extends JFrame
{
	public MemoryManagerFrame()
	{
		setTitle("RamManager");
		setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
		//add MMP to frame
		
		MemoryManagerPane MMP=new MemoryManagerPane();
		add(MMP);	
	}
	
	public static final int DEFAULT_WIDTH=600;
	public static final int DEFAULT_HEIGHT=580;
}
//面板
class MemoryManagerPane extends JPanel 
{
	public MemoryManagerPane()
	{
		
		JPanel p1=new JPanel();
		JPanel p2=new JPanel();
		p1.setLayout(new GridBagLayout());
		p2.setLayout(new BorderLayout());
		//border
		Border etched=BorderFactory.createEtchedBorder();
		Border title1=BorderFactory.createTitledBorder(etched,"操作");
		Border title2=BorderFactory.createTitledBorder(etched,"狀態");
		p1.setBorder(title1);
		p2.setBorder(title2);
		//
		s[0][0]=0;s[0][1]=0;s[0][2]=512;s[0][3]=1;//1表示該內存可用
		//
		final JTable table=new JTable(s,colmenu);
		JScrollPane t = new JScrollPane(table);

		//Button Action one 
		btn1.addActionListener(
			new ActionListener()
			{
				public void actionPerformed(ActionEvent e)
				{
					int i=0;
										
					if(tf1.getText().equals(""))  //判斷用戶是否輸入數據
					{
						int confirm=JOptionPane.showConfirmDialog(null,"輸入有誤!","錯誤信息",
 	  															 JOptionPane.OK_CANCEL_OPTION,
 	  														      JOptionPane.WARNING_MESSAGE);
    					if(confirm==JOptionPane.CANCEL_OPTION)
    						System.exit(0);	
					}
					int r=Integer.parseInt(tf1.getText().trim());
					
					for(i=0;i<30;i++) //i指示table中的最后一行
					{
						if(s[i][3]==1) break;
					}
					if(r<=s[i][2]) //內存足夠時進行分配
					{
						s[i+1][0]=s[i][0]+1;
						s[i+1][1]=s[i][1]+r;
						s[i+1][2]=s[i][2]-r;
						s[i+1][3]=1;
						s[i][2]=r;
						s[i][3]=0;
					}
					else   //內存不足,報錯
					{	
 	  					int confirm=JOptionPane.showConfirmDialog(null,"內存不夠!","錯誤信息",
 	  															 JOptionPane.OK_CANCEL_OPTION,
 	  														      JOptionPane.WARNING_MESSAGE);
    					if(confirm==JOptionPane.CANCEL_OPTION)
    						System.exit(0);	
    				}
					table.updateUI();	
				}
			}
			);

		//Buton Action two
		btn2.addActionListener(     
			new ActionListener()
			{
				public void actionPerformed(ActionEvent e)
				{
					int i=0;
					
					if(tf2.getText().equals(""))  //判斷用戶是否輸入數據
					{
						int confirm=JOptionPane.showConfirmDialog(null,"輸入有誤!","錯誤信息",
 	  															 JOptionPane.OK_CANCEL_OPTION,
 	  														      JOptionPane.WARNING_MESSAGE);
    					if(confirm==JOptionPane.CANCEL_OPTION)
    						System.exit(0);	
					}
					int id=Integer.parseInt(tf2.getText());
					
					for(i=0;i<30;i++)//i指示table中的最后一行
					{
						if(s[i][3]==1) break;
					}
					if(i==0)  //沒有內存分配
					{	
 	  					int confirm=JOptionPane.showConfirmDialog(null,"該內存沒有分配!","錯誤信息",
 	  															 JOptionPane.OK_CANCEL_OPTION,
 	  														      JOptionPane.WARNING_MESSAGE);
    					if(confirm==JOptionPane.CANCEL_OPTION)
    						System.exit(0);	
    				}
    				else
    				{ 
						if(id==0) //當釋放第一塊內存區域時
						{
							if(i==1)  //當只有第一塊內存分配時
							{
								s[0][0]=0;s[0][1]=0;s[0][2]=512;s[0][3]=1;
								//置i行屬性值為null
								s[i][0]=null;s[i][1]=null;s[i][2]=null;s[i][3]=null;		
							}
							else
							{
						
								int sum=0;//計算s[][2]
								
								s[0][3]=s[1][3];
								for(int j=1;j<(i-1);j++)
								{
									sum+=s[j][2];
									s[j][1]=sum;
									s[j][2]=s[j+1][2];
								}
								s[i-1][1]=sum+s[i-1][2];
								s[i-1][2]=512-s[i-1][1];
								s[i-1][3]=1;
								
								s[i][0]=null;s[i][1]=null;s[i][2]=null;s[i][3]=null;		
							}
						}
						else if(id<i)  //當釋放中間內存區域時
						{
							for(int j=id;j<i;j++)
							{
								if(j==(i-1)) //當j到達i的下一行時,需要單獨考慮
								{
									s[j][2]=512-s[j][1]; 
									s[j][3]=1;
								}
								else
								{
									s[j][2]=s[j+1][2];
									s[j+1][1]=s[j][1]+s[j][2];
								}
							}
							s[i][0]=null;s[i][1]=null;s[i][2]=null;s[i][3]=null;
						}
						else 
						{	
	 	  					int confirm=JOptionPane.showConfirmDialog(null,"該內存未分配!","錯誤信息",
	 	  															 JOptionPane.OK_CANCEL_OPTION,
	 	  														      JOptionPane.WARNING_MESSAGE);
	    					if(confirm==JOptionPane.CANCEL_OPTION)
	    						System.exit(0);	
	    				}
	    			}
					table.updateUI();	
				}
			}
			);		
		//add components into panel1
		p1.add(a1, new GBC(0,0));
		p1.add(a2,new GBC(0,1));
		p1.add(tf1, new GBC(1,0));
		p1.add(tf2, new GBC(1,1));
		p1.add(a3, new GBC(2,0));
		p1.add(btn1, new GBC(3,0));
		p1.add(btn2, new GBC(3,1));
		//add components into panel2
		p2.add(t, BorderLayout.CENTER); 
		//JFrame中添加兩個Panel
		add(p1);
		add(p2);	
	}
	
	private JLabel a1=new JLabel("要申請的內存大小");
	private JLabel a2=new JLabel("要結束的內存ID");
	private JLabel a3=new JLabel("MBytes 0~512");
	
	private JTextField tf1=new JTextField(10);
	private JTextField tf2=new JTextField(10);
	
	private JButton btn1=new JButton("分配");
	private JButton btn2=new JButton("釋放");
	
	private Integer[][] s=new Integer[30][4];
	
	private String[] colmenu={"ID","起始地址","塊大小","塊狀態"};
		
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影免费在线观看网站| 五月婷婷色综合| 亚洲激情中文1区| 麻豆精品在线视频| 91福利视频网站| 中国色在线观看另类| 99免费精品视频| 日韩精品最新网址| 日韩精品乱码免费| 91免费看`日韩一区二区| 久久婷婷国产综合国色天香| 亚洲福利一二三区| 在线观看日韩电影| 中文字幕综合网| 成人免费毛片app| 久久久久久久久蜜桃| 久久er99热精品一区二区| 欧美亚洲一区二区在线| 国产精品不卡视频| 不卡一区在线观看| 中文字幕乱码日本亚洲一区二区| 久久精品国产免费看久久精品| 欧美日韩二区三区| 日韩专区中文字幕一区二区| 欧美偷拍一区二区| 亚洲一区成人在线| 欧美日韩一级大片网址| 亚洲国产成人tv| 欧洲精品视频在线观看| 一区二区三区免费看视频| 91热门视频在线观看| 亚洲乱码国产乱码精品精98午夜 | 中文字幕乱码亚洲精品一区| 黄色日韩三级电影| 久久久www成人免费无遮挡大片| 美女视频免费一区| 久久婷婷综合激情| 成人午夜视频在线观看| 国产精品家庭影院| 在线一区二区三区| 五月天中文字幕一区二区| 51精品秘密在线观看| 日本免费新一区视频| 精品国产一区二区三区久久影院 | 日韩综合一区二区| 日韩美女视频一区二区在线观看| 久久精品72免费观看| 国产三级三级三级精品8ⅰ区| 国产黄色精品网站| 一区二区三区四区中文字幕| 欧美日韩国产综合一区二区| 日韩精品三区四区| 国产视频一区不卡| 91高清在线观看| 另类人妖一区二区av| 天天操天天干天天综合网| 欧美久久高跟鞋激| 国内久久婷婷综合| 中文字幕在线不卡一区| 欧美另类一区二区三区| 国产成人高清在线| 亚洲主播在线观看| 久久无码av三级| 欧美午夜精品一区| 国产美女在线精品| 亚洲va欧美va天堂v国产综合| 欧美成人女星排行榜| 不卡视频免费播放| 日本欧美一区二区三区乱码| 欧美激情一区二区三区不卡 | 91在线视频免费观看| 天使萌一区二区三区免费观看| 精品国产电影一区二区| 91福利精品第一导航| 狠狠色综合日日| 午夜影视日本亚洲欧洲精品| 中文字幕乱码一区二区免费| 91精品国产日韩91久久久久久| 成人午夜免费电影| 久久精品国产99国产| 亚洲午夜在线电影| 亚洲欧美在线aaa| 精品捆绑美女sm三区| 欧美视频一区二区三区四区| 成人精品亚洲人成在线| 蜜臀久久99精品久久久久久9 | 国产三级欧美三级日产三级99| 色综合一个色综合亚洲| 风间由美一区二区三区在线观看| 亚洲va国产天堂va久久en| 亚洲欧美激情视频在线观看一区二区三区 | 国产成人在线影院 | 粉嫩绯色av一区二区在线观看| 亚洲va韩国va欧美va精品| 亚洲精品久久7777| 中文字幕二三区不卡| 精品欧美一区二区久久| 欧美精品日韩综合在线| 在线观看视频欧美| 99久久99精品久久久久久| 成人h版在线观看| 国产成人一区在线| 国产成人精品免费一区二区| 狠狠色丁香久久婷婷综合丁香| 天堂一区二区在线免费观看| 一个色综合网站| 亚洲精品国产精华液| 亚洲天堂av一区| 自拍偷在线精品自拍偷无码专区 | 精品欧美久久久| 日韩女优毛片在线| 26uuu久久综合| 精品国产不卡一区二区三区| 欧美大黄免费观看| www久久精品| 久久久蜜桃精品| 欧美国产综合色视频| 亚洲欧洲在线观看av| 1024精品合集| 亚洲美女免费视频| 亚洲一区免费视频| 日本亚洲三级在线| 国产综合色在线| 成人精品一区二区三区四区| 91片黄在线观看| 精品污污网站免费看| 欧美酷刑日本凌虐凌虐| 日韩欧美国产成人一区二区| 欧美xxxx老人做受| 久久久99免费| 亚洲女人的天堂| 天堂va蜜桃一区二区三区漫画版| 色域天天综合网| 欧美日韩一卡二卡| 精品久久久影院| 中文字幕一区二区三区蜜月| 一区二区三区四区国产精品| 五月婷婷综合激情| 国产剧情一区在线| 色激情天天射综合网| 91精品在线观看入口| 久久久精品中文字幕麻豆发布| 日韩码欧中文字| 免费观看久久久4p| 成人免费av在线| 欧美三级电影网| 久久女同性恋中文字幕| 一区二区久久久| 韩国三级中文字幕hd久久精品| jlzzjlzz国产精品久久| 欧美日韩国产另类不卡| 国产精品私人自拍| 日韩中文字幕区一区有砖一区 | 日本伊人精品一区二区三区观看方式| 经典一区二区三区| 大陆成人av片| 在线91免费看| 国产精品你懂的在线| 天堂在线一区二区| 91小视频免费观看| 日韩欧美在线影院| 一区二区三区丝袜| 国产又粗又猛又爽又黄91精品| 91久久精品一区二区| 中文字幕精品一区| 激情久久五月天| 欧美系列日韩一区| 亚洲欧美国产三级| 成人一区在线观看| 精品国产三级电影在线观看| 亚洲最快最全在线视频| 岛国av在线一区| 国产亚洲欧洲一区高清在线观看| 亚洲国产精品嫩草影院| jlzzjlzz欧美大全| 欧美激情一区二区三区四区| 国内精品视频666| 日韩视频一区二区三区| 亚洲成a人片在线观看中文| 91亚洲男人天堂| 国产精品无遮挡| 国产精品亚洲视频| 久久久久国产精品人| 国产乱色国产精品免费视频| 日韩亚洲欧美一区二区三区| 亚洲综合av网| 欧洲中文字幕精品| 亚洲国产一二三| 欧美日韩专区在线| 一区二区三区中文免费| 92国产精品观看| 日韩一区日韩二区| 99re66热这里只有精品3直播 | 亚洲一区二区3| 在线看不卡av| 一区二区在线免费观看| 日本高清不卡在线观看| 一区二区在线观看av| 色综合激情五月| 亚洲大片免费看|