Java错题集(十六)

2023-05-16

目录

在第16行插入哪段代码可以获得一个Point对象的坐标?(  )

下面说法正确的是?()

如果此类已编译并运行,则哪两个语句正确?

true、false、null、sizeof、goto、synchronized 哪些是Java关键字?

子类要调用继承自父类的方法,必须使用super关键字。

下面程序的运行结果()

下列代码执行结果为()

如何获取ServletContext设置的参数值?

What is displayed when the following is executed;

说明输出结果。

下列说法正确的是()?

假设如下代码中,若t1线程在t2线程启动之前已经完成启动。代码的输出是()

Java 提供的事件处理模型是一种人机交互模型。它有三个基本要素


10. class Line {
11. public class Point { public int x,y;}
12. public Point getPoint() { return new Point(); }
13. }
14. class Triangle {
15. public Triangle() {
16. // insert code here
17. }
18. }


在第16行插入哪段代码可以获得一个Point对象的坐标?(  )

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


Point p = Line.getPoint();  

Line.Point p = Line.getPoint();  

Point p = (new Line()).getPoint();  

Line.Point p = (new Line()).getPoint();  

来源:https://www.nowcoder.com/questionTerminal/8493a4d55d3846cab086640e1cbafcff

 

下面说法正确的是?()

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


调用Thread的sleep()方法会释放锁,调用wait()方法不释放锁  

一个线程调用yield方法,可以使具有相同优先级线程获得处理器  

在Java中,高优先级的可运行的线程会抢占低优先级线程的资源  

java中,线程可以调用yield方法使比自己低优先级的线程运行  

来源:https://www.nowcoder.com/questionTerminal/cbed0fb768d4493f9c88f09a0e686693

还记得马老师说过,yiled方法属于高风亮节的行为,这个坑位我不上了,后面跟我同级别的先上厕所。这样比较好记!

高优先级的就是你们的县长,县长要上厕所,对不起,你得出来,县长先上,县长上完了,CPU分配到你了,你才能继续拉X。

 

是让优先级大于等于的其他线程获得同等运行的机会,具体是谁抢到就说不定了。或者说使用yield()就是使自己和优先级大于等于自己的线程回到同一起跑线,然后就不能保证谁一定跑得快到达终点获得执行权了。

 

public class NameList
{
    private List names = new ArrayList();
    public synchronized void add(String name)
    {
        names.add(name);
    }
    public synchronized void printAll()     {
        for (int i = 0; i < names.size(); i++)
        {
            System.out.print(names.get(i) + ””);
        }
    }
 
    public static void main(String[]args)
    {
        final NameList sl = new NameList();
        for (int i = 0; i < 2; i++)
        {
            new Thread()
            {
                public void run()
                {
                    sl.add(“A”);
                    sl.add(“B”);
                    sl.add(“C”);
                    sl.printAll();
                }
            } .start();
        }
    }
}

如果此类已编译并运行,则哪两个语句正确?

正确答案: E G   你的答案: D G (错误)


运行时可能会引发异常。  

该代码可能没有输出就运行,而没有退出。  

该代码可能无输出运行,并正常退出。  

该代码可能会在输出“ ABABCC”的情况下发出声音,然后退出。  

该代码可能会显示“ ABCABCABC”,然后退出。  

该代码可能会破坏输出“ AAABCABCC”,然后退出。  

该代码可能会破坏输出“ ABCAABCABC”,然后退出。  

来源:https://www.nowcoder.com/questionTerminal/25deb8d21e7d442e86c90302d6e03133

每个线程中都是顺序执行的,所以sl.printAll();必须在前三句执行之后执行,也就是输出的内容必有(连续或非连续的)ABC。

而线程之间是穿插执行的,所以一个线程执行 sl.printAll();之前可能有另一个线程执行了前三句的前几句。

E答案相当于线程1顺序执行完然后线程2顺序执行完。

G答案则是线程1执行完前三句add之后线程2插一脚执行了一句add然后线程1再执行 sl.printAll();输出ABCA。接着线程2顺序执行完输出ABCABC

输出加起来即为ABCAABCABC。

 

true、false、null、sizeof、goto、synchronized 哪些是Java关键字?

