Java笔试题总结

  1. HashSet子类依靠()方法区分重复元素。
    A toString(),equals()
    B clone(),equals()
    C hashCode(),equals()
    D getClass(),clone()

答案:C
解析: 先调用对象的hashcode方法将对象映射为数组下标,再通过equals来判断元素内容是否相同

  1. 以下程序执行的结果是:
    class X{
    Y y=new Y();
    public X(){
    System.out.print(“X”);
    }
    }
    class Y{
    public Y(){
    System.out.print(“Y”);
    }
    }
    public class Z extends X{
    Y y=new Y();
    public Z(){
    System.out.print(“Z”);
    }
    public static void main(String[] args) {
    new Z();
    }
    }
    A ZYXX
    B ZYXY
    C YXYZ
    D XYZX

答案: C
解析: 执行子类构造方法时,先调用父类的构造方法,成员变量的初始化在构造方法中执行

  1. 有这么一段程序:
    public class Test{
    public String name=“abc”;
    public static void main(String[] args){
    Test test=new Test();
    Test testB=new Test();
    System.out.println(test.equals(testB)+“,”+test.name.equals(testB.name));
    }
    }
    请问以上程序执行的结果是()
    A true,true
    B true,false
    C false,true
    D false,false

答案: C
解析: Test这个类没有重写equals方法,因此在调用的时候默认执行的是object提供的equals方法,比较的是两个对象的地址,而字符串类型重写了equals方法,比较的是对象的内容是否相同

  1. 考虑下面这个简单的例子,让我们看看reflection是如何工作的。
    import java.lang.reflect.*;
    public class DumpMethods{
    public static void main(String[] args) {
    try {
    Class c=Class.forName(args[0]);
    Method m[]=c.getDeclaredMethods();
    for (int i = 0; i < m.length; i++) {
    System.out.println(m[i].toString());
    }
    } catch (Throwable e) {
    System.err.println(e);
    }
    }
    }
    其中"c.getDeclaredMethods"的作用是:
    A 取得类的公有方法对象
    B 取得类的所有公有方法名称
    C 取得类的所有方法对象
    D 以上选项都不正确
    答案 : D
    解析: 通过反射获取类的方法有两个大方法,getmethods和getDeclaredMethods
    getmethods: 获取对象实现或继承的所有的public修饰的方法,即包括继承的方法
    getDeclaredMethods: 获取对象所有的方法,不包括继承的

  2. 有如下4条语句:()
    Integer i01=59;
    int i02=59;
    Integer i03=Integer.valueOf(59);
    Integer i04=new Integer(59);
    以下输出结果为false的是:
    A System.out.println(i01==i02);
    B System.out.println(i01 ==i03);
    C System.out.println(i03 ==i04);
    D System.out.println(i02 ==i04);

答案: C
解析:

  • int与integer进行比较时,编译器会进行优化,将integer进行拆箱,变为int类型
  • i03执行valueof方法为装箱操作,具体细节如下
  • 在这里插入图片描述
  • i01为自动装箱,因此i01与i03相等
  • i04通过new关键字在堆中创建了一个新的对象,因此C选项中i03就与i04地址是不一样的
  1. 在单处理器系统中,如果同时存在有12个进程,则处于就绪队列中的进程数量最多为()
    A 1
    B 9
    C 10
    D 11

答案: D
解析: 总共12个进程,cpu目前必然会会从存储进程的队列中拿出一个进行执行,那么在队列中处于就绪状态的进程就只剩下11个了

  1. 以下关于多线程的叙述中错误的是()
    A 线程同步的方法包括使用临界区,互斥量,信号量等
    B 两个线程同时对简单类型全局变量进行写操作也需要互斥
    C 实现可重入函数时,对自动变量也要用互斥量加以保护
    D 可重入函数不可以调用不可重入函数

答案: C
解析: 线程同步的方法包括使用临界区,互斥量,事务,信号量
可重入函数: 函数被中断后返回来继续执行时,不会有影响
不可重入函数: 函数被中断后,因为可能会使用到全局变量以及中断向量表等,对代码会产生影响
自动变量: 局部变量
C选项中,因为局部变量是线程私有的,不存在多线程下的安全问题,也就不需要互斥量进行保护

  1. 整数0x12345678,在采用bigendian中内存的排序序列是( )
    A 12 34 56 78
    B 78 56 34 12
    C 87 65 43 21
    D 21 43 65 87

