請你介紹一下,數據庫的三個範式?
1NF:原子性 字段不可再分,否則就不是關係數據庫;
2NF:有主鍵,非主鍵字段依賴全部主鍵;
3NF:每列都與主鍵有直接關係,不存在傳遞依賴;比如非主鍵B,C,主鍵A存在這樣關係,C->B->A,這樣就有傳遞依賴,不符合3NF
請問object的hash該怎麼設計
- 滿足對應的hashcode方法和equals方法的關係,即兩個對象通過equals方法返回true,那麼通過hashcode方法返回的整型值相等,如果返回false,那麼返回的hashcode方法的整型值可能相等;如果兩個對象通過hashcode返回相同的值,那麼他們的equals操作不一定返回true,如果返回不同的值,那麼他們的equals操作一定返回false。
- 在映射表中,hash算法不需要太多計算量的情況下,生成的位置儘可能均勻,儘可能少的發生hash碰撞
執行以下程序後的輸出結果是()
鏈接:https://www.nowcoder.com/questionTerminal/88ff9e9553334637bb35e78871f5b640
來源:牛客網
public class Test {
public static void main(String[] args) {
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operator(a, b);
System.out.println(a + "," + b);
}
public static void operator(StringBuffer x, StringBuffer y) {
x.append(y); y = x;
}
}
- A,A
- A,B
- B,B
- AB,B
StringBuffer a = newStringBuffer("A");
StringBuffer b = newStringBuffer("B");
此時內存中的狀態如下圖所示:
publicstaticvoidoperator(StringBuffer x, StringBuffer y) {
x.append(y); y = x;
}
進入如下方法後,內存中的狀態爲:
x.append(y);
這條語句執行後,內存的狀態爲:
y = x;
這條語句執行後,內存的狀態爲:
當operator方法執行完畢後內存中的狀態爲:因爲方法執行完畢,局部變量消除。
有內存中的狀態,可以知道最後的結果。
下列哪個修飾符可以使在一個類中定義的成員變量只能被同一包中的類訪問?
A.private
B.無修飾符
C.public
D.protected