java基础刷题笔记5
Java刷题笔记5
T1 Thread.sleep()
yield()让当前正在运行的线程回到可运行状态,以允许具有相同优先级的其他线程获得运行的机会。因此,使用yield()的目的是让具有相同优先级的线程之间能够适当的轮换执行。但是,实际中无法保证yield()达到让步的目的,因为,让步的线程可能被线程调度程序再次选中。
作者:我该叫什么
链接:https://www.nowcoder.com/exam/test/74715778/submission?pid=53461726&testCallback=undefined
来源:牛客网A助记: 睡觉sleep()是抱着锁睡觉的, 等待wait()时把锁释放
T2 垃圾回收
下面哪些描述是正确的:( )
1 | public class Test { |
A. b = null执行后b可以被垃圾回收
B. a = null执行后b可以被垃圾回收
C. a = null执行后a可以被垃圾回收
D. a,b必须在整个程序结束后才能被垃圾回收
E. 类A和类B在设计上有循环引用,会导致内存泄露
F. a, b 必须在start方法执行完毕才能被垃圾回收
T3 Collection接口 & Map接口
T4 JDBC & 设计模式
T5 char存储
java中只有byte, boolean是一个字节, char是两个字节, 所以对于java来说127不会发生溢出, 输出328
但是对于c/c++语言来说, char是一个字节, 会发生溢出, 对127加一发生溢出, 0111 1111 —> 1000 0000, 1000 0000为补码-128, 所以结果为200-128=72
T6 JRE
后台线程:指为其他线程提供服务的线程,也称为守护线程。JVM的垃圾回收线程就是一个后台线程。
前台线程(main方法):是指接受后台线程服务的线程,其实前台后台线程是联系在一起,就像傀儡和幕后操纵者一样的关系。傀儡是前台线程、幕后操纵者是后台线程。由前台线程创建的线程默认也是前台线程。可以通过isDaemon()和setDaemon()方法来判断和设置一个线程是否为后台线程。










