day_11 刷题日记

1.判断对错。在java的多态调用中,new的是哪一个类就是调用的哪个类的方法。

答案是错误,java多态有两种情况:重载和重写。今天在周志明那本JVM的书籍中正好看到了分派,这个题考的就是相关的内容。

在重写中,运用的是动态单分配,是根据new的类型确定对象,从而确定调用的方法;

在重载中,运用的是静态多分派,即根据静态类型确定对象,因此不是根据new的类型确定调用的方法。

2.设有下面两个赋值语句:下述说法正确的是()D

a = Integer.parseInt("1024");
b = Integer.valueOf("1024").intValue();

a是整数类型变量,b是整数类对象。
a是整数类对象,b是整数类型变量。
a和b都是整数类对象并且它们的值相等。
a和b都是整数类型变量并且它们的值相等。

​ 这个题亲自试了,我才选的D,对Integer的相关方法不大了解。

  • parseInt()是把String 变成int的基础数据类型;
  • Valueof()是把String 转化成Integer对象类型;
  • intValue()是把Integer对象类型变成int的基础数据类型;

3.输出结果为1

String str = "";
System.out.print(str.split(",").length);

​ split方法返回是String数组,数组类型直接用属性length获取长度,所以String[]数组类型应该用length获取长度,不是length()…

public String[] split(String regex) {
        return split(regex, 0);
}

​ 原字符串是空的,没有分隔符,直接返回源字符串,分割出来的是空的字符串数组,空也算是个元素,所以结果是1.

4.当我们需要所有线程都执行到某一处,才进行后面的的代码执行我们可以使用?A

A.CountDownLatch
B.CyclicBarrier
C.Semaphore
D.Future

从牛客网的解析上看到的:CountDownLatch 是等待一组线程执行完,才执行后面的代码。此时这组线程已经执行完。
CyclicBarrier 是等待一组线程至某个状态后再同时全部继续执行线程。此时这组线程还未执行完。

评论区比较倾向于选B,为什么选A也是很迷,这里不追究选啥了,仔细记记CountDownLatch 、CyclicBarrier是干啥的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值