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 在创建线程后的任何时候都可以设置
DB 和 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(n0)个元素组成, 所以线性表可以是空表但是在线性表中, 第一个结点没有前驱, 最后一个结点没有后继, 其他结点有且只有一个前驱和后继, 所以选项 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 就不允许在静态方法中访问非静态方法
来源: http://blog.csdn.net/sky_blue12321/article/details/78967856