原创 MyBatis的${ }與#{ }有區別

1、#{  }是預編譯處理,MyBatis在處理#{  }時,它會將sql中的#{  }替換爲?,然後調用PreparedStatement的set方法來賦值,傳入字符串後,會在值兩邊加上單引號; 2、${  }是字符串替換, MyBat

原创 redis緩存穿透、緩存雪崩、緩存擊穿概念說明

1.緩存穿透 key對應的數據在數據源不存在,每次查詢從緩存獲取不到數據,都要從數據庫中查詢,可能會壓垮數據庫。比如利用工具大批量製造數據去請求。 2.緩存擊穿 key對應的數據在數據庫中存在,但是在緩存中過期,此時如果大批量的請求過來,

原创 自定義lambda表達式函數式編程

1.接口上標明註解 @FunctionalInterface public interface MessageFac { boolean empty(String str); } 注意:接口裏面只能生命一個抽象方法,否則會報錯

原创 linux中命令關閉防火牆

輸入命令:sudo ufw disable 根據提示,輸入密碼,顯示關閉成功

原创 js快速判斷對象裏的每個值是不是空

我們在做前端開發的時候,會遇到有輸入很多的查詢條件,然後去後臺查詢數據,有時候對查詢條件沒有任何限制,但有的時候遇到特殊的情況,需要查詢的條件不能爲空,至少要輸入一個條件。有什麼方法可以快速判斷獲取到的對象裏面是不是不全爲空呢?只有兩三個

原创 HashMap初始化長度設置大小

HashMap的優化點,創建HashMap時,如果已經知道大概要放多少的數據量,可以自己設置好長度,減少擴容,提高速度。 代碼比較,存放3個數。 不設置初始化大小 private static void test1(){ long

原创 jenkins環境搭建部署

1.下載jenkins.war包。下載地址:https://download.csdn.net/download/dhj199181/11965792 2.將war包放到tomcat的webapps目錄下,然後啓動bin下面的startu

原创 ArrayUtils和Arrays比較常用的方法推薦

Arrays屬於rt.jar中java.util包下面的類,不需要引入其他外部jar,而ArrayUtils屬於commons-lang.jar中org.apache.commons.lang3包下下面的類,要想使用此類需要引入包。 一.

原创 Lambda表達式創建線程

1.傳統方式創建一個線程 /** * 傳統方式 */ private static void thread01(){ new Thread(new Runnable() { @Override pub

原创 ireport子模板使用

ireport子模板使用

原创 @WebListener 不起作用

分享一下今天遇到在監聽器上面加註解@WebListener不起作用的問題 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/

原创 java多線程交替打印兩個數

方法1,使用wait和notify package com.thread; public class T01 { public static void main(String[] args) { char[] char1 =

原创 linux遠程上傳和下載文件

1.將本文件上傳到遠程服務器 scp 本地文件路徑 遠程服務器用戶名@IP:遠程文件目錄 2.從遠程服務器下載文件命令 scp 遠程服務器用戶名@IP:遠程文件目錄 本地文件存放路徑注意:在上傳和下載文件過程中都會提示輸入遠程服務器的密碼

原创 linux下安裝和配置jdk

1.jdk下載地址:https://www.oracle.com/java/technologies/javase-downloads.html 當然也可以自己去其它地方下載 2.上傳至遠程linux服務器,可使用xftp或者遠程上傳命令

原创 linux普通用戶切換到管理員

輸入命令:sudo -i,然後根據提示輸入密碼,即可切換到root用戶