原创 docker 容器啓動後設置開機自啓動

1、設置容器開機自啓動 docker update mysql --restart=always

原创 mysql 查詢json相關

mysql數據庫數據如圖,存放的是json字符串 現在需要進行模糊查詢,查詢productId中有76的 select bace.name,bace.target->'$.productId' from bill_coupon as

原创 JVM 判斷對象已死的算法

   GC的歷史比Java還有久遠,我們在思考GC時候需要思考三個問題:    哪些內存需要回收?    什麼時候回收?    如何回收?     在Java中程序計數器、虛擬機棧、本地方法棧這三個區域隨線程而生,隨線程而滅:棧中的棧幀隨

原创 Spring的Event事件驅動 實現 日誌系統相關記錄

前言 系統一大,就會拆分成多個獨立的進程,比如使用微服務架構,也就成了分佈式系統。 傳統的日誌系統比如log4j已經無法滿足,我們需要將這些日誌合併展示到一個統一的地方。 如此一來,分佈式日誌收集系統就登場了。 現在用的較多的技術組合爲

原创 設計模式(十四)外觀模式(Facade)-- 結構型

項目需求:(影院管理) 項目引入: 傳統方式:創建各個子系統的對象,並直接去嗲用子系統的相關方法,會造成調用過程混亂,沒有清晰地過程 解決方案: 定義一個高層接口,給子系統中的一組接口提供一個一致的界面(比如高層接口提供四個方法read

原创 Spring的Event事件驅動 實現 日誌系統相關記錄 之 功能調用

如何使用自定義API日誌 下面我們使用blade-demo中的一個API接口來測試下API日誌 增加@ApiLog註解,代碼如下 /** * 詳情 */ @ApiLog("Blog詳情") @GetMapping("/detail"

原创 Java8 函數式接口學習

Java8 函數式接口一覽 // Function<T, R> -T作爲輸入,返回的R作爲輸出 Function<String,String> fun = (x) -> {System.out.print(x+": ");retu

原创 Stream API 上

Stream API 上 使用流 創建流 在使用流之前,首先需要擁有一個數據源,並通過StreamAPI提供的一些方法獲取該數據源的流對象。數據源可以有多種形式: 1. 集合 這種數據源較爲常用,通過stream()方法即可獲取流對象:

原创 Optional幹掉空指針

簡介 空指針異常是導致Java應用程序失敗的最常見原因。 爲了解決空指針異常更加優雅,Java8 提供了 Optional 類庫。 Optional實際上是個容器:它可以保存類型T的值,或者僅僅保存null。 Optional提供很多有用

原创 Stream API 下

Stream API 下 Collector 收集 收集器用來將經過篩選、映射的流進行最後的整理,可以使得最後的結果以不同的形式展現。collect 方法即爲收集器,它接收 Collector 接口的實現作爲具體收集器的收集方法。Coll

原创 npm 安裝 vue相關命令

1、npm 安裝vue穩定版 # 最新穩定版 $ npm install vue 2、npm 安裝 cnpm $ npm install -g cnpm --registry=https://registry.npm.taobao.

原创 node安裝和環境變量配置

1、下載nodejs  選擇自己喜歡的 nodejs,並下載,我用的是zip的,因爲本地msi總是因爲某個權限不夠安裝不了 2、新建兩個空的文件夾node_cache 和 node_global 3、在路徑輸入cmd,打開命令行窗口,

原创 cnpm: 無法加載文件 C:\software\work\node\node_global\cnpm.ps1

cnpm : 無法加載文件 C:\software\work\node\node_global\cnpm.ps1,因爲在此係統上禁止運行腳本。有關詳細信息,請參閱 https:/go.microsoft.com/fwlink/?Link

原创 【49. 字母異位詞分組】 個人題解和領悟 自上而下的解題

做題之前,需要明確一個概念 int[] a={0, 1, 1, 2, 8, 4, 9}; System.out.println(String.valueOf(a));-----類型+句柄 System.out.println(a.toS