原创 複雜度來源

複雜度來源     高性能         單機高性能複雜度             技術發展帶來了性能上的提升,不一定帶來複雜度提升;當新技術並不是用來取代舊技術、而是開闢了一個全新領域的技術纔會給軟件帶來複雜度,因爲系統設計時需要在

原创 架構的概念

系統: 系統是由一羣有關聯的個體組成,根據某種規則運作,能完成個體元件不能完成的工作的羣體 組件和模塊都是系統的組成部分 組件:從物理角度拆分得到的單元,劃分模塊的目的是單元複用 模塊:從邏輯角度拆分得到的單元,劃分模塊的目的是職責分離

原创 架構設計三原則

架構設計三原則     合適原則         合適原則宣言:合適優於業界領先         失敗原因             沒那麼多積累,卻想一步登天,是失敗的第二個主要原因             沒那麼卓越的業務場景,卻幻想

原创 代碼優化小結

CompletableFuture用於異步處理 1、異步執行,不支持返回值 CompletableFuture.runAsync(()->{ });2、支持返回值 CompletableFuture<Long> completableFu

原创 使用spring切面統計uv

 根據解析token的兩個方法進行統計 重點:springRedis、HyperLogLog @Aspect @Component @Slf4j public class RpcLogAspect { @Resource

原创 springboot dubbo統一異常處理

 dubbo服務中爲了對外隱藏具體異常,給上游調用方更直接的返回提示,可以通過dubbo的Filter方式和SpringAop方式 dubbo的Filter方式如下: 1、實現過濾器 import com.alibaba.dubbo.

原创 社交化購物-每日拼拼

每日拼拼是一家由國內生鮮電商領導者——每日優鮮全資重磅打造的社交拼團電商平臺,每日拼拼在2019年2月25號推出內測版本。 每日拼拼官方註冊邀請碼: 008RPPGC9 每日拼拼商品種類齊全,涵蓋水果、蔬菜、肉蛋、乳品、零食、酒飲、糧油、

原创 IP字符串和數字互轉

public static long ip2Long(String ipStr){ if(ipStr == null || ipStr.length() == 0){ return 0; } in

原创 二分查找和變形問題

/** * 二分查找,等於某個值的位置,非遞歸 * @param data */ public static int binarySearch1(int[] data,int val){ if(data == null |

原创 java 基本排序

/** * 快速排序 * 分治、遞歸思想 * 如果要排序數組中下標從 p 到 r 之間的一組數據,我們選擇 p 到 r 之間的任意一個數據作爲 pivot (分區點)。 我們遍歷 p 到 r 之間的數據,將小於 pivot 的放到

原创 n的二進制包含多少個1

/** * 判斷一個數中喲多少個1 * 使用移位,int爲32位,通過移位判斷 */ public static int count1(int n){ int count = 0; int i = 0; d

原创 時間複雜度

時間複雜度  爲什麼需要複雜度分析 直接跑代碼通過統計、監控獲取算法的執行時間和佔用的內存大小的性能測試,叫事後統計法。 侷限性: 1、測試結果非常依賴測試環境;如,不同處理器效率不同 2、測試結果受數據規模影響很大;測試數據規模太小,測

原创 freemarker接收XML字符串

獲取xml字符串後先轉化爲 InputStream  ,在使用freemarker.ext.dom.NodeModel.parse將InputStream轉化爲freemarker中識別的xml InputStream   in   =

原创 融入生活

生活,就像一瓶啤酒,也許會是一大瓶的泡泡。 我們要懂得生活,融入生活。