?? memoryinit.java
字號:
package com.ysu.cwy;
import java.util.ArrayList;
import java.util.List;
public class MemoryInit {
private int memorySize; //內(nèi)存大小
private int memoryBlockSize; //內(nèi)存塊的個數(shù)
//構(gòu)造函數(shù)
public MemoryInit(int memorySize) {
this.memorySize = memorySize;
List<MemoryBlock> list=createBlocks();
memoryBlockSize=list.size();
}//end method MemoryInit
public int getMemorySize() {
return memorySize;
}//end method getMemorySize
/**
* @function 初始化內(nèi)存
* @return 內(nèi)存塊的鏈表
*/
public synchronized List<MemoryBlock> createBlocks(){
//內(nèi)存大小分配函數(shù) y=20+40x;
List<MemoryBlock> list=new ArrayList<MemoryBlock>();
MemoryBlock memoryBlock;
MemoryCalculation mc=new MemoryCalculation();
int blockId; //內(nèi)存塊ID
int blockStartPlace; //內(nèi)存塊開始位置
int blockEndPlace; //內(nèi)存塊結(jié)束位置
int blockSize; //內(nèi)存塊大小
for(int i=0;i<mc.getBlockSize(memorySize);i++){
blockId=i;
blockStartPlace=mc.getMemoryBlockStartPlace(i, memorySize);
blockEndPlace=mc.getMemoryBlockEndPlace(i, memorySize);
blockSize=blockEndPlace-blockStartPlace+1;
memoryBlock=new MemoryBlock(blockId,blockStartPlace,blockEndPlace,blockSize);
list.add(memoryBlock);
}
return list;
}//end method createBlocks
/**
* @function 獲得內(nèi)存的最大地址
* @return 返回最大地址
*/
public int getMaxMemoryAddress(){
return memorySize-1;
}//end method getMaxMemoryAddress
public int getMemoryBlockSize() {
return memoryBlockSize;
}
public void setMemoryBlockSize(int memoryBlockSize) {
this.memoryBlockSize = memoryBlockSize;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -