原创 Java基礎之【接口和抽象類的區別】

其實java8引入了default默認方法後,接口抽象類的差別被縮小了,所以這個問題的意義就沒那麼大了,而且實際中我們通常只使用接口 關鍵的區別有4點: 1.接口中的方法必須被其實現類@override ,而抽象類中的方法子類去exten

原创 JPA更新後查詢結果還是更新前的

JPA更新一條記錄,數據庫查看更新成功,但是緊接着查詢,發現還是更新前的結果,懷疑緩存問題但是網上查了下沒解決成功。解決辦法更新的時候就清除緩存看下源碼的註解,默認值是false

原创 Java基礎之【接口的屬性以及方法限制符號】

簡而言之: 接口中變量的默認修飾符是 public static final(可省略) 接口中方法的默認修飾符是 public abstract(可省略) 因爲我們平時使用過程中肯定都是不加這些修飾限制符的,久而久之就忘記了,所以需要牢記

原创 Java基礎之【談談對集合的理解】

一.Map跟Set的聯繫 Set的集合對象作爲Map的key,再使用一個Object常量作爲爲value.再簡而言之:Map就是個(key-value)的Set集合 二. HashMap相關 hashMap存儲數據到8(它的閾值)時候,九

原创 Jackson解析異常

   com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com...TokenData: no String-argume

原创 Java基礎之【重寫hashCode和equals】

參考:https://www.cnblogs.com/wang-meng/p/7501378.html 如果不被重寫(原生Object)的hashCode和equals是什麼樣的?   不被重寫(原生)的hashCode值是根據內存地址換

原创 Java基礎之【String爲什麼是immutable】

原文: https://www.javatpoint.com/immutable-string In java, string objects are immutable. Immutable simply means unmodifia

原创 Java基礎之【使用迭代器刪除List中的元素】

直接看代碼以及代碼中註釋 iterator的remove跟list的remove區別是 迭代器會在remove後進行expectedModCount = modCount操作 這樣就會避免 ConcurrentModificationEx

原创 Java基礎之【TreeMap和HashMap需要注意的地方】

注意HashMap是依賴重寫hashCode equals方法實現key(key是對象時)去重,而TreeMap中(key是自定義對象時)是依靠實現Comparable接口(內部排序)或者Comparator(外部排序)方式來實現key的

原创 Java基礎之fail-fast機制】

內容選自《碼出高效》: 通常多線程(單線程也會)情況下,當前線程會維護一個技術比較器,即expectedModCount,記錄已經修改的次數,在進入遍歷前,會把實時修改次數modCount賦值給expectedModCount,如果兩個不

原创 Java基礎之【Comparable和Comparator】

排序主要分爲三種情況 1.【內部排序】使用Comparable通過implements通過implements Comparable<Object>接口override compareTo方法實現 return值  0表示相等 1表示大於

原创 Java基礎之【ArrayList.toArray方法需要注意傳入數組的size】

list.toArray方法可以傳入一個數組,注意 數組長度爲List.size()爲最佳,小於 那麼list.toArray返回的數組內元素爲空,大於 性能差。數組容量等於list的size即可。 public class List

原创 Java基礎之【Arrays的asList需要注意不能修改元素個數的任何操作】

內容來自《碼出高效》: Arrays.asList方法可以將數組轉換成集合List,之後這個list可以set值,但是注意 不能修改元素的個數,因爲Arrays.asList返回的是Arrays的內部類,並沒有實現集合個數修改的相關方法,

原创 Java基礎之【java8之lambda表達式】

資料參考自 菜鳥教程 https://www.runoob.com/java/java8-new-features.html 之前對這個lambda的理解一直很模糊,相關概念也很多,雖然項目中經常用到,而且idea會提示,如把 pri

原创 Java基礎之【java8的Optinal】

Optional的最佳實踐(解決null帶來的過多判斷)  private String getUserName(User user) { if (user != null) { return user.getU