Java面向对象编程(33)

简介: Java面向对象编程(33)

若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。

Ⅰ. 若该文件的数据不在内存中,则该进程进入睡眠等待状态

Ⅱ. 请求 read 系统调用会导致 CPU 从用户态切换到核心态

Ⅲ. read 系统调用的参数应包含文件的名称

A. 仅Ⅰ、 Ⅱ

B. 仅Ⅰ、 Ⅲ

C. 仅Ⅱ、 Ⅲ

D. Ⅰ、 Ⅱ和Ⅲ

答案:A

Linux文件权限一共10位长度,分成四段,第三段表示的内容是()?

A. 文件类型

B. 文件所有者的权限

C. 文件所有者所在组的权限

D. 其他用户的权限

答案:C

Linux文件权限一共10位长度,分成四段,第三段表示的内容是()?

A. 文件类型

B. 文件所有者的权限

C. 文件所有者所在组的权限

D. 其他用户的权限

答案:C

进程阻塞的原因不包括()

A. 时间片切换

B. 等待I/O

C. 进程sleep

D. 等待解锁

答案:A

在缺页处理过程中,操作系统执行的操作可能是()

Ⅰ.修改页表

Ⅱ.磁盘 I/O

Ⅲ.分配页框

A. 仅Ⅰ、 Ⅱ

B. 仅Ⅱ

C. 仅Ⅲ

D. Ⅰ、 Ⅱ和Ⅲ

答案:D

下面选项中,满足短任务优先且不会发生饥饿现象的调度算法是()

A. 先来先服务

B. 高响应比优先

C. 时间片轮转

D. 非抢占式短任务优先

答案:B

下列选项中,降低进程优先级的合理时机是()

A. 进程的时间片用完

B. 进程刚完成I/O,进入就绪列队

C. 进程持久处于就绪列队

D. 进程从就绪状态转为运行态

答案:A

在使用锁保证线程安全时,可能会出现活跃度失败的情况,活跃度失败主要包括()

A. 死锁

B. 饥饿

C. 活锁

D. 以上全部

答案:D

选择排队作业中等待时间最长的作业优先调度,该调度算法是()。

A. 先来先服务调度算法

B. 高响应比优先调度算法

C. 优先权调度算法

D. 短作业优先调度算法

答案:A

对进程和线程的描述,以下正确的是()

A. 父进程里的所有线程共享相同的地址空间,父进程的所有子进程共享相同的地址空间

B. 改变进程里面主线程的状态会影响到其他线程的行为,改变父进程的状态不会影响到其他子进程

C. 多线程会引起死锁,而多进程不会

D. 以上选项都不正确

答案:D

剪花布条

题目描述:一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?

输入描述:输入包含多组数据。

每组数据包含两个字符串s,t,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花 样。花纹条和小饰条不会超过1000个字符长。

输出描述:对应每组输入,输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就输出0,每个结果占一行。


 

public class Main53 {
    //剪花布条
    private static int cut(String s,String t){
        int i=s.indexOf(t);
        if (i ==-1){
            return 0;
        }
        return 1+cut(s.substring(i + t.length()),t);
    }
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        while (scanner.hasNext()){
            String s=scanner.next();
            String t=scanner.next();
            int ans=cut(s,t);
            System.out.println(ans);
        }
    }
}

客似云来

题目描述:NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来;并且,所有人在这家店吃了两天早餐后,接 下来每天都会带一位新朋友一起来品尝。

于是,这家店的客人从最初一个人发展成浩浩荡荡成百上千人:1、1、2、3、5……

现在,NowCoder想请你帮忙统计一下,某一段时间范围那他总共卖出多少份早餐(假设每位客人只吃一份早餐)。

输入描述:测试数据包括多组。

每组数据包含两个整数from和to(1≤from≤to≤80),分别代表开店的第from天和第to天。

输出描述:对应每一组输入,输出从from到to这些天里(包含from和to两天),需要做多少份早餐。


