📄 memoryinit.java
字号:
package com.ysu.cwy;
import java.util.ArrayList;
import java.util.List;
public class MemoryInit {
private int memorySize; //内存大小
private int memoryBlockSize; //内存块的个数
//构造函数
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 初始化内存
* @return 内存块的链表
*/
public synchronized List<MemoryBlock> createBlocks(){
//内存大小分配函数 y=20+40x;
List<MemoryBlock> list=new ArrayList<MemoryBlock>();
MemoryBlock memoryBlock;
MemoryCalculation mc=new MemoryCalculation();
int blockId; //内存块ID
int blockStartPlace; //内存块开始位置
int blockEndPlace; //内存块结束位置
int blockSize; //内存块大小
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 获得内存的最大地址
* @return 返回最大地址
*/
public int getMaxMemoryAddress(){
return memorySize-1;
}//end method getMaxMemoryAddress
public int getMemoryBlockSize() {
return memoryBlockSize;
}
public void setMemoryBlockSize(int memoryBlockSize) {
this.memoryBlockSize = memoryBlockSize;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -