2023年10月9日20:56:37
在Java中,关于HashMap类的描述,以下正确的是 (A)
A
HashMap使用键/值得形式保存数据
B
HashMap 能够保证其中元素的顺序
C
HashMap允许将null用作键
D
HashMap允许将null用作值
个人解析:HashMap可以的键值都可以为null,但是只能有一个键为null,而值可以有多个为null,HashTable
- 在jdk 1.7中,以下说法正确的是( A)。
A
Java中所有的非抽象方法都必须在类内定义
B
Java中主方法可以不在类内定义,其他方法都必须定义在类内
C
Java中主方法必须定义在类内,其他方法可以不必定义在类内
D
Java中所有方法都不必在类内定义
别人的解析:1.8接口可以定义default方法和static方法;1.9接口中可以定义私有方法。
因此在JDK1.7中,接口只能定义抽象方法,既Java中所有的非抽象方法都必须在类内定义。
这里我还没有复习到,等我复习到接口的时候再来解决一下。
这个题有点意思,
A
/
B C
/
D
继承的关系是这样的,但是我当时无法理解的是这一句:
A obj = new D().我没办法判断obj是代表A呢?还是代表D。
看了答案有人说:多态时,编译看左边,运行看右边, 当 obj instanceof B的时候早就不是在编译了,所以它是在运行,所以obj代表了D类对象。那就解决了
输出结果如下
倒在了构造方法上:构造方法
[访问修饰符] 类名(参数列表) {
方法体
}
千万不要加返回值类型或者void,加上就不再是一个构造函数,而是方法了所以这题知道这是个方法就很好解决了。
我也不懂
A、抛出Interruption异常,并没有说捕获,所以A会导致线程停止
B、什么时候可能用到这个wait方法呢?比如说,我创建很多个消费者和生产者,在消费的时候我判读发现余额并不能满足自己当前的消费,所以现在我消费不了,那我干嘛,wait()的作用是让当前线程进入阻塞(等待)状态,同时,wait()也会让当前线程释放它所持有的锁。让其他线程去跑。
C、创建一个新的线程,新线程要先把除cpu以外的资源都准备好,才有机会等下抢到cpu然后进入运行状态。
D,高级优先线程进入就绪状态,高级优先只能代表它在抢夺cpu的几率大而已,并不会引发中断。
强引用:只要引用还在就不管内存空间怎么样,都不会被回收
软引用:空间够就不回收,不够就回收
弱引用:无论空间如何,垃圾回收一定会回收
虚引用:然任何时候都可能被回收
2023年10月12日19:53:41
CountDownLatch:一个或者多个线程,等待其他多个线程完成某件事情之后才能执行;
CyclicBarrier:多个线程互相等待,直到到达同一个同步点,再继续一起执行。
对于CountDownLatch来说,重点是“一个线程(多个线程)等待”,而其他的N个线程在完成“某件事情”之后,可以终止,也可以等待。 而对于CyclicBarrier,重点是多个线程,在任意一个线程没有完成,所有的线程都必须互相等待,然后继续一起执行。
CountDownLatch是计数器,线程完成一个记录一个,只不过计数不是递增而是递减,而CyclicBarrier更像是一个阀门,需要所有线程都到达,阀门才能打开,然后继续执行。
按照这个题目的描述等所有线程都到达了这一个阀门处,再一起执行,此题强调的是,一起继续执行,我认为 选B 比较合理!
作者:huwei0706
链接:https://www.nowcoder.com/exam/test/74810860/submission?pid=53531439&pageSource=testHistory
来源:牛客网
静态变量只能在类中使用,不能在方法中使用。
静态什么东西都是跟着类走的,比如像子类不能重写父类的静态方法一样。
##2023年10月15日14:51:35
错的,
当代码执行到该变量被赋值的代码时才被创建,你不给它赋值它还是不会创建。
按照流是否直接与特定的地方(如磁盘、内存、设备等)相连,分为节点流和处理流两类。
节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader.
处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。
JAVA常用的节点流:
文 件 FileInputStream FileOutputStrean FileReader FileWriter 文件进行处理的节点流。
字符串 StringReader StringWriter 对字符串进行处理的节点流。
数 组 ByteArrayInputStream ByteArrayOutputStreamCharArrayReader CharArrayWriter 对数组进行处理的节点流(对应的不再是文件,而是内存中的一个数组)。
管 道 PipedInputStream PipedOutputStream PipedReaderPipedWriter对管道进行处理的节点流。
常用处理流(关闭处理流使用关闭里面的节点流)
缓冲流:BufferedInputStrean BufferedOutputStream BufferedReader BufferedWriter 增加缓冲功能,避免频繁读写硬盘。
转换流:InputStreamReader OutputStreamReader 实现字节流和字符流之间的转换。
数据流 DataInputStream DataOutputStream 等-提供将基础数据类型写入到文件中,或者读取出来.
流的关闭顺序
一般情况下是:先打开的后关闭,后打开的先关闭
另一种情况:看依赖关系,如果流a依赖流b,应该先关闭流a,再关闭流b。例如,处理流a依赖节点流b,应该先关闭处理流a,再关闭节点流b
可以只关闭处理流,不用关闭节点流。处理流关闭的时候,会调用其处理的节点流的关闭方法
作者:无情的AC机器
链接:https://www.nowcoder.com/exam/test/74969462/submission?pid=53635651&pageSource=testHistory
来源:牛客网