原创 什麼是SHA系列算法--抄自小灰

1、簡介 和md5算法類似,sha也是一種生成信息摘要的算法,而由於該算法分爲很多版本,最大的版本分類是sha-1和sha-2,sha-2又包含了很多子版本。 2、sha-1 sha-1算法可以從明文生成160bit的信息摘要,示

原创 騰訊面試題(1)--自測試

1、java中的幾種基本數據類型是什麼?各自佔用多少個字節? 1布爾1字符,4整形2浮點。12124848. 2、String類可以被繼承嗎?爲什麼? String類是不能被繼承的,因爲有final關鍵字修飾。 3、Strin

原创 什麼是AES算法--抄自小灰

AES算法是典型的對此加密算法 1、對稱加密算法示例 傳送過程中不使用明文,而改用對稱加密的方式傳輸密文時,如下所示: 1、發送方使用祕鑰對信息進行加密 2、接收方使用同樣的祕鑰對信息進行解密 2、AES算法 要學習AES算法,

原创 什麼是MD5算法--抄自小灰

1、什麼是信息摘要 信息摘要把明文內容按某種規則生成一段哈希值,即使明文消息只改動了一點點,生成的結果也會完全不同。md5就是消息摘要的一種實現,可以從任意長度的明文字符串生成128位的哈希值。 摘要哈希生成的步驟爲: 1、收集相

原创 什麼是hashMap--抄自小灰

1、hashmap是一個用於存儲key-value鍵值對的集合,每一個鍵值對也叫做Entry。這些鍵值對分散存儲在一個數組當中,這個數組就是hashmap的主幹。 hashmap數組每一個元素的初始值都是Null。 對於hash

原创 高併發下的hashMap--抄自小灰

1、什麼是rehash? rehash就是hashmap在擴容時候的一個步驟。 hashmap的容量是有限的,當經過多次元素插入,使得hashmap達到一定飽和度時,key映射位置發生衝突的機率會逐漸提高,這時候,hashmap需

原创 什麼是ConcurrentHashMap--抄自小灰

hashmap不是線程安全的,在併發插入元素的時候,有可能出現帶環鏈表,讓下一次讀操作出現死循環。 想要避免hashmap的線程安全問題有很多辦法,比如改用hashtable或者collections.synchronizedMa

原创 什麼是zookeeer--抄自小灰

定位:zookeeper是一個分佈式協調服務,可以在分佈式系統中共享配置,協調鎖資源,提供命名服務 1、zookeeper的數據模型:(類似數據結構中的樹、文件系統的目錄) 樹是由節點組成,zookeeper的數據存儲也是基於節

原创 如何使用zookeepe實現分佈式鎖--抄自小灰

1、zookeeper的四種節點類型: a、持久節點:默認的節點類型,創建節點的客戶端和zookeeper斷開連接後,該節點依舊存在。 b、持久節點順序節點: 在創建節點時,zookeeper根據創建的時間順序給節點名稱進行編號

原创 如何使用redis實現分佈式鎖--抄自小灰

Redis分佈式鎖的基本流程並不難理解,但要想寫得盡善盡美,也並不是那麼容易,分佈式鎖的三個核心要素: 1、加鎖 最簡單的辦法是使用setnx命令。key是鎖的唯一標識,按業務來決定命名。比如想要給一種商品的秒殺活動加鎖,可以給k

原创 讀碼農翻身之分佈式與集羣

1、分佈式的情況 假如ABC三個系統分別部署在三臺服務器上,他們之間互相調用,來完成業務流程。這就是一個分佈式系統,但是從上面可以看出,如果系統A異常,就會引起單點失敗。導致整個系統異常。 2、集羣 爲了解決上面的單點問題,有一

原创 讀碼農翻身之負載均衡的原理(LVS)

1、隱藏真實服務器 當一臺服務器無法滿足用戶的請求量時,首先的方案就是將系統多部署幾份,這樣用戶的訪問請求就可以分散到各個服務器,這樣單臺服務器的壓力就小得多了。但是需要面對的問題就是,對於客戶來說,最好只有一個服務器。 此時我們

原创 讀碼農翻身之Zookeeper

1、分佈式RPC存在的問題 假如後端的訂單服務提供了四臺服務器給客戶端使用,而客戶端使用的是配置文件的方式配置了後端服務的地址,那麼問題就出現了,如果後臺的訂單服務故障或者新增了新的服務器,客戶端是無法實時知道的,這就導致服務不穩

原创 讀碼農翻身之ASM

1、什麼是ASM ASM可以動態的修改已經編譯過的class,還可以動態的生成新的java class。(動態:表示完全在運行時,在內存中完成的) 之所以叫ASM,創造者在創造的時候,爲了起名大費周章,後來突然想到C語言中的__a

原创 讀碼農翻身之Java虛擬機的堆

回顧一下java內存區域劃分: 1、Heap中主要保存對象 2、垃圾回收:java程序員只需要將對象給new出來,扔到heap中,但是從來不把它delete掉,所以需要有垃圾回收機制來刪掉這些對象。而這其中也涉及到一些算法 如