答案: A
解析: bigendian为大端模式,是指将数据的高字节保存在低地址中,而低字保存在高地址中
低地址–>高地址

  1. 使用C语言将一个1G字节的字符数组从头到尾全部设置为字’A’,在一台典型的当代PC上,需要花费的CPU时间的数量级最接近()
    A 0.001秒
    B 1秒
    C 100秒
    D 2小时

答案: B
解析: 执行1bit会消耗1ns,级10^-9s

  1. 对于普通的计算机,对以下事件的平均耗时从小到大排序为____:
    A.读取1KB内存数据 B.从硬盘连续读取1KB数据 C.读取一次L2缓存 D.一次磁盘寻道
    A C,A,D,B
    B C,D,A,B
    C D,C,A,B
    D D,A,C,B

答案: A
解析: L2指的是level 2,也就是二级缓存,通过缓存直接与cpu进行交互,是最快的
读取硬盘的时间主要是三部分,磁盘寻道时间,数据传输时间,旋转时间

  1. 分页式虚拟存储管理系统中,页面的大小与可能产生的缺页中断次数( )
    A 成正比
    B 成反比
    C 无关
    D 成固定值

答案: C

  1. 进程调度时,下列进程状态的变化过程哪一项是不可能发生的()
    A 阻塞挂起->阻塞
    B 就绪挂起->就绪
    C 就绪挂起->阻塞挂起
    D 阻塞挂起->就绪挂起

答案: C
解析:
在这里插入图片描述

  1. 处于运行状态的操作系统程序应放在()
    A 寄存器中
    B 主存中
    C 辅存中

答案:
解析: 寄存器: 容量有限,只是加载cpu执行代码行所需要的数据(从主存中加载到寄存器)
辅存: 当线程处于挂起状态时,会存储在辅存中

  1. 在系统内存中设置磁盘缓冲区的主要目的是()
    A 减少磁盘 I/O 次数
    B 减少平均寻道时间
    C 提高磁盘数据可靠性
    D 实现设备无关性

答案: A
解析: cpu的执行速度比磁盘io的速度要快很多,对于常用的数据,就会存储在磁盘缓冲区中,可以减少io次数

  1. 下列选项中,会导致进程从执行态变为就绪态的事件是()
    A 执行 P(wait)操作
    B 申请内存失败
    C 启动 I/O 设备
    D 被高优先级进程抢占

答案: D
解析:abc条件满足时,会进入阻塞态,不是就绪态
在进行io操作时,当前线程会处于阻塞状态

  1. 下面哪一种表述不属于操作系统的主要功能?()
    A 处理机管理
    B 存储器管理
    C 设备管理和文件管理
    D 可移植

答案: D
解析:A属于进程管理

  1. 在现代操作系统中采用缓冲技术的主要目的是()。
    A 改善用户编程环境
    B 提高CPU的处理速度
    C 提高CPU和设备之间的并行程度
    D 实现与设备无关性

答案: C
解析:在这里插入图片描述

  1. 进程和程序的一个本质区别是()。
    A 前者为动态的,后者为静态的
    B 前者存储在内存,后者存储在外存
    C 前者在一个文件中,后者在多个文件中
    D 前者分时使用CPU,后者独占CPU

答案:A
解析:进程处于挂起状态时,存于辅存,也即是外存
程序是一个可执行文件,还并没有执行,因此不会占用cpu资源

  1. 选择在最近的过去很久未访问的页面予以淘汰的算法称为()。
    A Opt.
    B LRU
    C MFU
    D LFU

答案:B
解析:
在这里插入图片描述

  1. 一次I/O操作的结束,有可能导致()。
    A 一个进程由睡眠变就绪
    B 几个进程由睡眠变就绪
    C 一个进程由睡眠变运行
    D 几个进程由睡眠变运行

答案:A
解析:一次io操作只能执行一个进程

  1. 并发进程之间()。
    A 彼此无关
    B 必须同步
    C 必须互斥
    D 可能需要同步或互斥
    答案:D
    解析:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/593670.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十个排序算法

