原创 elasticsearch在java中使用

本文基於SpringBoot 2.1.1.RELEASE版本配置,搭建的elasticsearch 6.4.3版本(7.1版本和當前的springData版本不兼容), 依賴spring-data-elasticsearh 3.1

原创 用Semaphore信號量控制線程執行

Semaphore重點語法 availablePermits():判斷是否有權限 acquire():獲得一個信號,阻塞線程,可被中斷 release():釋放一個信號 acquireUninterruptibly():獲得一個

原创 Python 15個編程技巧

1、 同時給多個變量賦值 a, b, c = 1, 2, 3 print(a, b, c) # 用*讓一個變量接收多個值 a, *b = 1, 2, 3 print(a, b) 輸出: 1 2 3 1 [2, 3] 2、變量交

原创 Caffeine緩存框架使用

介紹 Caffeine是基於jdk 1.8 Version的高性能緩存庫。Caffeine提供的內存緩存使用參考Google guava的API。Caffeine是基於Google Guava Cache設計經驗上改進的成果。 C

原创 JAVA實現代理模式的3種方式

什麼是代理模式 代理模式是項目中常用的一種設計模式。提供了間接訪問目標對象的一種方式;即通過代理對象訪問目標對象。 這樣做的好處是,可以在不改變原有目標對象的基礎上,對目標對象增加額外的擴展功能。 代理模式又分爲靜態代理、jdk動

原创 使用Http連接池發起遠程調用

說明 http請求是目前系統間接口調用最常用的一種方式。 在java中,http請求有很多中方式,httpClient是目前比較常用的一種方式,使用起來也比較簡單。 但是,創建一個httpClient是比較耗時的過程。爲提高性能,

原创 使用攔截器防止表單重複提交

業務場景介紹 web系統經常會出現用戶在頁面上快速點擊多次提交按鈕(或者重複刷新頁面),在後臺會連續接收多次請求,除了第一次外,其他的相同請求就是重複提交。 如何避免頁面重複提交呢,正常有以下幾種方法: 前臺控制:點擊後,使用j

原创 Web自動打印方案 Lodop

說明 由於瀏覽器安全限制,直接在js中調用window.print() 只能彈出打印預覽窗口,無法自動調用打印機進行打印。 在許多業務場景下,希望能夠做到自動調用打印機打印,無需人工干預。 Lodop通過本地驅動和瀏覽器控件相結合

原创 使用nacos作爲服務註冊中心和配置中心

一、下載安裝 說明 Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。 Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平臺。

原创 java線程池使用詳解

創建線程是一個耗資源的過程。創建大連線程會導致系統內存溢出。 所以爲了更合理使用線程,通常我們使用線程池在解決 一、簡單使用 jdk提供一個工具類Executors可以方便創建線程池 //核心線程0,最新線程Integer.MAX

原创 使用阿里雲TTS實現web語音播報

一、開通阿里雲TTS服務 登錄阿里雲,選擇菜單:產品->人工智能->語音合成 點擊“申請開通”,然後在“管理控制檯”創建一個項目 複製 appkey 注意,token只有1天有效,所以需要通過接口去定時獲取 二、對接語音合成a

原创 Redis key過期監聽

說明 redis key過期監聽實際上是監聽的(__keyevent@*__:expired)這個topic。 在使用redis key 過期通知一定要 開啓key過期通知功能。 開啓過期通知功能 編輯/etc/redis/redi

原创 Spring Session 使用

說明 在集羣環境中,需要共享用戶的session,保證用戶在一個節點登錄後,跳轉到另外的節點也是處於登錄狀態。 spring session默認將用戶的session存儲在redis中 引入依賴 <dependency> <grou

原创 oracle鏈接數查詢修改

查看連接數(process)配置 select value from v$parameter where name='processes'; 或 show parameter processes 查看當前連接數(process)

原创 oracle數據庫內存調整

調整內存大小 用dba身份進入oracle,(sqlplus sys/密碼 as sysdba): --顯示內存分配情況 show parameter sga; --修改佔用內存的大小 alter system set sga_max