分析:
代码块中的do something that may cause an Exception说明程序运行时只会抛出一个异常, 但没有指明具体是什么异常,所以三种异常均有可能。
而对于某个异常,只会被捕获一次,所以选择A。
分析:NULL不是Java中的关键字,关键字都是小写,for是关键字。
分析:Iterator迭代器支持从原集合中安全地删除对象,只需在 Iterator 上调用 remove() 即可。
这样做的好处是可以避免 ConcurrentModifiedException。有些集合不允许在迭代时删除或添加元素,所以调用Iterator的remove() 很安全,不会出现异常。
分析:URL的toString()方法返回字符串,无论网址是否存在。
分析:
Java中char是2个字节, 所以127+1不会发生溢出, 200+128输出328;
但是对于C/C++来说, char是1个字节, 127+1会发生溢出, 0111 1111 --> 1000 0000, 1000 0000为补码-128, 所以结果为200-128=72。
分析:忘了synchronized不能用来修饰变量,只能修饰方法、代码块。而volatile可以用来修饰变量。
分析:只有在不显示声明构造方法时,系统才会提供默认的无参构造方法。
分析:PriorityQueue是一个无界队列,不允许null值,入队和出队的时间复杂度是O(log(n)),线程不安全的。不同于先进先出队列的另一种队列,每次从队列中取出的是具有最高优先级的元素。
LinkedBlockingQueue是线程安全的。
ConcurrentLinkedQueue是一个基于链接节点的线程安全队列,该队列的元素遵循FIFO原则。