笔试强训(三十四)

一、选择题

(1)如何减少缺页中断(B)
A.进程倾向占用CPU
B.访问局部性满足进程要求
C.进程倾向于占用I/O
D.使用基于最短剩余时间的调度

B,局部性好,导致下一个要找的东西就在当前内存的前后不远处,很有可能就在同一页里,缺页中断也就少了

(2)通常所说的"存储保护"的基本含义是(B)
A.防止存储器硬件受损
B.防止程序在内存丢失
C.防止程序间相互越界访问
D.防止程序被人偷看

在采用虚拟存储技术的存储系统中,一个多任务的操作系统经常将多个不同的程序同时调入主存执行:

  1. 首先要保证这些程序之间不会相互覆盖
  2. 一个程序不能访问其他程序的数据以及不是分配给他的主存区域
  3. 一个程序出错不会破环其他用户程序和系统程序
    为了满足上述条件,采取一种限制方式保护主存中程序的技术被称为"存储保护",只要为了防止地址越界

(3)若系统中只有用户级线程,则处理机调度单位是(B)
A.线程
B.进程
C.程序
D.作业

如果系统中只有用户态线程,则线程对操作系统是不可见的,操作系统只能调度进程
如果系统中有内核态线程,则操作系统可以按先线程进行调度
一个作业通常包括几个进程,几个进程共同完成一个任务,即作业

(4)一个在线服务器通常需要读取存储着海量数据的数据库,为了提高服务器处理速度,通常需要加cache,以下场景中不适合使用cache的是(A)
A.数据库中每条数据被访问的概率近似相等,且独立
B.使用了多线程机制的服务
C.单条线程尺寸太小的服务
D.有着大量访问的服务

因为数据库中的每条数据被访问的概率近似相等,且缓存空间一般较小不可能存入较多的数据。无法预测所需要查询的数据,增加缓存的作用不大

二、编程题

2.1 养兔子

2.1.1 题目

在这里插入图片描述

2.1.2 题解

思路:斐波那契数列的原型

在这里插入图片描述
代码:

import java.util.*;
public class Main{
public static void main(String[] args){
        long[] f = new long[91];
        f[0] = 1;
        f[1] = 1;
        for(int i = 2; i <= 90; ++i){
            
        f[i] = f[i-1] + f[i-2];
        }
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
        System.out.println(f[sc.nextInt()]);
      }
   }
 }

2.2 收件人列表

2.2.1 题目

在这里插入图片描述

2.2.2 题解

思路: 逐个接收每个名字,如果名字中没有’,‘或者’ '则直接输出,否则在改名字前后拼接"""再输出,每个名字之间使用逗号,隔开。
代码:

import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner scanner=new Scanner(System.in);
    while(scanner.hasNext()){
      int n=scanner.nextInt(); //接收完整数之后,需要将回车接受掉
      scanner.nextLine();//将数字所在行之后的所有内容接收完
      String[] str=new String[n];
      List<String> list=new ArrayList<>();
      for(int i=0;i<n;i++){
        str[i]=scanner.nextLine();
        if(str[i].contains(",") || str[i].contains(" ")){
          list.add("\""+str[i]+"\"");
        }else {
          list.add(str[i]);
        }
      }
      for(int i=0;i<n;i++){
         if(i!=n-1){
           System.out.print(list.get(i)+", ");
         }else {
           System.out.print(list.get(i));
         }
       }
      System.out.println();
    }
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值