原创 關於MySQL數據庫根據字符串多少 類型選擇

關於MySQL數據庫存儲大字符串類型長度 根據所要存取字符長度及MySQL數據庫版本,選擇字段類型 (1)選擇VARCHAR 類型 MySQL5.0以下版本    MySQL5.0以上版本 VARCHAR 最大長度    255    6

原创 用redis分佈式鎖+lua實現庫存量的減少

近來需要做一個優惠券的功能,因優惠券是有數量限制的,所以想到了用redis的分佈式鎖來實現庫存的變更,當然,也可以用到商品的庫存變更。 首先,爲了確保分佈式鎖可用,我們至少要確保鎖的實現同時滿足以下四個條件: 互斥性。在任意時刻,只有一個

原创 用過哪些 Map 類,都有什麼區別,HashMap 是線程安全的嗎,併發下使用的 Map 是什麼,他們內部原理分別是什麼,比如存儲方式, hashcode,擴容, 默認容量等

JAVA Map的幾種類型: HashMap、HashTable、LinkedHashMap和TreeMap。 HashMap        HashMap 是一個最常用的Map,它根據鍵的HashCode值存儲數據,根據鍵可以直接獲取它

原创 阿里JAVA面試題總結

JAVA基礎 JAVA中的幾種基本數據類型是什麼,各自佔用多少字節。 String類能被繼承嗎,爲什麼。 String,Stringbuffer,StringBuilder的區別。 ArrayList和LinkedList有什麼區別。 講

原创 springmvc+websocket+redis 解決服務器集羣問題

在有的業務中,當更改狀態時,可能需要大量的輪詢來實現,用websocket能夠很好的實現,但是因爲工作中很多都是採取服務器集羣來實現的,所以對集羣情況下的websocket進行了學習,在圍觀大佬之後,進行了改造,使之貼合我們公司架構,sp

原创 redis通過ip限制接口訪問次數(用註解形式實現)

      近期開發中,短信接口被不明人士調用,註冊的手機號碼都無法打通,而且手機號碼還不同,因短信平臺對同一個手機號碼做的有限制,所以公司這邊需要做一個針對IP對短信進行限制。 1、先寫一個自定義註解 @Retention(Reten

原创 String,Stringbuffer,StringBuilder的區別

String 字符串常量 StringBuffer 字符串變量(線程安全) StringBuilder 字符串變量(非線程安全)        簡要的說, String 類型和 StringBuffer 類型的主要性能區別其實在於 Str

原创 JAVA中的幾種基本數據類型是什麼,各自佔用多少字節

Java基本數據類型有8種:    名詞解釋:  bit:位,計算機存儲數據的最小單位,二進制數中的一個 位數。  byte:字節,計算機存儲數據的基本單位,一個字節由8位二進制數組成。通常一個漢字佔兩個字節。

原创 String類能被繼承嗎,爲什麼

String 類是不能被繼承的,因爲他是被final關鍵字修飾的。 public final class String     implements java.io.Serializable, Comparable<String>, Ch

原创 redisTemplate+redis+lua解決redis分佈式鎖集羣報錯問題

      因項目dev環境是單臺redis,redis+lua實現分佈式鎖並沒有問題,預生產是集羣的redis,報錯EvalSha is not supported in cluster environment       下面是正確的

原创 講講類的實例化順序,比如父類靜態數據,構造函數,字段,子類靜態數據,構造函數,字段,當 new 的時候, 他們的執行順序

父類靜態變量、  父類靜態代碼塊、  子類靜態變量、  子類靜態代碼塊、  父類非靜態變量(父類實例成員變量)、  父類構造函數、  子類非靜態變量(子類實例成員變量)、  子類構造函數。 詳情參考 https://blog.csdn.n

原创 簡述TCP的三次握手過程

TCP握手協議  在TCP/IP協議中,TCP協議提供可靠的連接服務,採用三次握手建立一個連接. 第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SEND狀態,等待服務器確認;  SYN:同步序列編號(Sy

原创 Java反射

一、什麼是反射機制          簡單的來說,反射機制指的是程序在運行時能夠獲取自身的信息。在java中,只要給定類的名字,      那麼就可以通過反射機制來獲得類的所有信息。  反射的概念:在java中,反射機制是指在運行狀態中,

原创 Springmvc+mongoTemplate整合

首先在配置中加入 <!-- MongoDB配置 --> <mongo:mongo-client replica-set="${jdbc.mongoDB.replicaSet}" credentials="${jdbc.mongoDB.c

原创 mybatis打印sql語句

首先複製來下面的xml文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Confi