目录 冒泡排序(Bubble Sort) 选择排序(Select Sort) 插入排序&#xff08;InsertSort&#xff09; 希尔排序&#xff08;ShellSort&#xff09; 计数排序&#xff08;CountSort&#xff09; 快速排序&#xff08;QuickSort&#xff09; 归并排序&#xff08;Merge Sort&a…

MCAL SPI配置

用的是Qspi0 SpiDriver 要配置 4个选项 Spichannel SpiExternalDevice SpiJob SpiSequence Mcu 模块配置 dma配置

理解Three.js的相机

大家都知道我们生活中的相机&#xff0c;可以留下美好瞬间。那Three.js的相机是什么呢&#xff1f;Three.js创建的场景是三维的&#xff0c;而我们使用的显示器显然是二维的&#xff0c;相机就是抽象的定义了三维空间到二维显示器的投影方式。Three.js常见的相机有两类&#xf…

jvm基础三——类加载器

类加载器的双亲委派机制 打破

python学习24:python中的列表(list)的遍历

python中的列表(list)的遍历 1.什么是遍历&#xff1f; 将容器内的元素一次取出&#xff0c;并处理&#xff0c;称之为遍历操作&#xff0c;或者还可以叫做迭代 2.如何遍历列表的元素呢&#xff1f; 我们可以使用前面学到的while或者for循环 接下来是代码演示&#xff1a; 使…

Docker基础系列之TLS和CA认证

Docker基础系列之TLS和CA认证 文章目录 Docker基础系列之TLS和CA认证1. 引言2. 初识TLS和CA3. 开启TLS和CA认证3.1 生成证书3.2 配置TLS 4. 参考和感谢 1. 引言 我们日常工作当中会遇到这些需求&#xff1a; 监控Docker容器在idea开发工具中连接Docker&#xff0c;直接发布至…

【RMSNorm】Root Mean Square Layer Normalization

【RMSNorm】Root Mean Square Layer Normalization 论文信息 阅读评价 Abstract Introduction Related Work Background RMSNorm Experiments 论文信息 名称内容论文标题Root Mean Square Layer Normalization论文地址https://arxiv.org/abs/1910.07467发表时间2019-…

随手集☞Spring知识盘点

概述 定义 Spring框架的提出者是程序员Rod Johnson&#xff0c;他在2002年最早提出了这个框架的概念&#xff0c;随后创建了这个框架。Spring框架的目标是简化企业级Java应用程序的开发&#xff0c;通过提供一套全面的工具和功能&#xff0c;使开发者能够更加高效地构建高质量…

JVM参数调优

JVM参数调优 文章目录 JVM参数调优前言JVM参数类型查看运行的Java程序&#xff0c;JVM参数是否开启&#xff0c;具体值为多少&#xff1f;题外话&#xff08;坑题&#xff09;查看JVM默认参数工作中常用的JVM基本配置参数查看堆内存打印JVM默认参数生活常用调优参数GC垃圾收集参…

【测开求职】校招生在面测开前需要了解的信息

博主在2021年拿到了字节测开实习的offer&#xff0c;实习时长4个月&#xff0c;并于2023年秋招拿到了字节测开的校招offer&#xff0c;仅以本专栏记录对该岗位的所思所想。 目录 1. 测试开发需要做什么工作2. 为什么选择测试开发3. 测试开发不如开发吗4. 如何准备测试开发 1. …

华为“天才少年”4万字演讲:现在的AI技术要么无趣,要么无用

华为“天才少年”4万字演讲&#xff1a;现在的AI技术要么无趣&#xff0c;要么无用&#xff5c;钛媒体AGI© AI科技组 &#xff08;图片来源&#xff1a;unsplash&#xff09; 近期&#xff0c;一篇4万字的演讲风靡于国内人工智能&#xff08;AI&#xff09;学术圈。 原…

基于 Rust 标准库 API 使用 200 行代码实现 Http 1.1 协议简易服务

1. 背景 早在之前学过一波 Rust&#xff0c;但是由于没用武之地&#xff0c;没过多久又荒废了&#xff0c;最近想捡起来下。刚好看见有群里小伙伴说学习 Http 网络协议太难怎么办&#xff1f;其实很多技术都是相通的&#xff0c;只要你理解了技术的本质就可以自己实现它&#…