輸出結果是???(歡迎你們各抒己見,說出本身的看法)spring
public class Test{ public static void main(String[] args) { int a[] = {2,3,45,6}; System.out.println(Arrays.asList(a).contains(2)); } }
1, Hibernate中get和load方法的區別數據庫
hibernate對於load方法認爲該數據在數據庫中必定存在,能夠放心的使用代理來延遲加載,若是在使用過程當中發現了問題,只能拋異常; hibernate對於get方法,hibernate必定要獲取到真實的數據,不然返回null。
具體介紹:編程
1. 對於get方法,hibernate會確認一下該id對應的數據是否存在,首先在session緩存中查找,而後在二級緩存中查找,尚未就查詢數據庫,數據庫中沒有就返回null。 2. load方法加載實體對象的時候,根據映射文件上類級別的lazy屬性的配置(默認爲true)。
分狀況討論:緩存
(1)若爲true,則首先在Session緩存中查找,看看該id對應的對象是否存在,不存在則使用延遲加載,返回實體的代理類對象(該代理類爲實體類的子類,由CGLIB動態生成)。等到具體使用該對象(除獲取OID之外)的時候,再查詢二級緩存和數據庫,若仍沒發現符合條件的記錄,則會拋出一個ObjectNotFoundException。 (2)若爲false,就跟get方法查找順序同樣,只是最終若沒發現符合條件的記錄,則會拋出一個ObjectNotFoundException。
2, 列舉一下你知道的實現spring事務的幾種方式markdown
(1),編程式事務管理:須要手動編寫代碼,在實際開發中不多使用, (2),基於TransactionProxyFactoryBean的聲明式事務管理,須要爲每一個進行事務管理的類作相應配置 (3),基於AspectJ的XML的聲明式事務管理,不須要改動類,在XML文件中配置好便可 (4),基於註解的聲明式事務管理,配置簡單,須要在業務層類中添加註解
3,Java中equals和contains的區別session
equals是判斷字符串的是否是相等。 例如:"abc".equals("abc"),返回結果是Boolean類型的true; "abc".equals("ab")返回結果是Boolean類型的false。 contains是包含的意思。 例如:"abc".contains("a"),返回結果是Boolean類型的true; "abc".contains("d"),返回結果是Boolean類型的false。