java笔试题

摘要:
B,使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。C,当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。D,一个线程可能因为不同的原因停止并进入就绪状态。这样的结果自然是没有线程能够不公平地长时间霸占处理器。可以在创建线程后的任何时候修改线程的优先级。为了避免这种错误,所以java就不允许在静态方法中访问非静态方法。
1,有关线程的哪些叙述是对的()
A,一旦一个线程被创建,它就立即开始运行。
B,使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
C,当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
D,一个线程可能因为不同的原因停止并进入就绪状态。
答案:BCD
在抢占式线程模型中,操作系统可以在任何时候打断线程。通常会在它运行了一段时间(就是所谓的一个时间片)后才打断它。这样的结果自然是没有线程能够不公平地长时间霸占处理器。
2,哪个关键字可以对对象加互斥锁()
A,serialize
B,synchronized
C,transient
D,static
答案:B
A是对象串行化、C是关键字transient修饰的属性将不被串行化、D是静态的
3,下列关于线程优先级的说法中,正确的是()
A、线程的优先级是不能改变的
B、线程的优先级是在创建线程时设置的
C、在创建线程后的任何时候都可以设置
D、B和C
答案:C
Java语言中线程的优先级是用一个介于MIN_PRIORITY和MAX_PRIORITY之间的整数来表示的。可以在创建线程后的任何时候修改线程的优先级。
4,为了使模块尽可能独立,要求()
A.模块的内聚程度要尽量高,且耦合程度要尽量强
B.模块的内聚程度要尽量高,且耦合程度要尽量弱
C.模块的内聚程度要尽量低,且耦合程度要尽量弱
D.模块的内聚程度要尽量低,且耦合程度要尽量强
答案:B
系统设计的质量主要反映在模块的独立性上。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度;二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量高。
5,下列对于线性链表的描述中正确的是()
A.存储空间不一定是连续,且各元素的存储顺序是任意的
B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C.存储空间必须连续,且前件元素一定存储在后件元素的前面
D.存储空间必须连续,且各元素的存储顺序是任意的
答案:A
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
6,下列叙述中错误的是()
A.线性表是由n个元素组成的一个有限序列
B.线性表是一种线性结构
C.线性表的所有结点有且仅有一个前件和后件
D.线性表可以是空表
答案:C
线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前驱,最后一个结点没有后继,其他结点有且只有一个前驱和后继,所以选项C是错误的。
7,已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为()
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
答案:B
二叉树的遍历有3种:前序、中序和后序。
先序:先访问根结点、左结点、右结点
中序:先访问左结点、根结点、右结点
后序:先访问左结点、右结点、根结点
本题根据前序遍历和中序遍历的结果可以得出二叉树的结构,然后再对其进行后序遍历。
8,面向对象方法中,继承是指()
A.一组对象所具有的相似性质
B.一个对象具有另一个对象的性质
C.各对象之间的共同性质
D.类之间共享属性和操作的机制
答案:D
继承:在程序设计中,继承是指子类自动享用父类的属性和方法,并可以增加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,也是面向对象的主要优点之一。
继承又分为单重继承和多重继承,单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承了多个父类的属性和操作。
扩展:Java是一种单重继承语言,而C++是一种多重继承语言。
9,栈和队列的共同点是()
A.都是先进先出
B.都是先进后出
C.只允许在端点处插入和删除元素
D.没有共同特点
答案:C
栈是只允许在表的一端进行插入和删除的操作,队列是允许在表的一端进行插入,另一端进行删除的操作。
10,下列关于修饰符混用的说法,错误的是()
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的数据
答案:D
静态方法是属于类的,而普通方法是属于对象的。
属于类的静态方法可以在对象不存在的时候就能访问到,而普通方法必须先new一个对象才能用这个对象访问。当我们访问调用静态方法的时候(使用类名.静态方法名)这个时候就没有对象创建,所以普通方法是访问不到的。为了避免这种错误,所以java就不允许在静态方法中访问非静态方法。

免责声明:文章转载自《java笔试题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MongoDB(8)- 文档删除操作微信小程序wx.switchTab跳转到tab页面后onLoad里面的方法不执行下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例

概要 这一章,我们对TreeSet进行学习。我们先对TreeSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeSet。内容包括:第1部分 TreeSet介绍第2部分 TreeSet数据结构第3部分 TreeSet源码解析(基于JDK1.6.0_45)第4部分 TreeSet遍历方式第5部分 TreeSet示例 转载请注明出处:http...

Python基础-多线程与多进程

一,线程与进程之间的关系:(从知乎上看到的) 一个必须知道的事实:执行一段程序代码,实现一个功能的过程介绍 ,当得到CPU的时候,相关的资源必须也已经就位,就是显卡啊,GPS啊什么的必须就位,然后CPU开始执行。这里除了CPU以外所有的就构成了这个程序的执行环境,也就是我们所定义的程序上下文。当这个程序执行完了,或者分配给他的CPU执行时间用完了,那它就...

Java多线程 开发中避免死锁的八种方法

1. 设置超时时间 使用JUC包中的Lock接口提供的tryLock方法.该方法在获取锁的时候, 可以设置超时时间, 如果超过了这个时间还没拿到这把锁, 那么就可以做其他的事情, 而不是像synchronized如果没有拿到锁会一直等待下去. boolean tryLock ( long time , T...

ES6 Interator

Interator "集合"数据的结构主要有 Array 、Object、 Set and Map ,任何数据结构只要部署 Iterator 接口,就可完成遍历操作 遍历过程: 创建指针,指向当前数据结构起始位。(遍历对象本质是一个指针对象)。 依次循环调用指针对象的 next方法,对应指向数据结构成员,直至结束。每次调用next方法,返回对象当前成员的...

Linux-pthread如何设置线程的优先级

设置线程优先级的函数: int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param *param) 它主要用于设置线程的调用策略和优先级。 参数说明: 1.  target_thread是使用pthread_create所获得的线程ID。  ...

在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)

在主线程中慎用WaitForSingleObject (WaitForMultipleObjects) 下面的代码我调试了将近一个星期,你能够看出什么地方出了问题吗?线程函数: DWORD WINAPI ThreadProc(    while(!bTerminate)    {        // 从一个链表中读取信息并且插入到CListCtrl中...