一、
1、下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换:B
byte[] src,dst;
A:dst=String.frombytes(src,”GBK”).getbytes(“UTF-8”)
B:dst=new String (src,”GBK”).getbytes(“UTF-8”)
C:dst=new String (”GBK”, src,) getbytes()
D:dst=String.encode(String.decode(src,”GBK”)), “UTF-8”)
2、下列关于java并发的说法中正确的是:B
A:copyonwritearraylist适用于写多读少的并发场景
B:readwritelock适用于读多写少的并发场景
C:concurrenthashmap的写操作不需要加锁,读操作需要加锁
D:只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了
3、 下列哪个对访问修饰符作用范围由大到小排列是正确的?D
A:private>default>protected>public
B:public>default>protected>private
C:private>protected>default>public
D:public>protected>default>private
4、在Java中,HashMap中是用哪些方法来解决哈希冲突的?C
A:开放地址法
B:二次哈希法
C:链地址法
D:建立一个公共溢出区
5、阅读下列程序,选择哪一个是正确的输出结果 C
class HelloA{
public HelloA(){
System.out.println("I’m A class ");
}
static
{
System.out.println("static A");
}
}
public class HelloB extends HelloA{
public HelloB() {
System.out.println("I’m B class");
}
static{
System.out.println("static B");
}
public static void main (String[] args){
new HelloB();
}
}
A:static A I’m A class static B I’m B class
B:I’m A class I’m B class static A static B
C:static A static B I’m A class I’m B class
D:I’m A class static A I’m B class static B
6、以下是java concurrent包下的4个类,选出差别最大的一个 C
A:Semaphore
B:ReentrantLock
C:Future
D:CountDownLatch
7、关于sleep和wait,以下描述错误的是 D
A:sleep是线程类的方法,wait是object的方法
B:sleep不释放对象锁,wait放弃对象锁
C:sleep暂停线程,但监控状态依然保持,结束后会自动恢复
D:wait进入等待锁定池,只有针对此对象发出notify方法获得对象锁进入运行状态
二、
1、 Math.round(11.5) 等于:C
A:11
B:11.5
C:12
D:12.5
2、以下 D_ 不是 Object 类的方法
A:clone()
B:finalize()
C:toString()
D:hasNext()
三、
1、java中关于内存回收的正确说法是:B
A:程序员必须创建一个线程来释放内存
B:内存回收程序负责释放无用内存
C:内存回收程序允许程序员直接释放内存
D:内存回收程序可以在指定的时间释放内存对象
2、A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:
A a0=new A();
A a1=new B();
A a2=new C();
以下哪个说法是正确的?A
A:第1行,第2行和第3行的声明都是正确的
B:第1,2,3行都能通过编译,但第2,3行运行时出错
C:第1,2行能通过编译,但第3行编译出错
D:只有第1行能通过编译
3、Test.main() 函数执行后的输出是D
public class Test {
public static void main(String [] args){
System.out.println(new B().getValue());
}
static class A{
protected int value;
public A(int v) {
setValue(v);
}
public void setValue(int value){
this.value = value;
}
public int getValue(){
try{
value++;
return value;
} catch(Exception e){
System.out.println(e.toString());
} finally {
this.setValue(value);
System.out.println(value);
}
return value;
}
}
static class B extends A{
public B() {
super(5);
setValue(getValue() - 3);
}
public void setValue(int value){
super.setValue(2 * value);
}
}
}
A:11 17 34
B:22 74 74
C:6 7 7
D:22 34 17
四、
1、下面程序的输出是:(D)
String x="fmn";
x.toUpperCase();
String y=x.replace('f','F');
y=y+"wxy";
System.out.println(y);
A:FmNwxy
B:fmnwxy
C:wxyfmn
D:Fmnwxy
2、 JAVA语言的下面几种数组复制方法中,哪个效率最高?B
A:for循环逐一复制
B:System.arraycopy
C:Arrays.copyOf
D:使用clone方法
3、有关下述Java代码描述正确的选项是F
public class TestClass {
private static void testMethod(){
System.out.println("testMethod");
}
public static void main(String[] args) {
((TestClass)null).testMethod();
}
}
A:编译不通过
B:编译通过,运行异常,报NullPointerException
C:编译通过,运行异常,报IllegalArgumentException
D:编译通过,运行异常,报NoSuchMethodException
E:编译通过,运行异常,报Exception
F:运行正常,输出testMethod
这个题还没搞懂
4、下列java程序的输出结果为B
public class Example{
String str=new String("hello");
char[]ch={'a','b'};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
str="test ok";
ch[0]='c';
}
}
A:hello and ab
B:hello and cb
C:hello and a
D:test ok and ab
E:test ok and cb
F:test ok and c
5、在jdk1.5之后,下列 java 程序输出结果为
int i=0;
Integer j = new Integer(0);
System.out.println(i==j);
System.out.println(j.equals(i));
A:true,false
B:true,true
C:false,true
D:false,false
E:对于不同的环境结果不同F程序无法执行
五、
1、 下面代码运行结果是:C
public class Test{
public int add(int a,int b){
try {
return a+b;
}catch (Exception e) {
System.out.println("catch语句块");
}finally{
System.out.println("finally语句块");
}
return 0;
}
public static void main(String argv[]){
Test test =new Test();
System.out.println("和是:"+test.add(9, 34));
}
}
A:catch语句块 和是:43
B:编译异常
C:finally语句块 和是:43
D:和是:43 finally语句块
2、下列Java代码中的变量a、b、c分别在内存的__C__存储区存放。
class A {
private String a = “aa”;
public boolean methodB() {
String b = “bb”;
final String c = “cc”;
}
}
A:堆区、堆区、堆区
B:堆区、栈区、堆区
C:堆区、栈区、栈区
D:堆区、堆区、栈区
E:静态区、栈区、堆区
F:静态区、栈区、栈区
3、以下声明合法的是
A:default String s
B:public final static native int w( )
C:abstract double d
D:abstract final double hyperbolicCosine( )
4、代码片段:
byte b1=1,b2=2,b3,b6;
final byte b4=4,b5=6;
b6=b4+b5;
b3=(b1+b2);
System.out.println(b3+b6);
关于上面代码片段叙述正确的是C
A:输出结果:13
B:语句:b6=b4+b5编译出错
C:语句:b3=b1+b2编译出错
D:运行期抛出异常