正确答案: E F   你的答案: C D E F (错误)


true  

false  

null  

sizeof  

goto  

synchronized  

来源:https://www.nowcoder.com/questionTerminal/dc5651a872ff44a187afd7034a1708ba

 

子类要调用继承自父类的方法,必须使用super关键字。

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


正确  

错误  

来源:https://www.nowcoder.com/questionTerminal/a1aafec6367449079de0ffa6ed9e64b5

1、子类构造函数调用父类构造函数用super

2、子类重写父类方法后,若想调用父类中被重写的方法,用super

3、未被重写的方法可以直接调用。

 

下面程序的运行结果()

Object obj=new Object();
List aList=new ArrayList();
List bList=new LinkedList();
         
long t1=System.currentTimeMillis();
for(int i=0;i<50000;i++){
    aList.add(0,obj);
}
long t2=System.currentTimeMillis()-t1;
         
t1=System.currentTimeMillis();
for(int i=0;i<50000;i++){
    bList.add(0,obj);
}
long t3=System.currentTimeMillis()-t1; 

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


t2
  

t2=t3  

不确定  

t2>t3  

来源:https://www.nowcoder.com/questionTerminal/22a15ba9381845e9b225e9d393d5c028

ArrayList内部是动态数组实现,在增加空间时会复制全部数据到新的容量大一些的数组中。

而LinkedList内部为双向链表,可以按需分配空间,扩展容量简单,因此LinkedList用时少。

 

下列代码执行结果为()

public static void main(String args[])throws InterruptedException{
            Thread t=new Thread(new Runnable() {
                public void run() {
                    try {
                        Thread.sleep(2000);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                    System.out.print("2");
                }
            });
            t.start();
             
            t.join();
            System.out.print("1");
        }

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


21  

12  

可能为12,也可能为21  

以上答案都不对  

来源:https://www.nowcoder.com/questionTerminal/9b791ef55f5d479aa91172a2a763913e

因为子线程的休眠时间太长,因此主线程很有可能在子线程之前结束也就是输出结果是12,但是子线程用了join函数,因此主线程必须等待子线程执行完毕才结束因此输出结果只能是21

 

 

如何获取ServletContext设置的参数值?

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


context.getParameter()  

context.getInitParameter()  

context.getAttribute()  

context.getRequestDispatcher()  

来源:https://www.nowcoder.com/questionTerminal/5b73597e04f4443f9ae21973be6b10f2

getParameter()是获取POST/GET传递的参数值;
getInitParameter获取Tomcat的server.xml中设置Context的初始化参数

getAttribute()是获取对象容器中的数据值;
getRequestDispatcher是请求转发。

 

What is displayed when the following is executed;

double d1=-0.5;

System.out.println("Ceil d1="+Math.ceil(d1));

System.out.println("floor d1="+Math.floor(d1));

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


Ceil d1=-0.0
floor d1=-1.0  

Ceil d1=0.0
floor d1=-1.0  

Ceil d1=-0.0
floor d1=-0.0  

Ceil d1=0.0
floor d1=0.0  

Ceil d1=0
floor d1=-1  

来源:https://www.nowcoder.com/questionTerminal/d44fe32902d44b178685d76a9c56ec27

ceil:大于等于 x,并且与它最接近的整数。

floor:小于等于 x,且与 x 最接近的整数。



至于为什么是-0.0,而不是0.0,因为源码注释:&ldquo;If the argument value is less than zero but greater than -1.0, then the result is negative zero &rdquo;

,翻译过来就是:如果参数是-1.0到0.0之间的数,结果是-0.0。

 

说明输出结果。

package test;
import java.util.Date; 
public class SuperTest extends Date{ 
    private static final long serialVersionUID = 1L; 
    private void test(){ 
       System.out.println(super.getClass().getName()); 
    } 
      
    public static void main(String[]args){ 
       new SuperTest().test(); 
    } 
}

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


SuperTest  

SuperTest.class  

test.SuperTest  

test.SuperTest.class  

来源:https://www.nowcoder.com/questionTerminal/35a08d98faba40e6a8946fcb88c6c091

TestSuper和Date的getClass都没有重写,他们都是调用Object的getClass,而Object的getClass作用是返回的是运行时的类的名字。这个运行时的类就是当前类,所以


super.getClass().getName()  

返回的是test.SuperTest,与Date类无关

要返回Date类的名字需要写super.getClass().getSuperclass()

完整路径名要加上包名

 

下列说法正确的是()?

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


对于局部内部类,只有在方法的局部变量被标记为final或局部变量是effctively final的,内部类才能使用它们  

成员内部类位于外部类内部,可以直接调用外部类的所有方法(静态方法和非静态方法)  

由于匿名内部类只能用在方法内部,所以匿名内部类的用法与局部内部类是一致的  

静态内部类可以直接访问外部类的非静态成员  

来源:https://www.nowcoder.com/questionTerminal/e081f2dcd1864be0ab6ddc7be153e0d6

 

假设如下代码中,若t1线程在t2线程启动之前已经完成启动。代码的输出是()

public static void main(String[]args)throws Exception {
    final Object obj = new Object();
    Thread t1 = new Thread() {
        public void run() {
            synchronized (obj) {
                try {
                    obj.wait();
                    System.out.println("Thread 1 wake up.");
                } catch (InterruptedException e) {
                }
            }
        }
    };
    t1.start();
    Thread.sleep(1000);//We assume thread 1 must start up within 1 sec.
    Thread t2 = new Thread() {
        public void run() {
            synchronized (obj) {
                obj.notifyAll();
                System.out.println("Thread 2 sent notify.");
            }
        }
    };
    t2.start();
}

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


Thread 1 wake up
Thread 2 sent notify.  

Thread 2 sent notify.
Thread 1 wake up  

A、B皆有可能  

程序无输出卡死  

来源:https://www.nowcoder.com/questionTerminal/a804e21b00d4464faf4e9bbe3a7e2df4

notify()就是对对象锁的唤醒操作。

但有一点需要注意的是notify()调用后,并不是马上就释放对象锁的,而是在相应的synchronized(){}语句块执行结束,自动释放锁后

JVM会在wait()对象锁的线程中随机选取一线程,赋予其对象锁,唤醒线程,继续执行。

这样就提供了在线程间同步、唤醒的操作。

 

Java 提供的事件处理模型是一种人机交互模型。它有三个基本要素

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


事件源  

事件对象  

事件过程  

事件监听器  

来源:https://www.nowcoder.com/questionTerminal/4edff4d82fa341ad9d8301cacc878b48

Java   提供的事件处理模型是一种人机交互模型。它有三个基本要素:

1) 事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件;

