Java基础笔试练习(十) (2)

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

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<a)&&(m=a) ; printf("%d,%d\n",k,m); return 0; }

A.0,0
B.0,1
C.1,0
D.1,1

答案:
A

解析:

14.下面这条语句一共创建了多少个对象:String s="welcome"+"to"+360;

A.1
B.2
C.3
D.4

答案:
A

解析:
略,可以参考我的其他文字关于对String的介绍.

15.下面这段程序的输出结果是() public class Main { public static void main(String[] args) { split(12); } public static int split(int number) { if (number > 1) { if (number % 2 != 0) System.out.print(split((number + 1) / 2)); System.out.print(split(number / 2)); } return number; } }

A.12136
B.63121
C.61213
D.11236

答案:
A

解析:
考察方法进栈与出栈的顺序。先进后出

16.关于Java以下描述正确的有( )?

A.Class类是Object类的超类
B.Object类是一个final类
C.String类是一个final类
D.Class类可以装载其它类

答案:
C D

解析:
A.class类是Object的派生类
B.每个类都使用Object类作为超类,而final修饰的类不能被继承

17.以下哪几种是java的基本数据类型。

A.String
B.int
C.boolean
D.Double

答案:
BC

解析:
Double在java.lang包,是double的一个包装类,不是基本数据类型

18. Java程序的种类有( )

A.类(Class)
B.Applet
C.Application
D.Servlet

答案:
BCD

解析:
Java程序的种类有:
(a)内嵌于Web文件中,由浏览器来观看的_Applet
(b)可独立运行的 Application
(c)服务器端的 Servlets

19.关于java中的数组,下面的一些描述,哪些描述是准确的:()?

A.数组是一个对象,不同类型的数组具有不同的类
B.数组长度是可以动态调整的
C.数组是一个连续的存储结构
D.一个固定长度的数组可类似这样定义:int array[100]
E.两个数组用equals方法比较时,会逐个便利其中的元素,对每个元素进行比较
F.可以二维数组,且可以有多维数组,都是在java中合法的。

答案:
A C F

解析:
1.数组其实也是一个对象
2.定义一个一维数组的方式是:type[] arrayname或者type arrayname[];
3.一维数组的初始化:
(1)静态初始化
1)int[] arr = new int[]{1, 2, 3}
2)int[] arr = {1, 2, 3}
(2)动态初始化
int[] arr = new int[3];
4.可以定义多维数组

20.假如某个JAVA进程的JVM参数配置如下:

-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,
请问eden区最终分配的大小是多少?

A.64M
B.500M
C.300M
D.100M

答案:
C

解析:
java -Xmx2G -Xms1G -Xmn500M -Xss128k
-Xmx2G:设置JVM最大可用内存为2G。
-Xms1G:设置JVM初始内存为1G。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmn500M:设置年轻代大小为2G。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。
-XX:SurvivorRatio=3:新生代中又会划分为 Eden 区,from Survivor、to Survivor 区。
其中 Eden 和 Survivor 区的比例默认是 8:1:1,当然也支持参数调整 -XX:SurvivorRatio=3的话就是3:1:1。
故该题为500*(3/5)=300M.

推荐

Java笔试内容集合 持续更新中....

文末

欢迎关注个人微信公众号:Coder编程
获取最新原创技术文章和免费学习资料,更有大量精品思维导图、面试资料、PMP备考资料等你来领,方便你随时随地学习技术知识!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxgxd.html