java选择题

题目选自牛客网

1.

public interface IService {String NAME="default";}

默认类型等价表示是哪一项:

A.public String NAME="default";

B.public static String NAME="default";

C.public static final String NAME="default";

D.private String NAME="default";

正确答案:C

在 Java 中,接口中的成员变量默认都是 public、static 和 final 的,这意味着它们是公开的、属于类的(而不是属于某个对象的),并且它们的值不能被改变。因此,接口中定义的常量 NAME 的默认类型等价表示就是 public static final String NAME="default";。

单选题

2.下列程序test 类中的变量c 的最后结果为

1

2

3

4

5

6

7

8

9

10

11

public class Test {

    public static void main(String args[]) {

        int a = 10;

        int b;

        int c;

        if (a > 50) {

             b = 9;

        }

        c = b + a;

    }

}


 

A.10

B.0

C.19

D.编译出错

正确答案:D

官方解析:

本题需要注意一点:a、b、c三个变量是定义在方法中的局部变量,使用前必须初始化,否则就会出现错误。

当我们新建一个对象时,Java会在Heap中申请一块内存区域用以存放类的数据。而成员变量就是类的数据,也是放在这块内存区域中的。初始化时只需要JVM在申请内存的时候顺便把整块区域都置为零即可完成。所以JVM会自动帮我们完成全局变量的初始化。

对于方法的局部变量,是在线程的Stack中,虽然Stack可以帮我们完成初始化,但这样是存在问题的,比如有些局部变量,在方法的一开始是没有的,有些在循环中的局部变量是要反复的声明多次的。有些局部变量作用域结束后,另一个局部变量又会占用这个局部变量的位置。

局部变量不自动初始化是一种约束,它会尽最大程度减少使用者犯错的可能。假使局部变量可以使用默认值,可能总会无意间忘记赋值,进而导致不可预期的情况出现。

单选题

3.以下选项中循环结构合法的是:

A.while(int i<7){i++;System.out.println("i is "+i);}

B.int j=3;while(j){ System.out.println("j is "+j);}

C.int j=0;for(int k=0;j+k!=10;j++,k++){System.out.println("j is "+j+"k is" +k);}

D.int j=0; do{System.out.println("j is "+j++);if(j==3){continue loop;}}while(j<10);

正确答案:C

单选题

4.假如某个JAVA进程的JVM参数配置如下:
-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,
请问eden区最终分配的大小是多少?

A.64M

B.500M

C.300M

D.100M

正确答案:C

官方解析:先分析一下里面各个参数的含义: 
-Xms:1G , 就是说初始堆大小为1G 
-Xmx:2G , 就是说最大堆大小为2G 
-Xmn:500M ,就是说年轻代大小是500M(包括一个Eden和两个Survivor) 
-XX:MaxPermSize:64M , 就是说设置持久代最大值为64M 
-XX:+UseConcMarkSweepGC , 就是说使用使用CMS内存收集算法 
-XX:SurvivorRatio=3 , 就是说Eden区与Survivor区的大小比值为3:1:1
题目中所问的Eden区的大小是指年轻代的大小,直接根据-Xmn:500M和-XX:SurvivorRatio=3可以直接计算得出
500M*(3/(3+1+1)) 
=500M*(3/5) 
=500M*0.6 
=300M  
所以Eden区域的大小为300M。

 

多选题

5.以下哪个不能用来处理线程安全

A.synchronized关键字

B.volatile关键字

C.Lock类

D.transient关键字

正确答案:BD

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值