错题笔记(十题)

本文是Java编程的错题纠正笔记,包含十个题目,涉及instanceof运算符、同步关键字、main方法、abstract关键字、线程控制、异常处理、Spring框架、堆数据结构以及HashMap与HashTable的区别。内容涵盖了Java的基础语法、多线程、异常处理、框架知识等核心概念。
摘要由CSDN通过智能技术生成

错题纠正笔记(一日十题)

Ⅰ、”hello"instanceof Object 的返回值是(B)。

A. “abcd” B.true C.false D.String

解析:

instanceof是Java语言中的一个二元运算符,它的作用是判断一个引用类型的变量所指向的对象是否是一个类(或接口、抽象类、父类)的实例,即它左边的对象是否是它右边类的实例,返boolean类型的数据。

常用的用法为:result= object instanceof class,如果object是class的一个实例,那么instanceof运算符返回true;如果object不是指定类的一个实例,或者object是null,那么,此时返回false.

Ⅱ、以下可以对对象加互斥锁的关键字是(A).

A.synchronized B.serialize C.volatile D.static

解析:

synchronized(同步的)是Java语言的关键字,主要用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块时,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象中的这个加锁同步代码块时,同一时间只能由一个线程执行。

serialize是序列化的意思,所谓对象的序列化指的是把对象转换为字节序列的过程,所谓对象的反序列化指的是把字节序列恢复为对象的过程。通常,对象的序列化主要由以下两种用途:

①将对象的字节序列永久的保存在硬盘上,通常存放在一个文件中。

②在网络上传送对象的字节序列。在Java语言中,序列化通过Serializable接口来实现。

volatile在由Java语言编写的程序中,有时候为了提高程序的运行效率,编译器会做一些优化操作,把经常被访问的变量缓存起来,程序在读取这个变量的时候有可能会直接从寄存器中读取这个值,而不会去内存中读取。这样做的一个好处是提高了程序的运行效率,但当遇到多线程编程时,变量的值可能被其他线程改变了,而该缓存的值不会做相应的改变,从而造成应用程序读取的值和实际的变量值不一致。关键字volatile正好能够解决这一问题,被关键字volatile修饰的变量编译器不会给予优化,每次都会从内存中读取。

static关键字static主要有以下两种作用:第一,为特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。第二,希望某个方法或属性与类而不是

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值