原创 SpringBoot日誌logback-spring.xml分環境

springboot按照profile進行打印日誌 log4j logback slf4j區別? 首先談到日誌,我們可能聽過log4j logback slf4j這三個名詞,那麼它們之間的關係是怎麼樣的呢?SLF4J,即簡單日誌

原创 Spring中的Scope

spring Framework支持五種作用域(其中有三種只能用在基於web的SpringApplicationContext)。 singleton 在每個Spring IoC容器中一個bean定義對應一個對象實例。

原创 Java集合之ArrayList源碼分析

閱讀目錄 一、ArrayList簡介二、ArrayList源碼分析三、ArrayList遍歷方式 回到頂部 一、ArrayList簡介   ArrayList是可以動態增長和縮減的索引序列,它是基於數組實現的List類。   該類封

原创 SpringBoot-ErrorController

Springboot默認的錯誤處理 SpringBoot源代碼中有這樣一個ErrorController,針對SpringMvc錯誤的Mapping進行處理,很多的時候我們寫了一個Controller,在瀏覽器上訪問的時候經常會出

原创 ApplicationListener事件之EmbeddedServletContainerInitializedEvent之介紹

ApplicationListener事件 有時候需要在項目初始化的時候進行一系列工作,比如初始化一個線程池,初始化配置文件,初始化緩存等等,這時候就需要用到啓動監聽器,applicationListener在使用過程中可以監聽

原创 SpringBoot切換數據庫連接池

數據庫連接池負責分配、管理和釋放數據庫連接,它允許應用程序重複使用一個現有的數據庫連接,而不是再重新建立一個;釋放空閒時間超過最大空閒時間的數據庫連接來避免因爲沒有釋放數據庫連接而引起的數據庫連接遺漏。這項技術能明顯提高對數據庫

原创 spring StopWatch 監控請求執行時間

在filter中用spring stopWatch 來統計每個請求的執行時間; 雖然在firefox 中可以清楚的看到每個請求的執行時間,但是爲了測試,記錄日誌, 方便以後查詢維護。 還是必要的,下面進入正題: 在filter 的doF

原创 設計模式1-策略模式1

策略模式的定義 策略模式是一種行爲模式,目的就是將我們的行爲策略進行分離,提供可供選擇的不同的策略。讓我們在客戶端用使他們可以相互替換、相互調用而不受其他影響。 策略模式的好處 策略模式的好處就是使我們開發人員能夠設計出許多可以替

原创 ssh登陸Linux

常用格式:ssh [-l login_name] [-p port] [user@]hostname 例子: 不指定用戶: ssh 23.23.187.23 指定用戶名(2種方式): ssh -l root 23.23.1

原创 Spring RestTemplate返回Body爲空

Spring RestTemplate返回的getBody爲null問題Spring RestTemplate請求返回的body內容爲null Spring RestTemplate請求返回的body內容爲null 1.最近在項目中遇

原创 Java內存模型

1. 概述  多任務和高併發是衡量一臺計算機處理器的能力重要指標之一。一般衡量一個服務器性能的高低好壞,使用每秒事務處理數(Transactions Per Second,TPS)這個指標比較能說明問題,它代表着一秒內服務器平均能響應的請

原创 thymeleaf例子

   今天第一次使用thymeleaf模板,確實使用起來比較方便,thymeleaf是一個支持html原型的自然引擎,Thymeleaf提供了一個用於整合Spring MVC的可選模塊。關於thymeleaf的詳細語法:點擊打開鏈接</s

原创 curl進行REST服務請求

cURL介紹 cURL 是很方便的Rest客戶端,可以很方便的完成許多Rest API測試的需求,甚至,如果是需要先登入或認證的rest api,也可以進行測試,利用curl指令,可以送出HTTP GET, POST, PUT, DELE

原创 Java併發編程-重入鎖

重入鎖    重入是是對synchronized的一個增強版本,因爲synchronized是阻塞的。很容易導致死鎖。重入鎖在我們日常使用中比較靈活,能夠很好的控制,性能比較synchronized好。    重入鎖使用java.util

原创 JVM類加載過程實例分析

代碼1 public class T { public static void main(String[] args) { System.out.println(Single.counter1);