原创 shiro登錄,多個項目session被覆蓋問題

有兩個項目都使用了shiro權限校驗框架,且部署在一臺服務器下兩個Tomcat中。 測試時發現在一個瀏覽器中,登錄A後,再登錄B。這時A失效,需要重新登錄,且登錄後B又失效。 查看log後發現是cookieId相同的原因。 先排查tom

原创 集合類-List

List接口簡介 List中的元素是有序的、可以重複並且可以爲null,一般推薦使用ArrayList實現類。 1. 父類 List接口繼承自Collection接口,並新增了操作方法,如下表: 方法 Collection L

原创 Python學習3-數據類型

Python定義變量時並不需要指定數據類型,但實際使用還是區分不同類型的。比如接口調用的參數,最好在正式業務邏輯前都做數據類型的判斷。 基本的數據類型 整數 Python支持任意長度的正負整數,寫法和數學中的寫法一樣且運算永遠是精確的

原创 Python學習2-程序編輯和運行

上一章已經學習了安裝和運行代碼行輸出“hello world!”。這裏繼續學習程序的編輯和運行。 python可以用兩種方式運行程序:直接在python交互環境運行代碼; 將程序寫入文件,執行文件。 Python交互環境運行 直接在

原创 spring中注入屬性文件中的值

方法1: 1、屬性文件配置 <!-- 獲取properties中的值 --> <bean id="configProperties" class="org.springframework.beans.factory.config.

原创 Python學習5-基礎語法

學了前面四章後,感覺有些常用的語法還是不太瞭解,這裏學習總結一下。 變量函數聲明 第一個字符必須是字母或下劃線’_’,其他的部分可以有數字,對大小寫敏感。 註釋 Python中單行註釋以 # 開頭,如下: # -*- codi

原创 集合類-Map

Map存儲鍵值對形勢的數據,保存的元素總是成對出現的。鍵不能重複,值可以重複。 繼承關係 Map沒有父接口,不是繼承自Collection。 Map下有HashMap、HashTable、WeakHashMap、Ident

原创 mqtt消息推送-Mosquitto安裝

服務器操作系統爲CentOS7。 添加yum源 1、在服務器下載並重命名。 http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-7/hom

原创 Python學習4-流程控制

條件判斷和循環是流程控制的主要組成部分,也是我們日常編碼過程的比較常用到的功能。 1.條件判斷 Python程序中,用if語句做條件判斷,if後面跟 空格+條件判斷語句+冒號,換行後縮進寫入條件判斷爲True時執行邏輯內容,可以使用

原创 集合類-Set

Set中每個元素都是唯一的,並且不保證插入元素的順序。 1. 父接口 Set繼承了Collection接口,並且具有父接口的所有方法。 2. 實現類 Set下有TreeSet、HashSet實現類,HashSet下有Linke

原创 Python學習7-模塊的定義和引用

已經學習了Python的基本語法,執行示例時由於代碼比較少,並不會存在什麼問題。如果業務邏輯比較複雜,代碼行比較多,這樣寫到一個文件中,會不容易維護,也不方便以後重用。還好,python和其他語言一樣引入了模塊概念。把具有相似功能的函數

原创 Python學習1-安裝和Hello world

Python分爲2.X和3.X兩種版本,兩個版本之間不兼容。2.X性能方面比3.X好,但是3.X優化了語法,添加了新性能。現在兩個版本都有在更新,用什麼版本就看個人的選擇了。 在Windows下安裝Python: 下載。 官網地址

原创 mqtt消息推送-推送服務簡單實現

上一章已經部署了mosquito服務器。這裏實現一個簡單的推送服務功能。主要包括兩個部分。一個上傳推送消息的API接口。連接mosquito並推送消息的服務。 簡單的例子可以使用springboot快速開發,使用默認配置即可。 新建

原创 log4j2使用

項目做了次升級,由log4j升級到了log4j2,記錄一下基本的配置。 1. 引入Jar包 <dependency> <groupId>org.apache.logging.log4j</groupId> <arti

原创 靜態多層Map緩存清除

最近重構項目遇到一個問題。一個本地緩存的Map凌晨定時清除數據,但好幾天了都沒清除。內存累加,執行500W的數據會增長將近2.86G的內存,雖然暫時服務器還夠用,不過感覺總有一天會掛掉。 啓動時內存佔用: PID USER PR