原创 解決前端Ajax跨域請求無法訪問

在後端接口內,或者攔截器內設置 response.setHeader("Access-Control-Allow-Origin","*"); 即可正常訪問。

原创 JAVA多線程和線程池

目錄 1、線程狀態 (1) 新建狀態 (2) 就緒狀態 (3) 運行狀態 (4) 阻塞狀態 (5) 死亡狀態 2、線程優先級 3、同步工具synchronized、wait、notify 4、創建線程 (1) 實現 Runnable 接口

原创 解決前端GET請求參數 在javaweb後端變爲亂碼

前端發送GET請求時,對請求參數進行兩次編碼 param = encodeURI(encodeURI(param)); 後端獲取參數時,進行一次解碼 param = URLDecoder.decode(param, "UTF-8");

原创 ElasticSearch 的 from+size、scroll、scroll-scan、sliced scroll-sacn、search after

參考文章: 使用scroll實現Elasticsearch數據遍歷和深度分頁 Elasticsearch 5.x 源碼分析(3)from size, scroll 和 search after ElasticSearch官方文檔 Elas

原创 curl 命令分析請求耗時

目錄 1、創建 curl.txt 文件 2、變量含義 3、發送 curl 請求 1、創建 curl.txt 文件 \n http_code: %{http_code}\n

原创 Java線程安全和鎖

目錄   1、CAS算法 2、Synchronized實現原理 3、鎖優化 (1) 自旋鎖 (2) 適應性自旋鎖 (3) 鎖消除 (4) 鎖粗化 (5) 偏向鎖 (6) 輕量級鎖 (7) 樂觀鎖 (8) 悲觀鎖 4、i++是否線程安全 1

原创 數據庫存儲 IP 地址的幾種方式

數據類型 佔用空間 可讀性排名 查詢效率排名 儲存方式 varchar(15) 7-15字節 1 4 192.168.120.65 bigint 8字節 2 1 19216812065 int 4字節 5 5 會存儲爲 108478265

原创 數據庫中SQL執行流程

目錄 1、客戶端把語句發給服務器執行 2、語句解析 (1) 查詢高速緩存(library cache) (2) 語句合法性檢查(data dict cache) (3) 語言含義檢查(data dict cache) (4) 獲得對象解析

原创 group by 和 order by 同時使用的問題

由於 group by 先於 order by 執行,會導致 order by 失效,例如 SELECT * FROM test GROUP BY city ORDER BY date; 並不能取出分組中的最新一條記錄。 解決方法:

原创 設計模式——工廠模式

目錄 1、簡單工廠模式(又稱靜態工廠方法模式) (1) 抽象產品(手機) (2) 具體產品(小米、華爲、OPPO) (3) 工廠類1 (4) 工廠類2 2、工廠方法模式 (1) 抽象產品(手機) (2) 具體產品(小米、華爲、OPPO)

原创 設計模式——單例模式

目錄 1、餓漢式 2、懶漢式 3、Double CheckLock(雙重鎖判斷機制) 4、靜態內部類 5、枚舉 1、餓漢式 public class ImageLoader{ private static ImageLoad

原创 裝飾者模式和代理模式的區別

        代理模式中,代理類對被代理的對象有控制權,決定其執行或者不執行。而裝飾模式中,裝飾類對代理對象沒有控制權,只能爲其增加一層裝飾,以加強被裝飾對象的功能。         裝飾器模式關注於在一個對象上動態的添加方法,然而代理

原创 ElasticSearch 的 from+size、scroll、search after

參考文章: 使用scroll實現Elasticsearch數據遍歷和深度分頁 Elasticsearch 5.x 源碼分析(3)from size, scroll 和 search after ElasticSearch官方文檔 Elas

原创 接口的冪等性

        接口的冪等性是指,用戶對於同一操作發起的一次請求或者多次請求的結果是一致的。例如,用戶在購物時,由於網絡延遲導致第一次下單沒有響應,用戶又點了幾次下單,這時候接口的冪等性就會保證用戶點擊多次只會下一次單。 保證接口冪等性的

原创 設計模式——代理模式

  1、靜態代理          由三部分構成:抽象角色(真實角色和代理角色共同父接口,或者說是共有的功能)、真實角色(實現抽象角色)、代理角色(實現抽象角色,獲取真實角色的引用,並附加操作)。除了真實對象和代理對象共同實現父接口的方式