欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

牛客网专项练习(四)——选择题(错题)

程序员文章站 2022-03-26 16:44:47
牛客网专项练习(四)——选择题(错题)分析:continue是结束本次循环,本次循环下面的代码不再执行,紧接着执行下次循环。 break才是跳出整个循环。分析: volatile是线程同步的轻量级实现,volatile性能比synchronized要好,但它只能修饰变量。而synchronized可以修饰方法、代码块。 多线程访问volatile不会发生阻塞,而synchronized会出现阻塞。 volatile能保证数据的可见......

牛客网专项练习(四)——选择题(错题)

牛客网专项练习(四)——选择题(错题)

分析:continue是结束本次循环,本次循环下面的代码不再执行,紧接着执行下次循环。

   break才是跳出整个循环。

牛客网专项练习(四)——选择题(错题)

分析:
        volatile是线程同步的轻量级实现,volatile性能比synchronized要好,但它只能修饰变量。而synchronized可以修饰方法、代码块。
        多线程访问volatile不会发生阻塞,而synchronized会出现阻塞。
        volatile能保证数据的可见性,但不能保证原子性;而synchronized可以保证原子性,也可以间接保证可见性,因为它会将私有内存和公共内存中的数据做同步。
        volatile解决的是变量在多个线程之间的可见性,不保证原子性;而synchronized解决的是多线程之间资源同步问题。

牛客网专项练习(四)——选择题(错题)

分析:HashMap是线程不安全的,可以存储null的key和value。

HashMap的底层:数组+链表(jdk7及之前)            数组+链表+红黑树(jdk 8)

存储数据的时候,对于每一个key值,都需要计算其哈希值,然后通过哈希值来确定顺序,但并不是按照加入顺序来存放的。

牛客网专项练习(四)——选择题(错题)

分析:JDK内置的基本注解

@Override: 限定重写父类方法, 该注解只能用于方法。
@Deprecated: 用于表示所修饰的元素(类, 方法等)已过时,通常是因为所修饰的结构危险或存在更好的选择。
@SuppressWarnings: 抑制编译器警告。

牛客网专项练习(四)——选择题(错题)

分析:执行obj.wait(),t1释放锁,t2获得锁,然后发消息通知t1执行,但这时t2还没有释放锁,所以是执行t2,然后释放锁,之后t1才有机会执行。

牛客网专项练习(四)——选择题(错题)

分析:忽略了内部类。

1、当public修饰外部类时,文件名需要与其相同;

2、当public修饰内部类时,而外部类不是public类型的,则文件名可随意,但需要满足命名规范(以字母或下划线开头)。

牛客网专项练习(四)——选择题(错题)

分析:猛的一看A,就觉得是对的,但我想的是调用,不是继承。即构造方法不能被继承,只能被本类或者其子类调用。

牛客网专项练习(四)——选择题(错题)

分析:以为是单选题,就选了c。

java运行命令,类名后面跟着就是main方法的参数,多个参数则用空格隔开。 main方法的形参是一个string数组,所以对于java mytest a b c传入的参数算是一个string数组。

即args[0]=a args[1]=b args[2]=c。

牛客网专项练习(四)——选择题(错题)

分析:看错了题目,选错了。

重写方法,子类重写方法的权限修饰符不小于父类被重写方法的权限修饰符,即也可以和被重写方法的访问修饰符相同。

必须具有不同的参数列表,就成了重载的要求之一,而不是重写。

牛客网专项练习(四)——选择题(错题)

分析:jsp共有九大内置对象,如下所示。

牛客网专项练习(四)——选择题(错题)

牛客网专项练习(四)——选择题(错题)

分析:final修饰类,表示这个类不能够被继承。

abstract修饰类表示一个抽象类,首先这个类不能够被实例化,类里面一定有构造器,便于子类实例化时调用。

abstract修饰方法表示一个抽象方法,包含抽象方法的类一定是抽象类,但是抽象类里面可以没有抽象方法。

再还有就是,若子类重写了父类中所有的抽象方法后,这个子类方可实例化。若子类没重写父类中的所有的抽象方法,则此子类也是一个抽象类,需要使用abstract修饰。

PS:1、abstract不能用来修饰属性、构造器等结构;

2、abstract不能用来修饰私有方法、静态方法、final的方法、final的类;

牛客网专项练习(四)——选择题(错题)

分析:

JDK1.2 之前,一个对象只有“已被引用”和"未被引用"两种状态,这无法描述某些特殊情况下的对象,比如当内存充足时需要保留,而内存紧张时才需要被抛弃的一类对象。
JDK1.2 之后,Java 对引用的概念进行了扩充,将引用分为了强引用、软引用、弱引用、虚引用4 种,强度依次减弱。
一、强引用
Object obj = new Object(); //只要obj还指向Object对象,Object对象就不会被回收 obj = null; //手动置null
只要强引用存在,垃圾回收器将永远不会回收被引用的对象,哪怕内存不足时,JVM也会直接抛出OutOfMemoryError,不会去回收。如果想中断强引用与对象之间的联系,可以显示的将强引用赋值为null,这样一来,JVM就可以适时的回收对象了。
二、软引用
软引用是用来描述一些非必需但仍有用的对象。在内存足够的时候,软引用对象不会被回收,只有在内存不足时,系统则会回收软引用对象,如果回收了软引用对象之后仍然没有足够的内存,才会抛出内存溢出异常。这种特性常常被用来实现缓存技术,比如网页缓存,图片缓存等。
在 JDK1.2 之后,用java.lang.ref.SoftReference类来表示软引用。
三、弱引用
弱引用的引用强度比软引用要更弱一些,无论内存是否足够,只要 JVM 开始进行垃圾回收,那些被弱引用关联的对象都会被回收。在 JDK1.2 之后,用 java.lang.ref.WeakReference 来表示弱引用。
四、虚引用
虚引用是最弱的一种引用关系,如果一个对象仅持有虚引用,那么它就和没有任何引用一样,它随时可能会被回收,在 JDK1.2 之后,用 PhantomReference 类来表示,它只有一个构造函数和一个 get() 方法,而且它的 get() 方法仅仅是返回一个null,也就是说将永远无法通过虚引用来获取对象,虚引用必须要和 ReferenceQueue 引用队列一起使用。

牛客网专项练习(四)——选择题(错题)

分析:null,true,false不是关键字,只是显示常量值。

sizeof 是 C/C++ 中的方法,Java 中没有这个方法,也没有该关键字。

 

 

 

本文地址:https://blog.csdn.net/Agonyq/article/details/109584604