📄 memorycalculation.java
字号:
package com.ysu.cwy;
/**
* @function 计算内存初识化时所需的一些数据
* @author CWY
* @param 内存分配函数 Y=20+40X;
*/
public class MemoryCalculation {
/**
* @function 计算某一快内存块的开始位置
* @param n 要计算内存块的序号
* @param memorySize 总内存大小
* @return 返回开始位置
*/
public int getMemoryBlockStartPlace(int n,int memorySize){
int k=0;
if(n==0){
return 0;
}else{
k=getAllBlocksSize(n-1);
if(k>=memorySize)
return -1;
else
return k;
}
}//end method getMemoryBlockStartPlace
/**
* @function 计算某一快内存块的结束位置
* @param n 要计算内存块的序号
* @param memorySize 总内存大小
* @return 返回结束位置
*/
public int getMemoryBlockEndPlace(int n,int memorySize){
if(getAllBlocksSize(n-1)>=memorySize)
return -1;
int k=getAllBlocksSize(n);
if(k>=memorySize){
return memorySize-1;
}else{
return k-1;
}
}//end method getMemoryBlockEndPlace
/**
* @function 计算前n块内存数的总和
* @param n 块数
* @return 总和
*/
public int getAllBlocksSize(int n){
int sum=0;
for(int i=0;i<=n;i++){
sum+=20+i*40;
}
return sum;
}//end method getAllBlocksSize
/**
* @function 计算初始化时内存的快数
* @param memorySize 总内存大小
* @return 快数
*/
public int getBlockSize(int memorySize){
int n=1;
while(!(getAllBlocksSize(n-1)>=memorySize)){
n++;
}
return n;
}//end method getBlockSize
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -