每日五道笔试小题-2020-9-15

每日五道笔试小题-2020-9-15

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

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

正确答案: C 你的答案: C (正确)

public String NAME="default";
public static String NAME="default";
public static final String NAME="default";
private String NAME="default";
  1. 执行如下代码段后,变量s1引用的字符串值是( )。*
String s1 =   "ABCD"; 
   String s2 =   "1234"; 
System.out.println(s1   + s2);         

正确答案: A 你的答案: A (正确)

ABCD
1234
ABCD1234
1234ABCD

解析:

因为 String 是不可变类型,是存储在常量字符区的, 所以答案是ABCD。

static String str0="0123456789";
static String str1="0123456789";
String str2=str1.substring(5);
String str3=new String(str2);
String str4=new String(str3.toCharArray());
str0=null;   

假定str0,…,str4后序代码都是只读引用。

Java 7中,以上述代码为基础,在发生过一次FullGC后,上述代码在Heap空间(不包括PermGen)保留的字符数为()

​ 正确答案: C 你的答案: A (错误)

5
10
15
20

解析1:

应该是C

substring实际是new,5字符

str3和4也都是new,每个5字符

分别都会创建新的对象

常量池是PermGen的

因此应该是一共15字符

解析2:

这是一个关于java的垃圾回收机制的题目。垃圾回收主要针对的是堆区的回收,因为栈区的内存是随着线程而释放的。堆区分为三个区:年轻代(Young Generation)、年老代(Old Generation)、永久代(Permanent Generation,也就是方法区)。

年轻代:对象被创建时(new)的对象通常被放在Young(除了一些占据内存比较大的对象),经过一定的Minor GC(针对年轻代的内存回收)还活着的对象会被移动到年老代(一些具体的移动细节省略)。

年老代:就是上述年轻代移动过来的和一些比较大的对象。Minor GC(FullGC)是针对年老代的回收

永久代:存储的是final常量,static变量,常量池。

str3,str4都是直接new的对象,而substring的源代码其实也是new一个string对象返回,如下图:

经过fullgc之后,年老区的内存回收,则年轻区的占了15个,不算PermGen。所以答案选C

在Java中,关于HashMap类的描述,以下正确的是 ()

​ 正确答案: A C D 你的答案: A D (错误)

HashMap使用键/值得形式保存数据
HashMap 能够保证其中元素的顺序
HashMap允许将null用作键
HashMap允许将null用作值
Map集合类keyvalue
HashMap允许为null允许为null
TreeMap不允许为null允许为null
ConcurrentMap不允许为null不允许为null
HashTable不允许为null不允许为null

JDK提供的用于并发编程的同步器有哪些?

​ 正确答案: A B C 你的答案: B C (错误)

Semaphore
CyclicBarrier
CountDownLatch
Counter

解析:

答案:ABC
A,Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。
B,CyclicBarrier 主要的方法就是一个:await()。await() 方法没被调用一次,计数便会减少1,并阻塞住当前线程。当计数减至0时,阻塞解除,所有在此 CyclicBarrier 上面阻塞的线程开始运行。
C,直译过来就是倒计数(CountDown)门闩(Latch)。倒计数不用说,门闩的意思顾名思义就是阻止前进。在这里就是指 CountDownLatch.await() 方法在倒计数为0之前会阻塞当前线程。
D,Counter不是并发编程的同步器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值