前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java练习本(2019-07-22)

java练习本(2019-07-22)

作者头像
微笑的小小刀
发布2019-07-24 14:31:31
2730
发布2019-07-24 14:31:31
举报
文章被收录于专栏:java技术大本营java技术大本营
昨日翻译

“ Love is the only force capable of transforming an enemy into friend. ”

—— Martin Luther King, Jr.

“爱是把敌人变成朋友的唯一力量。”

——小马丁·路德·金

今日名言

“ To love and win is the best thing. To love and lose, the next best. ”

—— William Makepeace Thackeray

2019.07.21问题及解析

题目
代码语言:javascript
复制
public class Test {
   private List<String> list = new ArrayList<>();

   private synchronized void add(String str){
       list.add(str);
  }

   private synchronized void print(){
       for (String s : list) {
           System.out.print(s);
      }
  }

   public static void main(String[] args) {
       Test test = new Test();
       for(int i = 0; i < 2; i++){
           new Thread(() -> {
               test.add("a");
               test.add("b");
               test.add("c");
               test.print();
          }).start();
      }
  }
}

请问上述代码输出的结果可能为?

A.abcabc

B.abcabcabc

C.abcabcabcabc

D.aabbccaabbcc

E.运行异常

F.编译错误

答案与解析
1.相关知识

多线程同时执行时可能会产生线程冲突

从而使同一个代码产生出多种不同的结果

2.答案解析

main方法中首先new了一个Test对象

通过for循环开启了两个线程均调用test实例的add方法与print方法

按通常的执行结果第一个线程添加a、b、c后输出abc

第二个线程添加a、b、c后输出abcabc

总共输出的结果为abcabcabc

因此线程正常执行最少输出abcabcabc,因此A选项错误

发生线程冲突时可能会在第一个线程添加abc时,第二个线程也进行添加abc

因此可能存在两个线程添加完毕后才开始执行打印,可能为第一个线程每添加一个字母第二个线程也添加一个字母,也可能第一个线程添加完后第二个线程再添加最后两个一起打印,对应的结果即为

abcabc(第一个线程打印)abcabc(第二个线程打印)

aabbcc(第一个线程打印)aabbcc(第二个线程打印)

答案选BCD。

2019.07.22问题

线程——多线程

题目分类

hashcode——作用效果

题目

下列正确的是?

A.如果a.equals(b)为true,那么a,b两个对象hashcode一定相同

B.一个类所有实例的hashcode都不同

C.如果两个对象的hashcode相同,作为同一个HashMap的key时,返回的value一定相同

D.如果a,b两个对象的hashcode相同,a.equals(b)一定为true

重磅推荐

以我手写我心,有位伟人说过,

整理记录是最高效的学习方法

在这里即可一展所学,

不仅可以与同辈交流

还可与前辈过招

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java技术大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 昨日翻译
  • 今日名言
  • 题目
  • 答案与解析
  • 1.相关知识
  • 2.答案解析
  • 题目分类
  • 题目
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档