1、下列程序的运行结果
public void getCustomerInfo() {
try {
// do something that may cause an Exception
} catch (java.io.FileNotFoundException ex) {
System.out.print("FileNotFoundException!");
} catch (java.io.IOException ex) {
System.out.print("IOException!");
} catch (java.lang.Exception ex) {
System.out.print("Exception!");
}
}
正确答案: A IOException!
代码块中的do something that may cause an Exception说明程序运行时只会抛出一个异常, 但没有 指明
是什么异常,三种异常均有可能。对于某个异常,只会被捕获一次, 因而只有A是可能的答案, 另外三个
选 项都 捕获了多个异常,与题意不符。
2、instanceof运算符能够用来判断一个对象是否为:
instance是java的二元运算符,用来判断他左边的对象是否为右面类(接口,抽象类,父类)的实例
3、包含在java文件的公共类必须和文件名相同?
public class Test{
public static class innerClass{
public static void prin(){
System.out.println("innerClass");
}
}
public static void main(String[] args) {
Test.innerClass.prin();
System.out.println("HelloWorld");
}
}
除去扩展名.java的部分,包含在java文件里的Java里的公共类必须与文件的名字相同。
但是公共的内部类是不需要和文件的名字相同的。
解题要点:
1、java文件中类型为public的类有两种,一种是外部类,一种是内部类;
2、当外部类的类型为public时,文件名需要与其相同;
3、当内部类的类型为public时,而外部类不是public类型的,则文件名可随意,但需要满足命名规范(以字母或下划线开头)。
4、运行代码,输出的结果是()
public class P {
public static int abc = 123;
static{
System.out.println("P is init");
}
}
public class S extends P {
static{
System.out.println("S is init");
}
}
public class Test {
public static void main(String[] args) {
System.out.println(S.abc);
}
}
不会初始化子类的几种
- 调用的是父类的static方法或者字段
- 调用的是父类的final方法或者字段
- 通过数组来引用
5、关于Histroy对象的属性或方法
History 属于浏览器对象:
length
:URL 数量
go
:加载 history 列表中某个具体页面
back
:加载 history 列表中前一个 URL
forward
:加载 history 列表中下一个 URL
浏览器对象包含:Window、Navigator、Location、History、Screen
6、假如某个JAVA进程的JVM参数配置如下:
-Xms1G
-Xmx2G
-Xmn500M
-XX:MaxPermSize=64M
-XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3
,请问eden区最终分配的大小是多少?
解析:
例题:-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M
-XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,
-Xms1G 设置Java堆最小值为1G
-Xmx2G 设置Java堆最大值为2G
-Xmn500M 设置新生代大小为500M(一个Eden区,两个Survivor区)
-XX:MaxPermSize=64M 设置永久代大小为64M
-XX:+UseConcMarkSweepGC 设置使用CMS收集器
-XX:SurvivorRatio=3 设置Eden区与Survivor区大小的比例
本题看新生代大小,新生代为500M,三个区比例为3:1:1,很容易计算出Eden大小为300M