Java选择题练习 ---(NKW)
Java选择题
第一周期:
注:题目均来自于牛客网
1、Java 语言中,负责并发管理的机制是(多线程)。
解析:多线程是Java程序的并发机制,它能同步共享数、处理不同的事件。
2、区分类中重载方法的依据是( 不同的形参列表 )。
解析:两个重载函数必须在下列一个或两个方面有所区别: 1、函数的参数个数不同。 2、函数的参数类型不同或者参数类型顺序不同。
3、定义类中成员变量时不可能用到的修饰是(void)。
解析:void修饰的是成员方法
4、以下程序
main()
{
int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是( 12353514 )。
解析:熟练计算++ – 的关系
5、try块后必须有catch块。(错误)
解析: try块后面不一定需要跟着catch块。
6、BufferedReader的父类是以下哪个?(Reader)。
解析:
7、执行如下程序,输出结果是 ( 2 24 46 6 )
class Test
{
private int data;
int result = 0;
public void m()
{
result += 2;
data += 2;
System.out.print(result + " " + data);
}
}
class ThreadExample extends Thread
{
private Test mv;
public ThreadExample(Test mv)
{
this.mv = mv;
}
public void run()
{
synchronized(mv)
{
mv.m();
}
}
}
class ThreadTest
{
public static void main(String args[])
{
Test mv = new Test();
Thread t1 = new ThreadExample(mv);
Thread t2 = new ThreadExample(mv);
Thread t3 = new ThreadExample(mv);
t1.start();
t2.start();
t3.start();
}
}
解析:暂无
8、计算机所能处理的最小的数据项称为(位)
解析:位、字节、字是计算机数据存储的单位。位是最小的存储单位,每一个位存储一个1位的二进制码,一个字节由8位组成。而字通常为16、32或64个位组成。
9、客户端要获取一个socket对象通过实例化,而服务器获得一个socket对象则通过什么方法的返回值?
答:getRemoteSocketAddress()
解析:暂无
10、如果一个接口Glass有个方法setColor(),有个类BlueGlass实现接口Glass,则在类BlueGlass中正确的是? ( public void setColor() { …} )
解析:JAVA 子类重写继承的方法时,不可以降低方法的访问权限,子类继承父类的访问修饰符要比父类的更大,也就是更加开放,假如我父类是protected修饰的,其子类只能是protected或者public,绝对不能是friendly(默认的访问范围)或者private,当然使用private就不是继承了。还要注意的是,继承当中子类抛出的异常必须是父类抛出的异常的子异常,或者子类抛出的异常要比父类抛出的异常要少。
11、Java 的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(错误)
解析:容器的左上角被确定为坐标的起点。
12、关键字super的作用是?
用来访问父类被隐藏的非私有成员变量
用来调用父类中被重写的方法
用来调用父类的构造函数
解析:super代表父类对应的对象,所以用super访问在子类中无法直接使用的父类成员和方法。
13、子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数
解析:暂无
14、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以( 让该类不使用任何关键字 )
解析: 暂无
15、已知如下类说明
public class Test{
private float f=1.0f;
int m=12;
static int n=1;
public static void main(String args[]){
Test t=new Test();
}
}
如下哪些使用是正确的( Test.n )
解析: 类变量可以通过类直接调用
16、下面赋值语句中正确的是(double d=5.3e12;)
解析:5.3e12表示5.3乘以10的12次方,正确
17、off-heap是指那种内存(JVM进程管理的内存
)
解析:off-heap叫做堆外内存,将你的对象从堆中脱离出来序列化,然后存储在一大块内存中,这就像它存储到磁盘上一样,但它仍然在RAM中。对象在这种状态下不能直接使用,它们必须首先反序列化,也不受垃圾收集。序列化和反序列化将会影响部分性能(所以可以考虑使用FST-serialization)使用堆外内存能够降低GC导致的暂停。堆外内存不受垃圾收集器管理,也不属于老年代,新生代。
18、在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的?(管道)
解析:暂无
19、以下哪个类包含方法flush()?(OutputStream)
解析:暂无
20、what is the result of the following code?
enum AccountType
{
SAVING, FIXED, CURRENT;
private AccountType()
{
System.out.println(“It is a account type”);
}
}
class EnumOne
{
public static void main(String[]args)
{
System.out.println(AccountType.FIXED);
}
}
Compiles fine and output is prints”It is a account type”thrice followed by”FIXED”
解析:暂无
21、
void waitForSignal()
{
Object obj = new Object();
synchronized(Thread.currentThread())
{
obj.wait();
obj.notify();
}
}
Which statement is true?
This code may throw an InterruptedException
解析:暂无
22、(<<)运算符和(>>)运算符分别把一个值的位向左和向右移动
解析:位运算符
23、下列关于if-else if选择结构的说法正确的是:
多个else if块之间的顺序可以改变,改变之后可能对程序的执行结果有影响
多个else if块之间的顺序可以改变,改变后程序编译可以通过
解析:多分支语句的用法
24、关于equals和hashCode描述正确的是 ()
两个obj,如果equals()相等,hashCode()一定相等(符合代码规范的情况下)
两个obj,如果hashCode()相等,equals()不一定相等
两个不同的obj, hashCode()可能相等
解析:暂无
25、以下哪些方法是Object类中的方法(全是)
clone()
toString()
wait()
finalize()
解析:暂无
26、线程安全的map在JDK 1.5及其更高版本环境 有哪几种方法可以实现?
Map map = new ConcurrentHashMap();
Map map = Collections.synchronizedMap(new HashMap());
解析:暂无
27、以下哪种JAVA的变量表达式使得变量a和变量b具有相同的内存引用地址( )
String a = “hello”; String b = “hello”;
Integer a; Integer b = a;
解析:暂无
28、有关静态初始化块说法正确的是?
无法直接调用静态初始化块
在创建第一个实例前或引用任何静态成员之前,将自动调用静态初始化块来初始化
静态初始化块既没有访问修饰符,也没有参数
解析:暂无
29、What might cause the current thread to stop or pause executing?
An InterruptedException is thrown.
The thread executes a wait() call.
The thread executes a waitforID()call on a MediaTracker.
解析:暂无
30、
public class NameList
{
private List names = new ArrayList();
public synchronized void add(String name)
{
names.add(name);
}
public synchronized void printAll() {
for (int i = 0; i < names.size(); i++)
{
System.out.print(names.get(i) + ””);
}
}
public static void main(String[]args)
{
final NameList sl = new NameList();
for (int i = 0; i < 2; i++)
{
new Thread()
{
public void run()
{
sl.add(“A”);
sl.add(“B”);
sl.add(“C”);
sl.printAll();
}
} .start();
}
}
}
Which two statements are true if this class is compiled and run?
The code may rum with output “A B C A B C A B C “, then exit.
The code may ruin with output “A B C A A B C A B C “, then exit.
解析:暂无
本文地址:https://blog.csdn.net/JORDANHCH/article/details/112667036
上一篇: 从根本上解决问题
下一篇: Servlet(生命周期)