牛客网-Java专项练习12
答案设置为白色,框选即可显示
1.在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的()?
A.管道
B.消息队列
C.高速缓存数据库
D.套接字
答案:A
解析:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
2.下面有关java的一些细节问题,描述错误的是?
A.构造方法不需要同步化
B.一个子类不可以覆盖掉父类的同步方法
C.定义在接口中的方法默认是public的
D.容器保存的是对象的引用
答案:B
解析:构造方法每次都是构造出新的对象,不存在多个线程同时读写同一对象中的属性的问题,所以不需要同步 。子类可以置换掉父类的同步方法的。
3.下面有关java基本类型的默认值和取值范围,说法错误的是?
A.字节型的类型默认值是0,取值范围是-27—27-1
B,boolean类型默认值是false,取值范围是true\false
C.字符型类型默认是0,取值范围是-2^15 —2^15-1
D.long类型默认是0,取值范围是-263—263-1
答案:C
解析:
默认值 取值范围 示例
字节型 : 0 -27—-27-1 byte b=10;
字符型 : ‘ \u0000′ 0—-2^16-1 char c=’c’ ;
short : 0 -215—-215-1 short s=10;
int : 0 -231—-231-1 int i=10;
long : 0 -263—-263-1 long o=10L;
float : 0.0f -231—-231-1 float f=10.0F
double : 0.0d -263—-263-1 double d=10.0;
boolean: false true\false boolean flag=true;
4.下面哪些具体实现类可以用于存储键,值对,并且方法调用提供了基本的多线程安全支持:()
A.java.util.ConcurrentHashMap
B.java.util.Map
C.java.util.TreeMap
D.java.util.SortMap
E.java.util.Hashtable
F.java.util.HashMap
答案:AE
解析:
5.以下哪些jvm的垃圾回收方式采用的是复制算法回收
A.新生代串行收集器
B.老年代串行收集器
C.并行收集器
D.新生代并行回收收集器
E.老年代并行回收收集器
F.cms收集器
答案:AD
解析:
两个最基本的java回收算法:复制算法和标记清理算法
复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法
标记清理:一块区域,标记可达对象(可达性分析),然后回收不可达对象,会出现碎片,那么引出
标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象
两个概念:新生代和年老代
新生代:初始对象,生命周期短的
永久代:长时间存在的对象
整个java的垃圾回收是新生代和年老代的协作,这种叫做分代回收。
P.S:Serial New收集器是针对新生代的收集器,采用的是复制算法
Parallel New(并行)收集器,新生代采用复制算法,老年代采用标记整理
Parallel Scavenge(并行)收集器,针对新生代,采用复制收集算法
Serial Old(串行)收集器,新生代采用复制,老年代采用标记整理
Parallel Old(并行)收集器,针对老年代,标记整理
CMS收集器,基于标记清理
G1收集器:整体上是基于标记 整理 ,局部采用复制
综上:新生代基本采用复制算法,老年代采用标记整理算法。cms采用标记清理。
6.内部类(也叫成员内部类)可以有4种访问权限。( )
A.正确
B.错误
答案:A
解析:把内部类理解成类的成员,成员有4种访问权限吧,内部类也是!分别为private、protected、public以及默认的访问权限
7.关于匿名内部类叙述正确的是? ( )
A.匿名内部类可以继承一个基类,不可以实现一个接口
B.匿名内部类不可以定义构造器
C.匿名内部类不能用于形参
D.以上说法都不正确
答案:B
解析:
使用匿名内部类时,必须继承一个类或实现一个接口
匿名内部类由于没有名字,因此不能定义构造函数
匿名内部类中不能含有静态成员变量和静态方法
8.以下Java程序运行的结果是:
public class Tester{
public static void main(String[] args){
Integer var1=new Integer(1);
Integer var2=var1;
doSomething(var2);
System.out.print(var1.intValue());
System.out.print(var1==var2);
}
public static void doSomething(Integer integer){
integer=new Integer(2);
}
}
A.1true
B.2true
C.1false
D.2false
答案:A
解析:java中引用类型的实参向形参的传递,只是传递的引用,而不是传递的对象本身。
9.关于下面程序,哪些描述是正确的: ( )
public class While {
public void loop() {
int x= 10;
while ( x ) {
System.out.print("x minus one is " + (x - 1));
x -= 1;
}
}
}
A.行1有语法错误
B.行4有语法错误
C.行5有语法错误
D.行6有语法错误
E.行2有语法错误,loop是关键字
F.程序能够正常编译和运行
答案:B
解析:这个题主要考while()中表达式的判断,必须是boolean类型的。
10.DBMS 中实现事务持久性的子系统是()
A.安全性管理子系统
B.完整性管理子系统
C.并发控制子系统
D.恢复管理子系统
答案: D
解析:持久性实现恢复管理子系统,一致性实现并发控制子系统,原子性实现完整性管理子系统,隔离性实现安全控制管理子系统