原创 QT中利用QTimer做延時功能
原理 做延遲功能可以充分利用 QTimer 的 timeout 超時特性來做,當QTimer超時時會觸發超時的信號,我們可以利用這個信號來連接槽函數來做業務操作。 首先在頭文件(.h文件)聲明 QTimer public: QT
原创 Java虛擬機類加載機制中的ClassLoader類加載器詳解以及如何自定義ClassLoader類加載器
文章目錄1、Java虛擬機的類加載機制概述2、Java虛擬機中的類加載器2.1、查看類加載器加載的路徑2.1.1、查看啓動類加載器2.1.2、查看擴展類加載器3、類加載器之間的關係3.1、每個類加載器都有一個父加載器3.2、父加載
原创 從Spring 3.x 升級到 Spring 4.x後,Spring-asm包衝突問題
在項目中,將 Spring 的版本,從3.x升級到4.x後,出現下面問題: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to rea
原创 Spring整合Mybatis — 配置文件方式
文章目錄1、配置數據源2、配置 Mybatis2.1、配置 mybatis 的配置文件2.2、配置 Mapper 接口2.3、配置 mapper.xml2.4、配置 Mybatis 的 SqlSessionFactory2.5、配
原创 推薦一個尋找rpm包的網站
https://koji.fedoraproject.org/koji/ 在右上角Search的時候,只需要輸入不帶版本號的包名即可,如果輸入了版本號,有可能找不到。
原创 Java讀取證書的兩種方式
關於證書基礎以及創建、查看、刪除、導入、導出以及其他功能詳解請參照:Java使用keytool創建CA證書 Java讀取證書有兩種方式 1.從文件中讀取 public static void main(String[] args)
原创 Java多線程交叉打印ABABAB,一個線程打印A,一個線程打印B
在Java中想要完成此功能有好幾種方法都可以實現,這篇文章主要使用 wait 和 notifyAll 方法。 具體需求爲: 要求先打印字符 A ,再打印字符 B ,完了再打印字符 A …如此循環下去,要求格式爲:ABABABABA
原创 Java中進入wait狀態的線程被喚醒後會接着上次執行的地方往下執行還是會重新執行臨界區的代碼
Java中進入wait狀態的線程被喚醒後會接着上次執行的地方往下執行還是會重新執行臨界區的代碼 用一個例子來說明: 例子原理 啓動一個線程A打印數字,從0打印到9,在數字等於5的時候,進入wait狀態。在線程A啓動後等待兩秒,然後
原创 Linux Shell自動交互 — expect
expect是一個免費的編程工具,用來實現自動的交互式任務,而無需人爲干預。 注意:在使用之前需要安裝 expect 1、expect基礎 在使用 expect 時,我們基本是操作下面幾個命令: 命令 作用說明
原创 Linux打包壓縮解壓縮命令總結
.tar.gz 壓縮:tar zcvf FileName.tar.gz DirName 解壓:tar zxvf FileName.tar.gz .tar.bz2 壓縮:tar jcvf FileName.tar.bz2 DirNa
原创 Spring boot+Shiro身份認證失敗返回JSON,不跳轉頁面
文章目錄前言步驟1、重寫FormAuthenticationFilter2、註冊自定義過濾器 前言 shiro在進行身份認證時,如果失敗了,默認會跳轉到Web工程根目錄下的"/login.jsp"頁面,如果在配置類中配置了這句話:
原创 JSP頁面中的EL表達式不被解析的解決方案
背景 在jsp頁面中使用EL表達式,但是出現不被解析或者亂碼的情況,例如 1、$ {massase} 在頁面上顯示就是$ {massase},沒有拿到確切的值。 2、${pageContext.request.contextPat
原创 填坑!Linux安裝Mysq後支持遠程登錄
新裝的Mysql或者MariaDB默認是不支持遠程登錄的,只有localhost才能訪問。 先來看看爲什麼默認只有localhost才能訪問。 如果我們查詢‘mysql’這個內置的數據庫的user表(數據庫安裝完成後默認會生成一個
原创 Spring學習總結(一)- Spring的核心特性之依賴注入(DI)總結
文章目錄1、Spring容器1.1、使用應用上下文2、裝配Bean2.1、自動化裝配bean2.1.1、創建可被發現的bean2.1.2、@ComponentScan註解啓用組件掃描2.1.3、爲組件掃描的bean命名2.1.4、
原创 Java 命令行執行工具
import java.io.*; /** * 命令行執行工具 * info 命名執行後的輸出(包含錯誤信息) */ public class ProcessUtil { private StringBuffer