北京科蓝java笔试题及答案
选择题
String s = new("helloworld")创建几个String实例
答:2个
怎么定义一个接口
interface B { void print();}
http协议中,状态码500的意思为
服务器内容报错
A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明
1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 编译会报错吗?
都正确
Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
16
在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
public
以上节选出一部分比较容易出错的
问答题
public String printString(){ String s = ""; for(int i=0;i<numItems();i++) s += lineForItem(i); }
numItems 返回 1000,lineForItem 返回固定长度为90字符的串。上述代码有何不妥,该如何改进。
答:性能有问题,连接n个字符串而重复的使用字符串拼接符号,要求n的平方级时间。改成用StringBuffer
java API中Object,String,Stringbuffer,StringBuilder的总结
下面对象若是单例的,在多线程并发调用该对象时会出现计算错误吗?若每个线程都创建一个独立的对象,在并发时会出现错误吗?需要简述原因。
public class Sum implements Executable{ private int i; public int sum(int[] items){ i=0; for(int j=0;j<items.length;j++){ i+=items[j]; } return i; } }
1. 会,多线程共享可变数据,每个线程也没有锁会造成数据不同步;
2.不会,多例不共享私有变量。
写出下述代码的输出结果,请勿使用计算机。
int k=0; int ret = ++k + k++ + ++k + k; System.err.println(ret);
正确答案:8
有序整形数组a[] ={2,5,10,11,19,50,51},用二分查找法找出整型数n在数组中的位置,找不到返回-2。
public static int BinarySearch(int a[], int n) { int l=0,r=a.length-1; int mid; while(l<=r) { mid=(l+r)/2; if(x==a[mid]) return mid; else if(x>a[mid]) l=mid+1; else r=mid-1; } return -1; }
进程间通信方式有哪些进程间通信方式有哪些?
管道,消息队列,信号量,共享内存区