java bufferedreader读大文件会内存溢出吗_Java基础笔试练习(十)

730ac50c86953db9cd23e81a237fd09e.png

Java基础笔试练习(十)

1.Java中所有类的父类是( )?

A.Father

B.Dang

C.Exception

D.Object

答案:

D

解析:

D,java中Object是所有类的父亲,所有类的对象都是Class的实例。

2.在 main() 方法中给出数组buffer和下标i,如果将此下标中的元素显示到控制台上,需要使用( )。

A.System.out.print (buffer[i]);

B.FileOutputStream fout = new FileOutputStream(this.filename);

C.FileInputStream fin = new FileInputStream(this.filename);

D.System.in.read(buffer)。

答案:

A

解析:

在main中已经给出字节数组,直接System.out.print();输出即可。BC都是文件输出输入流,D是标准输入流,所以不符合题意。

3. “先进先出”的容器是:( )

A.堆栈(Stack)

B.队列(Queue)

C.字符串(String)

D.迭代器(Iterator)

答案:

B

解析:

堆栈(Stack) : 如子弹入弹夹一样 先进后出

队列(Queue):如排队过隧道 先进先出

4.下面关于静态方法说明正确的是?

A.在静态方法中可用this来调用本类的类方法

B.在静态方法中调用本类的静态方法时可直接调用

C.在静态方法中只能调用本类中的静态方法

D.在静态方法中绝对不能调用实例方法

答案:

B

解析:

解释一下D.可以通过在静态方法中创建对象,通过对象.调用非静态方法

5.以下定义一维数组的语句中,正确的是:()?

A.int a [10]

B.int a []=new [10]

C.int a[] int a []=new int [10]

D.int a []={1,2,3,4,5}

答案:

D

解析:

1.int a[10]是错误的,声明的时候不能初始化容量,只有new的时候才可以

2.正确的是int a[]=new int[10];

3.不能两个声明连在一起

4.是正确的

6.有如下代码:请写出程序的输出结果。

public class Test{ public static void main(String[] args) { int x = 0; int y = 0; int k = 0; for (int z = 0; z < 5; z++) { if ((++x > 2) && (++y > 2) && (k++ > 2)) { x++; ++y; k++; } } System.out.println(x + ”” +y + ”” +k); }}

A.432

B.531

C.421

D.523

答案:

B

解析:

每次循环z,x,y,k对应数值为:

0,1,0,0

1,2,0,0

2,3,1,0

3,4,2,0

4,5,3,1

执行完这次以后,z++为5,不再进入for循环。

7.BufferedReader的父类是以下哪个?

A.FilterReader

B.InputStreamReader

C.PipedReader

D.Reader

答案:

D

解析:

0a3981ce07bf8e0c3fbd40af982dcbb0.png

io流

8.以下代码在编译和运行过程中会出现什么情况 ?

public class TestDemo{ private int count; public static void main(String[] args) { TestDemo test=new TestDemo(88); System.out.println(test.count); } TestDemo(int a) { count=a; }}

A.编译运行通过,输出结果是88

B.编译时错误,count变量定义的是私有变量

C.编译时错误,System.out.println方法被调用时test没有被初始化

D.编译和执行时没有输出结果

答案:

A

解析:

private是私有变量,只能用于当前类中,题目中的main方法也位于当前类,所以可以正确输出

9.类方法中可以直接调用对象变量。( )

A.正确

B.错误

答案:

B

解析:

静态方法中不能调用对象的变量,因为静态方法在类加载时就初始化,对象变量需要在新建对象后才能使用

10.内部类(也叫成员内部类)可以有4种访问权限。( )?

A.正确

B.错误

答案:

A

解析:

把内部类理解成类的成员,成员有4种访问权限吧,内部类也是!分别为private、protected、public以及默认的访问权限

11.关于以下application,说法正确是什么?

public class Test { static int x=10; static {x+=5;} public static void main(String[] args) //4 { System.out.println("x="+x); } static{x/=3;};}//9

A.4行与9行不能通过编译,因为缺少方法名和返回类型

B.编译通过,执行结果是:x=5

C.编译通过,执行结果是:x=3

D.9行不能通过编译,因为只能有一个静态初始化器

答案:

B

解析:

父类静态代码块-->子类静态代码块-->父类普通代码块-->父类构造方法-->子类代码块-->子类构造方法;

12.java程序内存泄露的最直接表现是( )

A.频繁FullGc

B.jvm崩溃

C.程序抛内存控制的Exception

D.java进程异常消失

答案:

C

解析:

首先理解一下内存泄漏的概念,内存泄漏就是对象引用消失了,对象内存却没有被回收。

A答案:FullGC 是老年代内存空间不足的时候,才会触发的,老年代一般是生命周期较长的对象或者大对象,频繁的 FullGC 不会可能会影响程序性能(因为内存回收需要消耗CPU等资源),但是并不会直接导致内存泄漏。

B 答案:JVM奔溃的可能是内存溢出引起的,也可能是其他导致 JVM崩溃的操作,例如设置了错误的JVM参数等。

C 答案:内存异常,最常见的 就是 StackOverFlow 了把,内存溢出,其实内存泄漏的最终结果就是内存溢出。所以,基本上C是对的答案。

D 答案:Java 进程异常消失,这个明显不对的。

13.以下程序运行后的输出结果是()?

int main(){int a=1,b=2,m=0,n=0,k;k=(n=b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值