首页 > 编程语言 >Java基础练习题-错题集(三)

Java基础练习题-错题集(三)

时间:2022-08-24 22:44:52浏览次数:65  
标签:练习题 选项 Java String System 错题 线程 final out

(1)我们在程序中经常使用“System.out.println()”来输出信息,语句中的System是包名,out是类名,println是方法名。

选项:

A. 对

B. 错

 

(2)以下哪些继承自 Collection 接口()

选项:

A. List

B. Set

C. Map

D. Array

(3)下列哪些情况下会导致线程中断或停止运行()

选项:

A. 抛出InterruptedException异常

B. 线程调用了wait方法

C. 当前线程创建了一个新的线程

D. 高优先级线程进入就绪状态

(4)以下说法中正确的有?

选项:

A. StringBuilder是 线程不安全的

B. Java类可以同时用 abstract和final声明

C. HashMap中,使用 get(key)==null可以 判断这个Hasmap是否包含这个key

D. volatile关键字不保证对变量操作的原子性

 

=========================================解题思路=================================

(1)正确答案:B

System是java.lang中的类,out为System中的一个静态成员,out是java.io.PrintStream类的对象,而println()是java.io.PrintStream类的方法,所有可以调用类.静态方法.println()方法。

public final class System {
    public final static InputStream in = null;
    public final static PrintStream out = null;
}

(2)正确答案:A B

集合常考点:

 

(3)正确答案:AB

A 选项:Interrupt 确实会导致线程中断,备注点:若换一种说法 捕获到异常就代表线程不会中断和停止

B 选项:线程调用 wait()方法,释放了锁,会强制导致当前正在执行的线程中断,需要 notify()或 notifyall()来“唤醒“

C 选项:当线程创建一个新的线程时,CPU 时间片不会剥夺当前线程运行的“权利”

D 选项:当高优先级线程进入就绪状态,也需要等待当前线程的运行结束才可以继续运行,此时当前线程处于运行中 RUBBABLE 状态中的 READY 就绪态

(4)正确答案:AD

A选项:

首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String

String最慢的原因 String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。

String:适用于少量的字符串操作的情况; 

StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况;

StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况

在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的

B选项:abstract修饰的类是抽象类,是可以继承的,而final修饰的类表示不能再被继承,故肯定不能共同使用。故B错

C选项:HashMap中提供的get(key)获取的是变量,无法判断是否存在key。所以C是错的

 

 D选项:volatile关键字是一种轻量级的同步机制,只保证数据的可见性,而不保证数据的原子性。故D对

volatile关键字的作用可参考:https://blog.csdn.net/xinghui_liu/article/details/124379221

 

标签:练习题,选项,Java,String,System,错题,线程,final,out
From: https://www.cnblogs.com/taoxw/p/16622533.html

相关文章

  • java网络编程
    网络编程是指编写运行在计算机的程序,这些设备都通过网络连接起来。要实现网络通信,我们要考虑几个问题:1.如何建立两个节点(电脑)之间的网络连接?2.如何向另外一个节点(电脑)......
  • 盒子模型、 浮动布局、定位属性、 z-index、JavaScript基础语法
    今日内容概要盒子模型浮动布局定位属性z-indexJavaScript基础语法今日内容详细盒子模型所有的标签都可以看成是一个快递盒1.外边距(margin):指标签之间的距离(......
  • java死锁(Java-level deadlock)
    java-leveldeadlock如下代码可以模拟java死锁。注意:当出现死锁时,应用程序是无响应的。错误信息:FoundoneJava-leveldeadlock:============================="Thread-1......
  • JavaScript知识-简介、语言规范、语言基础
    目录JavaScript简介1.ECMAScript和JavaScript的关系2.JavaScript语言3.HTML、CSS、JavaScriptJavaScript基础之语言规范1.如何使用?2.注释3.结束符JavaScript语言基础1.Java......
  • day25--Java集合08
    Java集合0815.HashTable15.1HashTable的基本介绍存放的元素是键值对:即K-VHashTable的键和值都不能为nullHashTable的使用方法基本上和HashMap一样HashTable是线程安......
  • java学习笔记014 枚举类
    1.比较器Comparable接口自然排序 @Override publicintcompareTo(Tt){ //自定义比较规则 //要求:this>t,返回正整数 // this==t,返回0 // this<t,返......
  • javaWeb-HTML
    HTML基础标签字体大小(<h1>---<h6>)<h1>我是h1</h1><h2>我是h1</h2><h3>我是h1</h3><h4>我是h1</h4><h5>我是h1</h5><h6>我是h1</h6>换行<hr>......
  • jpaJAVASql
    QCarInfoqCarInfo=QCarInfo.qCarInfo;BooleanExpressionexpression=qCarInfo.valid.eq(true);if(StringUtils.isNotEmpty(carListPCInput......
  • java关于程序流程控制
    java流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构分支结构循环结构 顺序结构:程序从上到下逐行地执行,中间没有任何判断和跳转。分支结构:根......
  • HTML编辑器粘贴图片自动上传到服务器(Java版)
    ​如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-......