34.
使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句:
Final StringBuffera=newStringBuffer("immutable");
执行如下语句将报告编译期错误:
a=newStringBuffer("");
但是,执行如下语句则可以通过编译:
append(" broken!");
35.局部变量前不能放置任何访问修饰符 (private,public,和protected)
36.final int i是个final的instant variable (实例变量,或叫成员变量)。final的instant variable没有default value,必须在constructor (构造器)结束之前被赋予一个明确的值。可以修改为"final int i = 0;"。
37.TreeSet的Comparator优先于Comparable,即使没有实现Comparable,只要有比较器也可以
38. wait():释放cpu执行权,释放锁。
sleep():释放cpu执行权,不释放锁。
await():释放cpu执行权,不释放锁(只能配套使用)(存疑)
39.加同步锁的原因是共同当操作共享数据时,如果有多条语句,会有安全问题
等待唤醒机制,是对共享数据不同方向操作时,避免异常
40.对象调用wait()方法,必须持有该锁,调用这个方法的对象必须是作为锁的对象
41.DatagramSocket构造方法如果没有指定impor,系统会自动分配一个随机的。
DategramPacket如果发送就必须写明InetAdress和inport,数据不管是接受还是发送都必须有借口标识。
42.反射中,Class c=XXX.class方式,XXX的静态代码块不会执行 |
|