public class Main54 {
    //客似云来
    public static void main(String[] args) {
        long[] fib=new long[80];
        fib[0]=1;
        fib[1]=1;
        for (int i = 2; i < 80; i++) {
            fib[i]=fib[i-1]+fib[i-2];
        }
        Scanner scanner=new Scanner(System.in);
        while (scanner.hasNextInt()){
            int from=scanner.nextInt();
            int to=scanner.nextInt();
            long count=0;
            for (int i = from-1; i <= to-1; i++) {
                count +=fib[i];
            }
            System.out.println(count);
        }
    }
}
相关文章
|
28天前
|
Java
Java面向对象编程新篇章:多态,你准备好了吗?
【6月更文挑战第17天】Java的多态性是面向对象编程的核心,它允许通过统一的接口处理不同类型的对象。例如,在一个虚拟宠物游戏中,抽象类`Pet`定义了`speak()`方法,猫、狗和鹦鹉等子类各自重写此方法以实现独特叫声。在`main`方法中,使用`Pet`类型的引用创建子类对象并调用`speak()`,多态机制确保调用实际对象的方法,实现代码的灵活性和可扩展性。通过多态,我们能以更低的耦合度和更高的复用性编写更优雅的代码。
|
29天前
|
Java
Java 面向对象编程:父类与子类的“传承”与“创新”之路
【6月更文挑战第16天】Java 中的父类与子类展示了面向对象的“传承”与“创新”。子类`Dog`继承`Animal`,获取其属性和方法如`name`和`makeSound`。子类通过`@Override`增强`makeSound`,显示多态性。设计父类时应考虑普遍性,子类创新专注自身特性,遵循继承最佳实践,利用复用提升效率,构建可维护的软件系统。
|
1月前
|
Java 安全 索引
滚雪球学Java(48):面向对象编程中的StringBuffer类详解
【6月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
33 5
滚雪球学Java(48):面向对象编程中的StringBuffer类详解
|
29天前
|
存储 安全 Java
深入探讨 Java 封装机制:为何它是面向对象编程的核心?
【6月更文挑战第16天】Java的封装是OOP核心,它将数据和操作数据的方法打包在类中,隐藏实现细节并提供公共接口。例如,`Student`类封装了私有属性`name`和`age`,通过`get/set`方法安全访问。封装提升代码稳定性、可维护性和复用性,防止外部直接修改导致的错误,确保数据安全。它是面向对象编程优于传统编程的关键,促进高效、可靠的开发。
|
27天前
|
Java 数据安全/隐私保护 开发者
Java是一种完全支持面向对象编程的语言,其面向对象特性包括封装、继承、多态和抽象等
【6月更文挑战第18天】**面向对象编程(OOP)通过对象封装状态和行为,实现问题域的抽象。Java全面支持OOP,核心特性包括**: - **封装**:保护数据安全,隐藏内部细节。 - **继承**:子类继承父类属性和行为,促进代码重用。 - **多态**:一个接口多种实现,增强灵活性和扩展性。 - **抽象**:通过接口和抽象类抽离共性,简化复杂性。 **Java的OOP便于理解和解决复杂系统问题。**
30 3
|
26天前
|
Java 开发者
Java面向对象编程(OOP)的四个主要概念
【6月更文挑战第19天】Java OOP的基石是封装、抽象、继承和多态。封装是通过类隐藏数据细节;抽象简化复杂性,用接口和抽象类实现;继承让子类从父类继承属性和行为,促进代码重用;多态一个接口可有多种形态,分编译时和运行时。这些概念支持灵活且可扩展的软件设计。
21 1
|
29天前
|
Java
Java 面向对象编程大揭秘:子类如何“继承”父类,摇身一变成为“新贵”?!
【6月更文挑战第16天】Java中的继承允许子类从父类继承特性与功能,如`Dog`继承`Animal`,重写`makeSound`方法,展现独特行为。同样,`Circle`继承`Shape`,定制`draw`方法以绘制圆形。继承提高了代码复用和灵活性,使子类能基于父类基础创新,如同接力赛中父类传递接力棒,子类创造新辉煌。在Java世界,继承是构建复杂项目的关键机制,有待深入探索。
|
2月前
|
Java 编译器 数据库
滚雪球学Java(40):解读Java面向对象编程中的方法和继承,打造可维护的代码库
【5月更文挑战第15天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
35 4
滚雪球学Java(40):解读Java面向对象编程中的方法和继承,打造可维护的代码库
|
2月前
|
Java
深入探索Java语言的面向对象编程
深入探索Java语言的面向对象编程
|
2月前
|
Java 编译器
Java面向对象编程:构造方法详解
Java面向对象编程:构造方法详解
37 2