2) 事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等;

3) 事件监听器(Event Listener):负责监听事件源上发生的特定类型的事件,当事件到来时还必须负责处理相应的事件;

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java错题集(十六) 的相关文章

随机推荐

  • 【HQL - 查询用户的累计消费金额及VIP等级】

    水善利万物而不争 xff0c 处众人之所恶 xff0c 故几于道 x1f4a6 题目 xff1a 从订单信息表 order info 中统计每个用户截止其每个下单日期的累积消费金额 xff0c 以及每个用户在其每个下单日期的VIP等级 用户
  • HQL - 查询首次下单后第二天连续下单的用户比率

    水善利万物而不争 xff0c 处众人之所恶 xff0c 故几于道 x1f4a6 题目 xff1a 从订单信息表 order info 中查询首次下单后第二天仍然下单的用户占所有下单用户的比例 xff0c 结果保留一位小数 xff0c 使用百
  • HQL- 统计每个商品的销量最高的日期

    水善利万物而不争 xff0c 处众人之所恶 xff0c 故几于道 x1f4a6 题目 xff1a 从订单明细表 xff08 order detail xff09 中统计出每种商品销售件数最多的日期及当日销量 xff0c 如果有同一商品多日销
  • HQL - 查询销售件数高于品类平均数的商品

    水善利万物而不争 xff0c 处众人之所恶 xff0c 故几于道 x1f4a6 题目 xff1a 从订单明细表 xff08 order detail xff09 中查询累积销售件数高于其所属品类平均数的商品 span class token
  • HQL - 用户注册、登录、下单综合统计

    水善利万物而不争 xff0c 处众人之所恶 xff0c 故几于道 x1f4a6 题目 xff1a 从用户登录明细表 xff08 user login detail xff09 和订单信息表 xff08 order info xff09 中查
  • 博客帮助文档

    目录 博客积分规则 博客等级 C币规则 xff08 试运营 xff09 博客VIP文章说明 博客专家 如何成为博客专家 xff1f 企业博客 如何开通企业博客 博客勋章 分类专栏 博客搬家 CSDN博客用户准则 总则 xff1a 博客注册
  • CentOS7关闭防火墙

    CentOS7关闭防火墙 1 命令行界面输入命令 34 systemctl status firewalld service 34 并按下回车键 systemctl status firewalld service 2 然后在下方可度以查看
  • CSS高度塌陷问题及解决方法

    触发条件 包含结构 所有的子元素浮动 且父元素没有设置高度 就会触发父元素高度塌陷 例如 xff1a 解决方法一 xff1a 给父元素添加固定高度 缺点 不适合高度自适应的布局 代码 xff1a lt style gt margin 0 p
  • Casbin学习笔记

    基础知识 相关概念介绍 casbin相关概念 casbin是一个开源的访问控制框架 xff0c 支持多种访问控制模型 xff0c 例如ACL xff0c RBAC xff0c ABAC casbin将支持的模型抽象出一种perm访问控制模型
  • v-model --双向数据绑定

    span class token doctype lt DOCTYPE html gt span span class token tag span class token tag span class token punctuation
  • 【报错解决】Cannot convert a symbolic Tensor to a numpy array.

    完整的报错 xff1a NotImplementedError span class token punctuation span Cannot convert a symbolic Tensor span class token punc
  • ChatGPT系列之——中科院AcademicGPT学术优化

    文章目录 零 xff0c 指南相关网址友情链接 一 xff0c 安装Git软件二 xff0c 使用Git Bash克隆GitHub项目 xff1a 三 xff0c 配置config py文件四 xff0c 安装依赖方法一 xff1a 系统安
  • 根据变量设置card是否可点击;解构赋值重命名、添加新的字段

    问题分析 需要对解构赋值得来的变量重命名 span class token variable const span span class token punctuation span span class token variable at
  • JS策略模式_优化代码实例

    策略模式 策略模式 xff1a 定义一系列的算法 xff0c 把它们一个个封装起来 xff0c 并且使它们可以相互替换 将不变的部分和变化的部分隔开是每个设计模式的主题 xff0c 策略模式也不例外 xff0c 策略模式的目的就是将算法的使
  • 颜色的单位

    直观的颜色单位 在css可以直接使用颜色的单词来表示不同的颜色 xff0c 比如 xff0c red xff0c blus xff0c green RGB值 rgb是red xff0c green xff0c blue三元色 光的三元色 通
  • 关于14寸1080p屏幕笔记本Win10系统缩放建议

    这几天买了个新的1080p笔记本屏幕换上之后明显感觉比之前的768p好太多了 xff0c 无论是清晰度还是颜色上都更胜一筹 xff0c 但我开始纠结这个缩放问题了 xff0c 复现下我内心的os吧 选择100 缩放的好处与坏处 好处 同屏显
  • 解决虚拟机CentOS8无法上网的问题

    周五安装的虚拟机 xff0c 然后一直不能上网 xff0c 我查阅了好多资料 xff0c 试了好几次都没用 xff0c 今天终于把它搞好了 记录一下 一 1 首先保证虚拟机的网络适配器为NAT模式 2 设置虚拟机的 编辑 gt 虚拟网络编辑
  • tensorflow2 中tensor转为numpy

    tensorflow2 中tensor转为numpy 第一种使用with import tensorflow as tf Test span class token operator 61 span tf span class token
  • HTML5基础知识(全面)

    1 熟记各大主流浏览器内核版本面试常问哦 浏览器名称内核opera欧朋最初是自己的Presto内核 xff0c 后谷歌Webkit 到BlinkFirefox火狐Gecko内核俗称Firefox内核Chrome谷歌统称为Chromium或B
  • Java错题集(十六)

    目录 在第16行插入哪段代码可以获得一个Point对象的坐标 下面说法正确的是 xff1f xff08 xff09 如果此类已编译并运行 xff0c 则哪两个语句正确 xff1f true false null sizeof goto sy