1.mysql的timestamp中的一些潛規則
TIMESTAMP列的默認值是CURRENT_TIMESTAMP常量值。當記錄數據發生變化的時候,TIMESTAMP列會自動將其值設定爲CURRENT_TIMESTAMP。(可以自動更新時間了,不錯)
一個表可以存在多個TIMESTAMP列,但只有一個列會根據數據更新而改變爲數據庫系統當前值。(當一個表有兩個字段都需要自動更新時間,這麼做就坑爹了。推薦使用datetime)
不指定not null時,timestamp默認是not null的,所以不能default爲null
注意:datetime不指定not null時,默認爲null,和timestamp有點區別
2.Integer的緩存,你知道麼?
public static void main(String[] args) {
System.out.println(Integer.valueOf(300) == Integer.valueOf(300));
System.out.println(Integer.valueOf(3) == Integer.valueOf(3));
}
知道結果是什麼不?
false
true
爲嘛呢?
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // 這裏開始坑爹了。。。。原來是有緩存的
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}