2024年Java最新Java小题精炼训练营(篇三),闭关在家37天“吃透”这份345页PDF

总结

其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。

这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来

目录:

部分内容截图:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

如果第7行换成t.start()方法,答案就应该选择c,因为t.start()后,线程变为就绪状态,什么时候开始执行时不确定的,可能是主程序先继续执行,也可能是新线程先执行。

B

5、在Java中,以下数据类型中,需要内存最多的是()

byte

long

Object

int

Object 是引用数据类型,只申明而不创建实例,只会在栈内存中开辟空间,默认为空,空占1 bit.

byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。

short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。

int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。

long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。

float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。

double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。

boolean:只有true和false两个取值。

char:16位,存储Unicode码,用单引号赋值。

B

6、以下多线程对int型变量x的操作,哪个不需要进行同步(    )

x=y;

x++;

++x;

x=1;

A.由于y的值不确定,所以要加锁;

B,C 两个在多线程情况下是必须要加锁的,因为他们是先被读入寄存器,然后再进行+1操作,如果没有加锁,那么可能会出现数据异常;

D 原子操作,所以不需要加锁

原子性:指该操作不能再继续划分为更小的操作。

Java中的原子操作包括:

1、除long和double之外的基本类型的赋值操作

2、所有引用reference的赋值操作

3、java.concurrent.Atomic.* 包中所有类的一切操作

D

7、如果一个接口Glass有个方法setColor(),有个类BlueGlass实现接口Glass,则在类BlueGlass中正确的是?  ( )

protected void setColor() { …}

void setColor() { …}

public void setColor() { …}

以上语句都可以用在类BlueGlass中

接口中只能有常量,是public static final的,方法不写默认是 public abstract的

这题就考了两个点:

1. 虽然JDK8接口中可以有static或者default修饰的方法,但是这两种方法必须有方法体。同时接口中的方法默认还是public abstract的

2. 类对接口的实现,其实体现了多态性,因为类需要重写接口中所有的抽象方法。而重写需要满足两同两小一大:

1. 方法名和形参列表一致。

2. 重写方法的返回值(引用类型)和抛出的异常,必须是被重写方法的子类或者和被重写方法一样。一旦返回值是基本数据类型,那么重写方法和被重写方法必须一致。

3. 重写方法的访问修饰符大于等于被重写方法的访问修饰符。

C

8、下面论述正确的是()?

如果两个对象的hashcode相同,那么它们作为同一个HashMap的key时,必然返回同样的值

如果a,b的hashcode相同,那么a.equals(b)必须返回true

对于一个类,其所有对象的hashcode必须不同

如果a.equals(b)返回true,那么a,b两个对象的hashcode必须相同

hashcode和equals的约定关系如下:

1.equals()相等的两个对象他们的hashCode()肯定相等,也就是用equals()对比是绝对可靠的。

2.hashCode()相等的两个对象他们的equal()不一定相等,也就是hashCode()不是绝对可靠的。

D

9、protected访问权限要小于包访问权限。(  )

正确

错误

Java类成员的访问控制权限:

public > protected > 同包(default) > private

B

11、下列说法错误的是

虚拟机中没有泛型,只有普通类和普通方法

所有泛型类的类型参数在编译时都会被擦除

创建泛型对象时请指明类型,让编译器尽早的做参数检查

泛型的类型擦除机制意味着不能在运行时动态获取List中T的实际类型

1、创建泛型对象的时候,一定要指出类型变量T的具体类型。争取让编译器检查出错误,而不是留给JVM运行的时候抛出类不匹配的异常。 2、JVM如何理解泛型概念 —— 类型擦除。事实上,JVM并不知道泛型,所有的泛型在编译阶段就已经被处理成了普通类和方法。 处理方法很简单,我们叫做类型变量T的擦除(erased) 。 总结:泛型代码与JVM ① 虚拟机中没有泛型,只有普通类和方法。 ② 在编译阶段,所有泛型类的类型参数都会被Object或者它们的限定边界来替换。(类型擦除) ③ 在继承泛型类型的时候,桥方法的合成是为了避免类型变量擦除所带来的多态灾难。 无论我们如何定义一个泛型类型,相应的都会有一个原始类型被自动提供。原始类型的名字就是擦除类型参数的泛型类型的名字。

D

12、下面哪些情况会引发异常:

数组越界

指定URL不存在

使用throw语句抛出

使用throws语句

throws 和 throw:

throws出现在方法头,表示可能会出现异常;

throw是在方法体,抛出了异常,执行throw则一定抛出了某种异常

throws表示出现异常的一种可能性,并不一定会发生异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。两者都是消极的异常处理方式,只是抛出或者可能抛出异常,是不会由函数处理,真正的处理异常由它的上层调用处理。

ABC

13、下面有关Java的说法正确的是(         )

一个类可以实现多个接口

抽象类必须有抽象方法

protected成员在子类可见性可以修改

通过super可以调用父类构造函数

final的成员方法实现中只能读取类的成员变量

String是不可修改的,且java运行环境中对string对象有一个常量池保存

A对:java类单继承,多实现

B错:被abstract修饰的类就是抽象类,有没有抽象方法无所谓

C错:描述有问题。protected成员在子类的可见性,我最初理解是子类(不继承父类protected成员方法)获取父类被protected修饰的成员属性或方法,可见性是不可能变的,因为修饰符protected就是描述可见性的。

这道题应该是要考察子类继承父类,并重写父类的protected成员方法,该方法的可见性可以修改,这是对的,因为子类继承父类的方法,访问权限可以相同或往大了改

D对。

E错:final修饰的方法只是不能重写,static修饰的方法只能访问类的成员变量

F对。

ACDF

14、有关线程的叙述正确的是()

可以获得对任何对象的互斥锁定

通过继承Thread类或实现Runnable接口,可以获得对类中方法的互斥锁定

线程通过使用synchronized关键字可获得对象的互斥锁定

线程调度算法是平台独立的

线程的互斥锁机制:synchronized,lock,condition

线程调度分为协同式调度和抢占式调度,Java使用的是抢占式调度,也就是每个线程将由操作系统来分配执行时间,线程的切换不由线程本身来决定(协同式调度)。这就是平台独立的原因。

CD

15、下列代码片段中,存在编译错误的语句是()

byte b1=1,b2=2,b3,b6,b8;

final byte b4=4,b5=6,b7;

b3=(b1+b2); /语句1/

b6=b4+b5; /语句2/

b8=(b1+b4); /语句3/

b7=(b2+b5); /语句4/

System.out.println(b3+b6);

语句2

语句1

语句3

语句4

Java表达式转型规则由低到高转换

最后

由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!

小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

5); /语句4/

System.out.println(b3+b6);

语句2

语句1

语句3

语句4

Java表达式转型规则由低到高转换

最后

由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!

[外链图片转存中…(img-u7E5xQ24-1714916442854)]

小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》

[外链图片转存中…(img-4lSje3lz-1714916442854)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值