java/android 做题中整理的碎片小贴士(18)

1、类中的成员变量存放在堆区, 方法中的局部变量存放在栈区。

2、&不短路,&&短路(用于if语句嘛)。

3、数组赋值,从速度上看:System.arraycopy > clone > Arrays.copyOf > for。

4、obj.wait() 和 mThread.sleep()都需要try catch 异常捕捉。

5、调用wait 或nofity方法必须采用当前锁调用,即采用synchronized中的对象。

6、java反射机制提供的功能:①在运行时判断一个对象所属类;②运行时构造一个类的对象;③在运行时判断一个类具有的成员变量和方法;④在运行时调用任意对象的方法;⑤生成动态代理。

7、ResultSet索引从1开始。

8、java的HashMap中使用链地址法解决哈希冲突。

9、父类没有无参构造函数,所以子类需要在自己的构造函数中显式地调用父类的构造函数,否则编译错误。就是说父类没有显式写任何构造函数或写了无参构造函数了,子类就不用调用父类构造函数了吧。

10、线程中抛出一个异常会终止此线程的运行。

11、Map没有继承Collection接口。Collection的主要子接口有List、Set、Queue等。

12、JDBC使用了桥接模式。

13、使用效率:String<StringBuffer<StringBuilder;StringBuffer每次结果都会对StringBuffer对象本身进行操作,而不会生成新的对象再改变对象引用。

14、JSP内置对象:request、response、session、out、page、application、exception、pageContext、config。

15、Properties实现了Map接口,是线程安全的。

16、Iterator支持从源集合上安全地删除对象,只需在Iterator上调用成员方法remove()即可。不需要知道下标。

17、double d = 5.3e12 ;是对的,其中5.3e12表示5.3乘10的12次方;Double d = 3不行,但Double d = 3.0会自动装箱。

18、线程优先级高只能说明它获得CPU时间片的概率更高,不能说明它就运行地更快,或更早结束。

posted @ 2018-10-07 18:20  jason31  阅读(128)  评论(0编辑  收藏  举报