原创 Java中HashSet和TreeSet集合的本質

在HashSet中,如果需要判斷元素是否相等,或者刪除指定元素,比較的先候順序爲,先HashCode,在Equals方法。 先比較每個元素的.hashcode() 如果相等,在比較每個元素的.equals()方法,都相等,則證明是相同的元

原创 Java中字符流和字節流

字符流和字節流的區別: 字符流一般用於操作文本數據,帶有各種不同文本的編碼方式 字節流一般用於操作圖片和視頻等多媒體數據,它所擁有的是帶有默認的編碼方式 /* 字符流: FileReader FileWriter。 BufferedR

原创 SSH框架中 分頁顯示數據Demo

分頁的幾個要素:總記錄數,每頁顯示數,共幾頁,當前頁等。     1.首先我們先新建立一個接口MemberDao.java,把所需要用到的方法列出來

原创 Java中泛型的使用

Java中靜態方法的泛型使用 /* class Demo<T> { public void show(T t) { System.out.println("show:"+t); } public void print(T t

原创 java線程池介紹和使用說明

1、線程池簡介:     多線程技術主要解決處理器單元內多個線程執行的問題,它可以顯著減少處理器單元的閒置時間,增加處理器單元的吞吐能力。         假設一個服務器完成一項任務所需時間爲:T1 創建線程時間,T2 在線程中執行任務

原创 map集合的四種遍歷方式

import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestMap { public static vo

原创 HBase內置過濾器的一些總結

HBase爲篩選數據提供了一組過濾器,通過這個過濾器可以在HBase中的數據的多個維度(行,列,數據版本)上進行對數據的篩選操作,也就是說過濾器最終能夠篩選的數據能夠細化到具體的一個存儲單元格上(由行鍵,列明,時間戳定位)。通常來說

原创 Thread 和Runnable的區別/不可多次start一個線程

在java中可有兩種方式實現多線程,一種是繼承Thread類,一種是實現Runnable接口;Thread類是在java.lang包中定義的。一個類只要繼承了Thread類同時覆寫了本類中的run()方法就可以實現多線程操作了,但是一個

原创 spring中事物管理的方式

事物管理對於企業應用來說是至關重要的,好使出現異常情況,它也可以保證數據的一致性。 spring支持編程式事務管理和聲明式事務管理兩種方式。         編程式事務管理使用TransactionTemplate或者直接使用底層的

原创 分佈式事務?No, 最終一致性

轉載:https://zhuanlan.zhihu.com/p/25933039 分佈式一致性 一、寫在前面 現今互聯網界,分佈式系統和微服務架構盛行。 一個簡單操作,在服務端非常可能是由多個服務和數據庫實例協同完成的。 在

原创 Http協議和TCP協議區別

很多時候會遇到Http協議或者TCP協議,這裏做一個簡單的理解。TCP協議對應於傳輸層,而HTTP協議對應於應用層,從本質上來說,二者沒有可比性。Http協議是建立在TCP協議基礎之上的,當瀏覽器需要從服務器獲取網頁數據的時候,會發出一次

原创 RSA加密/解密例子

package encryption; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.Illegal

原创 redis哨兵綜述

Redis的主從架構,如果master發現故障了,還得手動將slave切換成master繼續服務,手動的方式容易造成失誤,導致數據丟失,那Redis有沒有一種機制可以在master和slave進行監控,並在master發送故障的時

原创 微服務總結

爲什麼要服務化 服務化可以解決一下問題:  1. 代碼到處拷貝  2. 底層複雜性擴散,各業務層需要緩存,分表分庫等底層技術  3. 基礎庫耦合,庫的版本維護與業務線之間代碼的耦合  4. SQL質量得不到保障,業務相互影響  5. 

原创 集合各實現類的底層實現原理

ArrayList實現原理要點概括 參考文獻:http://zhangshixi.iteye.com/blog/674856l ArrayList是List接口的可變數組非同步實現,並允許包括null在內的所有元素。底層使用數組實現該