1. 关于事务:
在一个必要数据上做事务,就像账户等信息。其他不必要的数据没必要做事务,减轻数据库压力
2. 关于final
对于集合对象声明为final指的是引用不能被更改,但是你可以向其中增加,删除或者改变内容。
final MyObject m = new MyObject(); //m is of reference type
m.data = 100; // OK. We can change state of object m (m is mutable and final doesn't change this fact)
m = new MyObject(); // does not compile. m is final so can't be reassigned
原始类型包装类(primitive wrappers)(Integer,Long, Short, Double, Float, Character, Byte, Boolean)都是不可变的。
String在java中被设计成immutable的: 允许String缓存它的hashcode ----> 提高效率。
3. CMPXCHG
compare_and_swap的实现是通过一个直接在CPU级别上的原子硬件指令(atomic hardware instruction)——CMPXCHG来实现。
CMPXCHG里实现什么样的逻辑:你比较值与一个期望值,如果它们一样的话,老的值会赋予新的值
网友评论