1. 兩個對象值相同 (x.equals(y) == true) ,但卻可有不同的 hashCode,這句話對不對?
這是不正確的,兩個對象如果相等那麼他們的hashCode一定相等,因爲對象數據類型保存的是堆內存空間的地址,所以他們的hashCode一定相等,但是hashCode相等的兩個對象值不一定相等。
2. SpringMVC 常用註解都有哪些?
@RequestMapping
:指定一個請求路徑的處理方法。@ResponseBody
:用於向客戶端輸出文本內容。@RequestBody
:用於獲取POST請求中的JSON參數。
3. Java 中實現多態的機制是什麼?
靠的是父類或接口的引用變量可以指向具體的實現類實例對象,而程序調用方法是在運行期才動態綁定的,就是說引用變量所指向的具體實例對象的方法,也就是內存中正在運行的那個對象的方法,而不是變量類型中定義的方法。
4. 說說你對 Java 中反射的理解
Java中的反射首先是能夠獲取到Java中要反射類的字節碼,獲取字節碼的方法有三種:
- Class.forName(className);
- 類名.class
- this.getClass()。
然後將字節碼中的方法、變量、構造函數等映射成相應的Method、Filed、Constructor等類,這些類提供了豐富的方法被我們所使用。
5. Java 中有幾種類型的流?
- 按流的方向分類:輸入流(InputStream)、輸出流(OutPutStream)。
- 按處理輸出的單位:字節流和字符流。