沒太看懂您所指的分頁存儲(chǔ)、頁面置換,是怎么個(gè)意思? 我接觸過的系統(tǒng)數(shù)據(jù)是存放在一塊的,這樣也便于管理。只是在顯示的時(shí)候,通過分頁sql將數(shù)據(jù)分段提取出來: 一來速度快。 二來也方便用戶瀏覽。

10年積累的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有從化免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
opt算法是1966年由Belady在理論上提出的一種算法,其算法實(shí)質(zhì)是:系統(tǒng)預(yù)測作業(yè)今后要訪問的頁面,置換頁是將來不被訪問的頁面或者在最長時(shí)間后才被訪問的頁面,置換該頁不會(huì)造成剛置換出去又立即要把它調(diào)入的現(xiàn)象。
這是一種理想化的置換算法,其優(yōu)點(diǎn)是缺頁中斷率最低。它要求操作系統(tǒng)能知道進(jìn)程“將來”頁面的使用情況,但這是不可能實(shí)現(xiàn)的,因?yàn)槌绦虻膱?zhí)行是不可預(yù)測的。不過通過該算法可用來模擬實(shí)驗(yàn)分析或理論分析其他算法的優(yōu)劣性。
我也剛學(xué),不太會(huì),剛好老師也是布置的這個(gè)任務(wù)。你看看吧。 自己改改。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.ActionEvent;
public class Jisuanqi extends JFrame implements ActionListener,KeyListener {
private JTextField result;
private JButton btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,btn00,
btnAC,btnAdd,btnSub,btnResult,btnD,btnMul,btnDiv,
btnAbout,btnCancel,btnBack;
private boolean add,sub,mul,div,end,s,c=true;
private String str;
private double num1,num2;
public Jisuanqi(String title){
super(title);
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
JPanel p5=new JPanel();
JPanel p6=new JPanel();
//***************菜單欄****************
JMenu optMenu = new JMenu("菜單(M)");
JMenuItem inforMenu = new JMenu("作者信息(I)");
JMenuItem nameItem = new JMenuItem("伍峰杰");
JMenuItem classItem = new JMenuItem("09-1班");
JMenuItem numItem = new JMenuItem("07號(hào)");
JMenuItem exitItem = new JMenuItem("退出");
inforMenu.add(nameItem);
inforMenu.add(classItem);
inforMenu.add(numItem);
optMenu.add(inforMenu);
optMenu.add(exitItem);
exitItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ee)
{
System.exit(0);
}
});
JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
bar.add(optMenu);
//******快捷鍵
optMenu.setMnemonic('m');
inforMenu.setMnemonic('i');
//****************輸出文本框*************
result =new JTextField("0.0",12);
result.setFont(new Font("Serif",Font.PLAIN,25));
result.setEditable(false);
result.setHorizontalAlignment(JTextField.RIGHT);
result.setForeground(Color.BLACK);
p1.add(result);
add(p1,BorderLayout.NORTH);
//****************0-9數(shù)字按鈕小數(shù)點(diǎn) ************
btn0=new JButton("0");
btn0.addActionListener(this);
btn0.addKeyListener(this);
btn1=new JButton("1");
btn1.addActionListener(this);
btn1.addKeyListener(this);
btn2=new JButton("2");
btn2.addActionListener(this);
btn2.addKeyListener(this);
btn3=new JButton("3");
btn3.addActionListener(this);
btn3.addKeyListener(this);
btn4=new JButton("4");
btn4.addActionListener(this);
btn4.addKeyListener(this);
btn5=new JButton("5");
btn5.addActionListener(this);
btn5.addKeyListener(this);
btn6=new JButton("6");
btn6.addActionListener(this);
btn6.addKeyListener(this);
btn7=new JButton("7");
btn7.addActionListener(this);
btn7.addKeyListener(this);
btn8=new JButton("8");
btn8.addActionListener(this);
btn8.addKeyListener(this);
btn9=new JButton("9");
btn9.addActionListener(this);
btn9.addKeyListener(this);
btnD=new JButton(".");
btnD.addActionListener(this);
btnD.addKeyListener(this);
btnD.setForeground(Color.RED);
btn00=new JButton("00");
btn00.addActionListener(this);
p2.add(btn7);
p2.add(btn8);
p2.add(btn9);
p2.add(btn4);
p2.add(btn5);
p2.add(btn6);
p2.add(btn1);
p2.add(btn2);
p2.add(btn3);
p2.add(btn0);
p2.add(btnD);
p2.add(btn00);
p2.setLayout(new GridLayout(4,3));
add(p2,BorderLayout.CENTER);
add(p3,BorderLayout.EAST);
add(p4,BorderLayout.SOUTH);
//*******************功能鍵區(qū)
btnAdd=new JButton("+");
btnSub=new JButton("-");
btnMul=new JButton("×");
btnDiv=new JButton("÷");
btnAC =new JButton("Ac");
btnBack= new JButton("←");
btnResult= new JButton("=");
btnAbout= new JButton("關(guān)于");
btnAdd.addActionListener(this);
btnSub.addActionListener(this);
btnMul.addActionListener(this);
btnDiv.addActionListener(this);
btnAC.addActionListener(this);
btnBack.addActionListener(this);
btnResult.addActionListener(this);
p3.add(btnAdd);
p3.add(btnSub);
p3.add(btnMul);
p3.add(btnDiv);
p3.add(btnAC);
p3.add(btnBack);
p3.add(btnResult);
p3.add(btnAbout);
btnAdd.setToolTipText("F1");
btnSub.setToolTipText("F2");
btnMul.setToolTipText("F3");
btnDiv.setToolTipText("F4");
btnAC.setToolTipText("DELETE");
btnBack.setToolTipText("BackSpace");
btnAbout.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,"哈理工-計(jì)算機(jī)09-1班 7號(hào) 伍峰杰","作者",JOptionPane.INFORMATION_MESSAGE);
}
}
);
p3.setLayout(new GridLayout(4,2));
}
//*******數(shù)字按鈕事件
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==KeyEvent.VK_1)
num(1);
else if (e.getKeyCode()==KeyEvent.VK_2)
num(2);
else if (e.getKeyCode()== KeyEvent.VK_3)
num(3);
else if (e.getKeyCode()== KeyEvent.VK_4)
num(4);
else if (e.getKeyCode()== KeyEvent.VK_5)
num(5);
else if (e.getKeyCode()== KeyEvent.VK_6)
num(6);
else if (e.getKeyCode()== KeyEvent.VK_7)
num(7);
else if (e.getKeyCode()== KeyEvent.VK_8)
num(8);
else if (e.getKeyCode()== KeyEvent.VK_9)
num(9);
else if (e.getKeyCode()== KeyEvent.VK_0)
num(0);
//*************小數(shù)點(diǎn)
else if (e.getKeyCode()== KeyEvent.VK_PERIOD){
if(c!=false){
str=result.getText();
str+=".";
result.setText(str);
btnD.setEnabled(false);
c=false;}}
//*************退格
else if (e.getKeyCode() ==KeyEvent.VK_BACK_SPACE){
str=result.getText();
if(!str.equals(""))
{str=str.substring(0,str.length()-1);
result.setText(str);
}
else btnBack.setEnabled(false);
}
//******加減乘除
else if (e.getKeyCode()== KeyEvent.VK_F1){
sign(1);
btnD.setEnabled(true);c=true;}
else if (e.getKeyCode()== KeyEvent.VK_F2){
sign(2);
btnD.setEnabled(true);c=true;}
else if (e.getKeyCode()== KeyEvent.VK_F3){
sign(3);
btnD.setEnabled(true);c=true;}
else if (e.getKeyCode()== KeyEvent.VK_F4){
sign(4);
btnD.setEnabled(true);c=true;}
//******等號(hào)
else if (e.getKeyCode()== KeyEvent.VK_ENTER){
btnD.setEnabled(true);
c=true;
num2=Double.parseDouble(result.getText());
if(add)
num1=num1+num2;
else if(sub)
num1=num1-num2;
else if(mul)
num1=num1*num2;
else if(div)
num1=num1/num2;
result.setText(String.valueOf(num1));
end=true;
}
//****** 空格全刪除
else if (e.getKeyCode()== KeyEvent.VK_DELETE){
btnD.setEnabled(true);c=true;
result.setText("0.0");
num2=0;
}
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}
//*************點(diǎn)擊事件監(jiān)聽
public void actionPerformed(ActionEvent e){
if(e.getSource()==btn1)
num(1);
else if (e.getSource()==btn2)
num(2);
else if (e.getSource()== btn3)
num(3);
else if (e.getSource()== btn4)
num(4);
else if (e.getSource()== btn5)
num(5);
else if (e.getSource()== btn6)
num(6);
else if (e.getSource()== btn7)
num(7);
else if (e.getSource()== btn8)
num(8);
else if (e.getSource()== btn9)
num(9);
else if (e.getSource()== btn0)
num(0);
else if (e.getSource()== btn00)
num(100);
else if (e.getSource()== btnD){
str=result.getText();
str+=".";
result.setText(str);
btnD.setEnabled(false);
c=false;}
//******+-*%
else if (e.getSource()== btnAdd){
sign(1);
btnD.setEnabled(true);c=true;}
else if (e.getSource()== btnSub){
sign(2);
btnD.setEnabled(true);c=true;}
else if (e.getSource()== btnMul){
sign(3);
btnD.setEnabled(true);c=true;}
else if (e.getSource()== btnDiv){
sign(4);
btnD.setEnabled(true);c=true;}
else if (e.getSource()== btnAC){
btnD.setEnabled(true);c=true;
result.setText("0.0");
num2=0;
}
//***********=
else if (e.getSource()== btnResult){
btnD.setEnabled(true);
c=true;
num2=Double.parseDouble(result.getText());
if(add)
num1=num1+num2;
else if(sub)
num1=num1-num2;
else if(mul)
num1=num1*num2;
else if(div)
num1=num1/num2;
result.setText(String.valueOf(num1));
end=true;
//btnResult.setEnabled(false);
}
//***********Back鍵
else if (e.getSource() ==btnBack){
str=result.getText();
if(!str.equals(""))
{str=str.substring(0,str.length()-1);
result.setText(str);
}
else btnBack.setEnabled(false);
}
}
public void num(int i){
String s = null;
if(i!=100)
s=String.valueOf(i);
else s="00";
if(end){
result.setText("0.0");
end=false;
btnBack.setEnabled(true);
}
if((result.getText()).equals("0.0")){
result.setText(s);
btnBack.setEnabled(true);
}
else {
str=result.getText()+s;
result.setText(str);
btnBack.setEnabled(true);
}
}
public void sign(int s){
num1=Double.parseDouble(result.getText());
switch(s){
case 1:add=true;sub=false;mul=false;div=false;break;
case 2:add=false;sub=true;mul=false;div=false;break;
case 3:add=false;sub=false;mul=true;div=false;break;
case 4:
if(num1==0)result.setText("error");
else{add=false;sub=false;mul=false;div=true;break;}
}
end=true;
}
public static void main(String[] args){
Jisuanqi j=new Jisuanqi("計(jì)算器");
j.setSize(280,350);
j.setResizable(false);
j.setVisible(true);
}
}
文章題目:opt算法的java代碼,java_opt
分享地址:http://chinadenli.net/article7/dsggeij.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站設(shè)計(jì)、定制開發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站營銷、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)