Java精选笔试题

Java精选笔试题1,volatile关键字是否能保证线程安全?()>>>>答案:否volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache中。但多个线程对volatile的写操作,无法保证线程安全。假如线程1,线程2在进行read,load操作中,发现主内存中co…

大家好,又见面了,我是你们的朋友全栈君。

个人博客请访问 http://www.x0100.top  

1,volatile关键字是否能保证线程安全?()

 

 

>>>>

答案:否

 

 

volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache中。但多个线程对volatile的写操作,无法保证线程安全。

 

假如线程1,线程2 在进行read,load 操作中,发现主内存中count的值都是5,那么都会加载这个最新的值,在线程1对count进行修改之后,会write到主内存中,主内存中的count变量就会变为6;线程2由于已经进行read,load操作,在进行运算之后,也会更新主内存count的变量值为6;导致两个线程及时volatile关键字修改之后,还是会存在并发的情况。

 

 

2,下面哪个流类属于面向字符的输入流(  )

 

A、BufferedWriter

B、FileInputStream

C、ObjectInputStream

D、InputStreamReader

 

 

>>>>

答案:D

 

 

Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式。 

面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和OutputStream的子类。 

面向字符的操作为以字符为单位对数据进行操作,在读的时候将二进制数据转为字符,在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类。

 

 

3,Java能不能不通过构造函数创建对象()

 

A、能     B、不能

 

 

>>>>

答案:A

 

 

Java创建对象的几种方式:

 

(1) 用new语句创建对象,这是最常见的创建对象的方法。 
(2) 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。 
(3) 调用对象的clone()方法。 
(4) 运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。

(1)和(2)都会明确的显式的调用构造函数 ;(3)是在内存上对已有对象的影印,所以不会调用构造函数 ;(4)是从文件中还原类的对象,也不会调用构造函数。

 

 

4,下列哪个叙述是正确的()

 

 

A.子类继承父类的构造方法。

B.abstract类的子类必须是非abstract类。

C.子类继承的方法只能操作子类继承和隐藏的成员变量。

D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量。

 

 

>>>>答案:C

 

 

子类是不继承父类的构造方法的,而是必须调用其父类的构造方法。 

abstract类的子类可以是abstract类,如果是非abstract类,就必须重写父类中所有的abstract方法。 

D中子类新增的方法是不能直接操作被子类隐藏的成员变量的。

 

 

5,下列哪个叙述是正确的()

 

 

A.final类可以有子类。

B.abstract类中只可以有abstract方法。

C.abstract类中可以有非abstract方法,但该方法不可以用final修饰。

D.不可以同时用final和abstract修饰同一个方法。

E.允许使用static修饰abstract方法。

 

 

>>>>

答案:D

 

 

用final修饰的类是不允许被继承的,A错误 
abstract类中也可以有普通成员方法,B错误 
abstract类中的非abstract方法是可以用final修饰的,而abstract方法是不可以被final修饰的,C错误 

D同上,正确 
 

不允许使用static修饰abstract方法,E错误。

 

 

6,当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象()

 

A、以选中的压缩文件为参数

B、以FileInputStream对象为参数

C、以InputStreamReader对象为参数

D、以BufferedReader对象为参数

 

 

>>>>

答案:B

 

 

在java.io包中提供了对压缩文件进行操作的能力。它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterInputStream与DeflaterOutputStream。

 

在创建压缩文件输入流时,其初始化参数是一个FileInputStream类的实例。

 

 

7,已知一个有序线性表为()(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为( )

 

 

A,1         B,2       C,3       D,9

 

 

>>>>答案:B

 

 

根据二分法查找需要两次:首先将90与表中间的元素50进行比较,由于90大于50,所以在线性表的后半部分查找;第二次比较的元素是后半部分的中间元素,即90,这时两者相等,即查找成功。

 

8,Java程序的并发机制是( )

 

A.多线程

B.多接口

C.多平台

D.多态性

 

 

>>>>

答案:A

 

 

Java是通过多线程实现并发机制的。多线程是指一个程序中包含多个执行流, 多线程程序设计的含义是可以将程序任务分成几个并行的子任务。

 

 

9,下列选项中,不属于模块间耦合的是( )

 

A.数据耦合

B.标记耦合

C.异构耦合

D.公共耦合

 

 

>>>>

答案:C

 

 

模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。 按照耦合程度从弱到强,可以将其分成7级。

 

分别是非直接耦合、数据耦合、标记耦合、控制 耦合、外部耦合、公共耦合和内容耦合。其中没有异构耦合这种方式。

 

 

10,下列关于内部类的说法不正确的是  (  )

 

A,内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用

B,内部类可以使用它所在类的静态成员变量和实例成员变量

C,内部类不可以用abstract修饰符定义为抽象类

D,内部类可作为其他类的成员,而且可访问它所在类的成员

 

 

>>>>

答案:C

 

 

内部类不仅可以用abstract修饰定义为抽象类,也可以用private或protected定义,所以选项C说法错误。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156974.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Jquery——基本过滤选择器

    Jquery——基本过滤选择器

  • python opencv入门 光流法(41)

    python opencv入门 光流法(41)内容来自OpenCV-PythonTutorials自己翻译整理目标:了解光流的概念,使用lucas-kanade估算方法使用cv2.calcOpticalFlowPyrLK()方法来追踪视频中的特征点光流:光流的概念是指在连续的两帧图像当中,由于图像中的物体移动或者摄像头的移动而使得图像中的目标的运动叫做光流。(说简单点,考虑摄像头不会动的情况,就是一个视频当中有一个…

  • Proxool线程池的简单实现demo

    Proxool线程池的简单实现demo

  • 史上最牛的Linux视频教程—兄弟连 学习笔记1

    史上最牛的Linux视频教程—兄弟连 学习笔记17月24日3.1给初学者的建议——注意事项1.Linux严格区分大小写2.硬盘文件是/dev/sd[a-p]  光盘文件/dev/sr0等3.Linux没有扩展名4.Linux所有存储设备都必须挂载之后才能用(手工分配) 3.2给初学者的建议——服务器管理和维护1.sbin文件只有root才能用  boot目录保存内核和系统文件  dev保存设备硬…

  • C++对象数组「建议收藏」

    C++对象数组「建议收藏」C++对象数组一、对象数组1.C++对象数组的定义:类名数组名[元素个数]例:Studentstu[10];2.对象数组访问形式:数组名[下标].成员名;例:stu[i].print();3.对象数组的初始化:对象数组的初始化通常也是由构造函数来完成的例:关于对象数组的几点说明:  (1)在建立对象数组的时候需要调用构造函数。如果对象数组有100个元素,就需…

  • React安装:

    React安装:

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号