工作手記之潛規則篇

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);  
    }  



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章