tips
2017-01-09 本文已影响0人
好好学习天天引体向上
java
-
constructor call must be the first statement in a constructor;
- 构造方法只能在构造方法中调用
- 构造方法中至多只能被调用一次
-
成员变量的初始化先于构造方法,成员变量按照声明顺序初始化,静态变量早于实例变量,静态变量只需初始化一次。
-
return this 技巧是的StringBuilder.append可以连续使用。
-
一个方法只能有一个可变长参数,并且这个参数必须是最后一个参数。
-
方法重载判定时,参数固定的方法先于可变长参数的方法。
-
覆盖必须满足以下条件:
- 重写方法不能缩小访问权限
- 参数列表必须与被重写方法一致
- 返回值类型不许相同或为被重写方法返回值的子类
- 不能抛出更多异常,但可以抛出更少异常或不抛出异常
-
Java中的原子操作( atomic operations)
-
原子操作指的是在一步之内就完成而且不能被中断。原子操作在多线程环境中是线程安全的,无需考虑同步的问题。在java中,下列操作是原子操作:
- all assignments of primitive types except for long and double
- all assignments of references
- all operations of java.concurrent.Atomic* classes
- all assignments to volatile longs and doubles
-
-
synchronized 与wait、notify的关系
1.有synchronized的地方不一定有wait,notify
2.有wait,notify的地方必有synchronized.
3.这是因为wait和notify不是属于线程类,而是每一个对象都具有的方法,而且,这两个方法都和对象锁有关,有锁的地方,必有synchronized。 -
springMVC 支持OPTIONS方法
- 跨域请求时,浏览器在POST前先OPTIONS检查服务器状态、是否接收垮与请求等。
- 在web.xml加入以下代码实现springMVC支持OPTIONS
<init-param> <param-name>dispatchOptionsRequest</param-name> <param-value>true</param-value> </init-param>