牛客网错题集(8.9)

牛客网刷题错题集(8.9)

时间:8月9日记一次牛客网刷题错题集。

接口不能扩展(继承)多个接口。( )

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

java类是单继承的。classB Extends classA
java接口可以多继承。Interface3 Extends Interface0, Interface1, interface……
        不允许类多重继承的主要原因是,如果A同时继承B和C,而b和c同时有一个D方法,A如何决定该继承那一个呢?
        但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。

下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?

正确答案: B 你的答案: C (错误)
A.实例变量指的是类中定义的变量,即成员变量,如果没有初始化,会有默认值。
B.局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值
C.类变量指的是用static修饰的属性
D.final变量指的是用final 修饰的变量
答案解析:

局部变量是指类方法中的变量,必须初始化。局部变量运行时被分配在栈中,量大,生命周期短,如果虚拟机给每个局部变量都初始化一下,是一笔很大的开销,但变量不初始化为默认值就使用是不安全的。出于速度和安全性两个方面的综合考虑,解决方案就是虚拟机不初始化,但要求编写者一定要在使用前给变量赋值。

以下哪些类是线程安全的()

正确答案: A D E 你的答案: A D (错误)
A.Vector
B.HashMap
C.ArrayList
D.StringBuffer
E.Properties
答案解析:

A,Vector相当于一个线程安全的List
B,HashMap是非线程安全的,其对应的线程安全类是HashTable
C,Arraylist是非线程安全的,其对应的线程安全类是Vector
D,StringBuffer是线程安全的,相当于一个线程安全的StringBuilder
E,Properties实现了Map接口,是线程安全的

关于Java的一些概念,下面哪些描述是正确的:( )

正确答案: B F 你的答案: A B D F (错误)
A.所有的Java异常和错误的基类都是java.lang.Exception, 包括java.lang.RuntimeException
B.通过try … catch … finally语句,finally中的语句部分无论发生什么异常都会得到执行
C.java中所有的数据都是对象
D.Java通过垃圾回收回收不再引用的变量,垃圾回收时对象的finallize方法一定会得到执行
E.Java是跨平台的语言,无论通过哪个版本的Java编写的程序都能在所有的Java运行平台中运行
F.Java通过synchronized进行访问的同步,synchronized作用非静态成员方法和静态成员方法上同步的目标是不同的
答案解析:

A.错误(Error)的基类是Throwable
C.基本类型不是对象
D.垃圾回收器并不总是工作,只有当内存资源告急时,垃圾回收器才会工作;即使垃圾回收器工作,finalize方法也不一定得到执行,这是由于程序中的其他线程的优先级远远高于执行finalize()函数线程的优先级。(这是楼下的答案)
E.低版本JRE无法运行高版本JRE

关于下面一段代码,以下说法正确的是: ()

public class Test {
   
    private synchronized void a() {
   
    }
    private void b() {
   
        synchronized (this) {
   
        }
    }
    private synchronized static void c() {
   
    }
    private void d() {
   
        synchronized (Test.class) {
   
        }
    }
}

正确答案: A C 你的答案: B C (错误)
A.同一个对象,分别调用方法a和b,锁住的是同一个对象
B.同一个对象,分别调用方法a和c,锁住的是同一个对象
C.同一个对象,分别调用方法b和c,锁住的不是同一个对象
D.同一个对象,分别调用方法a、b、c,锁住的不是同一个对象
答案解析:

同步代码块(synchronized(this),synchronized(类实例对象),锁是小括号()中的实例对象)
同步非静态方法(synchronized method),锁的是当前对象的实例对象
获取类锁
同步代码块(synchronized(类.class)),锁是最小括号 () 中的类对象(Class对象)
同步静态方法(synchronized static method),锁是当前对象的类对象(Class 对象)
总结
有线程访问对象的同步代码块时,另外的线程可以访问该对象的非同步代码块
若锁住的是同一个对象,一个线程在访问对象的同步代码块时,另一个访问对象的同步代码块的线程会被阻塞。
若锁住的是同一个对象,一个线程在访问对象的同步方法时,另一个访问对象的同步方法的线程会被阻塞。
若锁住的是同一个对象,一个线程在访问对象的同步代码块时,另一个访问对象同步方法的线程会被阻塞,反之亦然。
同一个类的不同对象的锁互不干扰
类锁由于也是一种特殊的对象锁,因此表现和上述一致,而由于一个类只有一把对象锁,所以同一个类的不同对象使用类锁将会是同步的
类锁和对象锁互不干扰

总结

不积硅步无以至千里,不积小流无以成江海。
全部评论

相关推荐

来个厂收我吧:首先,市场侧求职我不是很懂。 但是,如果hr把这份简历给我,我会觉得求职人不适合做产品经理。 问题点: 1,简历的字体格式不统一,排版不尽如人意 2,重点不突出,建议参考star法则写个人经历 3,印尼官方货币名称为印度尼西亚卢比(IDR),且GMV690000印尼盾换算为305人民币,总成交额不高。 4,右上角的意向职位在发给其他公司时记得删除。 5,你所有的经历都是新媒体运营,但是你要投市场营销岗位,jd和简历不匹配,建议用AI+提示词,参照多个jd改一下经历内容。 修改建议: 1,统一字体(中文:思源黑体或微软雅黑,英文数字:time new romans),在word中通过表格进行排版(b站学) 2,校招个人经历权重:实习经历=创业经历(大创另算)>项目经历>实训经历>校园经历 3,请将项目经历时间顺序改为倒序,最新的放最上方。 4,求职方向不同,简历文字描述侧重点也需要不同。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务